Daniel Lemire's blog

, 8 min read

Index for Year 2023

  1. 2023-01-04: Emojis in domain names, punycode and performance   🗪
  2. 2023-01-05: Transcoding Unicode with AVX-512: AMD Zen 4 vs. Intel Ice Lake   🗪
  3. 2023-01-12: Care is needed to use C++ std::optional with non-trivial objects   🗪
  4. 2023-01-15: Science and technology links (January 15 2023)   🗪
  5. 2023-01-15: Year 2022: Scientific progress   🗪
  6. 2023-01-23: International domain names: where does https://meßagefactory.ca lead you?   🗪
  7. 2023-01-30: Move or copy your strings? Possible performance impacts   🗪
  8. 2023-02-01: Serializing IPs quickly in C++   🗪
  9. 2023-02-07: Bit Hacking (with Go code)   🗪
  10. 2023-02-12: Science and Technology links (February 12 2023)   🗪
  11. 2023-02-16: Computing the UTF-8 size of a Latin 1 string quickly (AVX edition)   🗪
  12. 2023-02-27: Regular Visual Studio versus ClangCL   🗪
  13. 2023-03-01: ARM vs Intel on Amazon´s cloud: A URL Parsing Benchmark   🗪
  14. 2023-03-03: Float-parsing benchmark: Regular Visual Studio, ClangCL and Linux GCC   🗪
  15. 2023-03-10: Trimming spaces from strings faster with SVE on an Amazon Graviton 3 processor   🗪
  16. 2023-03-11: Science and Technology links (March 11 2023)   🗪
  17. 2023-03-15: Precision, recall and why you shouldn´t crank up the warnings to 11   🗪
  18. 2023-03-15: Runtime asserts are not free   🗪
  19. 2023-03-21: Counting cycles and instructions on ARM-based Apple systems   🗪
  20. 2023-03-22: Can GPT pass my programming courses?   🗪
  21. 2023-03-27: C++20: consteval and constexpr functions   🗪
  22. 2023-04-03: What are we going to do about ChatGPT?   🗪
  23. 2023-04-06: Are your memory-bound benchmarking timings normally distributed?   🗪
  24. 2023-04-07: Programming-language popularity by GitHub pull requests   🗪
  25. 2023-04-12: 19 random digits is not enough to uniquely identify all human beings   🗪
  26. 2023-04-12: Consider using constexpr static function variables for performance in C++   🗪
  27. 2023-04-12: Science and Technology links (April 11 2023)   🗪
  28. 2023-04-14: Interfaces are not free in Go   🗪
  29. 2023-04-15: Science and Technology links (April 15 2023)   🗪
  30. 2023-04-18: Defining interfaces in C++ with `concepts´ (C++20)   🗪
  31. 2023-04-20: Defining interfaces in C++: concepts versus inheritance   🗪
  32. 2023-04-21: Will emerging artificial intelligence boost research productivity?   🗪
  33. 2023-04-22: Science and Technology links (April 22 2023)   🗪
  34. 2023-04-26: Vectorized trimming of line comments   🗪
  35. 2023-04-27: Hotspot performance engineering fails   🗪
  36. 2023-04-29: Science and Technology links (April 29 2023)   🗪
  37. 2023-05-01: Under Linux, libSegFault and addr2line are underrated   🗪
  38. 2023-05-03: Graviton 3, Apple M2 and Qualcomm 8cx 3rd gen: a URL parsing benchmark   🗪
  39. 2023-05-06: Science and Technology links (May 6 2023)   🗪
  40. 2023-05-12: ARM instructions do “less work”?   🗪
  41. 2023-05-15: Computing the UTF-8 size of a Latin 1 string quickly (ARM NEON edition)   🗪
  42. 2023-05-19: The absurd cost of finalizers in Go   🗪
  43. 2023-05-26: Expected performance of a Bloom filter   🗪
  44. 2023-06-01: Peak credentialism   🗪
  45. 2023-06-03: Science and Technogy links (June 3 2023)   🗪
  46. 2023-06-08: Parsing IP addresses crazily fast   🗪
  47. 2023-06-11: Science and Technology links (June 11 2023)   🗪
  48. 2023-06-14: Citogenesis in science and the importance of real problems   🗪
  49. 2023-06-25: Science and Technology links (June 25 2023)   🗪
  50. 2023-06-29: Dynamic bit shuffle using AVX-512   🗪
  51. 2023-07-01: Parsing time stamps faster with SIMD instructions   🗪
  52. 2023-07-05: Having fun with string literal suffixes in C++   🗪
  53. 2023-07-07: Packing a string of digits into an integer quickly   🗪
  54. 2023-07-08: Stealth, not secrecy   🗪
  55. 2023-07-14: Recognizing string prefixes with SIMD instructions   🗪
  56. 2023-07-16: Science and Technology links (July 16 2023)   🗪
  57. 2023-07-20: Fast decoding of base32 strings   🗪
  58. 2023-07-24: Science and Technology links (July 23 2023)   🗪
  59. 2023-07-27: Decoding base16 sequences quickly   🗪
  60. 2023-08-06: Science and Technology links (August 6 2023)   🗪
  61. 2023-08-10: Coding of domain names to wire format at gigabytes per second   🗪
  62. 2023-08-12: Transcoding UTF-8 strings to Latin 1 strings at 18 GB/s using AVX-512   🗪
  63. 2023-08-15: How accurate is the birthday´s paradox formula?   🗪
  64. 2023-08-18: Transcoding Latin 1 strings to UTF-8 strings at 18 GB/s using AVX-512   🗪
  65. 2023-09-02: Science and Technology links (September 2 2023)   🗪
  66. 2023-09-04: Locating `identifiers´ quickly (ARM NEON edition)   🗪
  67. 2023-09-13: Transcoding Unicode strings at crazy speeds with AVX-512   🗪
  68. 2023-09-22: Parsing integers quickly with AVX-512   🗪
  69. 2023-10-07: Web server `hello world´ benchmark : Go vs Node.js vs Nim vs Bun   🗪
  70. 2023-10-17: Randomness in programming (with Go code)   🗪
  71. 2023-10-18: How many billions of transistors in your iPhone processor?   🗪
  72. 2023-10-19: For processing strings, streams in C++ can be slow   🗪
  73. 2023-10-23: Appending to an std::string character-by-character: how does the capacity grow?   🗪
  74. 2023-11-07: Generating arrays at compile-time in C++ with lambdas   🗪
  75. 2023-11-12: Science and Technology links (November 12 2023)   🗪
  76. 2023-11-25: A simple WebSocket benchmark in JavaScript: Node.js versus Bun   🗪
  77. 2023-11-28: A simple WebSocket benchmark in Python   🗪
  78. 2023-11-28: Parsing 8-bit integers quickly   🗪
  79. 2023-12-05: How fast can you validate UTF-8 strings in JavaScript?   🗪
  80. 2023-12-08: Fast Buffer-to-String conversion in JavaScript with a Lookup Table   🗪