41554 blogs · [ { "id": "01a0bb65-0110-72a4-adbd-b08682c21b16", "title": "How fast can you validate UTF-8 strings in JavaScript?", "url": "https://lemire.me/blog/2023/12/05/how-fast-can-you-validate-utf-8-strings-in-javascript/", "published_at": "2023-12-05T22:23:52+00:00" }, { "id": "01a0bb65-0110-72a4-adbd-b08683773014", "title": "Parsing 8-bit integers quickly", "url": "https://lemire.me/blog/2023/11/28/parsing-8-bit-integers-quickly/", "published_at": "2023-11-28T20:17:17+00:00" }, { "id": "01a0bb65-0110-72a4-adbd-b08683c7746f", "title": "A simple WebSocket benchmark in Python", "url": "https://lemire.me/blog/2023/11/28/a-simple-websocket-benchmark-in-python/", "published_at": "2023-11-28T00:16:12+00:00" }, { "id": "01a0bb65-0110-72a4-adbd-b086843a2220", "title": "A simple WebSocket benchmark in JavaScript: Node.js versus Bun", "url": "https://lemire.me/blog/2023/11/25/a-simple-websocket-benchmark-in-javascript-node-js-versus-bun/", "published_at": "2023-11-25T19:04:20+00:00" }, { "id": "01a0bb65-0110-72a4-adbd-b086849473e9", "title": "Science and Technology links (November 12 2023)", "url": "https://lemire.me/blog/2023/11/12/science-and-technology-links-november-12-2023/", "published_at": "2023-11-12T18:42:15+00:00" }, { "id": "01a0bb65-0110-72a4-adbd-b086857abf6d", "title": "Generating arrays at compile-time in C++ with lambdas", "url": "https://lemire.me/blog/2023/11/07/generating-arrays-at-compile-time-in-c-with-lambdas/", "published_at": "2023-11-07T20:54:12+00:00" }, { "id": "01a0bb6a-bc2e-72d5-bdcb-0131bb7f3d57", "title": "Appending to an std::string character-by-character: how does the capacity grow?", "url": "https://lemire.me/blog/2023/10/23/appending-to-an-stdstring-character-by-character-how-does-the-capacity-grow/", "published_at": "2023-10-23T13:33:37+00:00" }, { "id": "01a0bb6a-bc2e-72d5-bdcb-0131bc01fe1d", "title": "For processing strings, streams in C++ can be slow", "url": "https://lemire.me/blog/2023/10/19/for-processing-strings-streams-in-c-can-be-slow/", "published_at": "2023-10-19T01:55:34+00:00" }, { "id": "01a0bb6a-bc2e-72d5-bdcb-0131bc1fa3a2", "title": "How many billions of transistors in your iPhone processor?", "url": "https://lemire.me/blog/2023/10/18/how-many-billions-of-transistors-in-your-iphone-processor/", "published_at": "2023-10-18T13:51:28+00:00" }, { "id": "01a0bb6a-bc2e-72d5-bdcb-0131bd0ae963", "title": "Randomness in programming (with Go code)", "url": "https://lemire.me/blog/2023/10/17/randomness-in-programming-with-go-code/", "published_at": "2023-10-17T00:15:32+00:00" }, { "id": "01a0bb6a-bc2e-72d5-bdcb-0131bdaac662", "title": "Web server ‘hello world’ benchmark : Go vs Node.js vs Nim vs Bun", "url": "https://lemire.me/blog/2023/10/07/web-server-hello-world-benchmark-go-vs-node-js-vs-nim-vs-bun/", "published_at": "2023-10-07T05:43:25+00:00" }, { "id": "01a0bb6a-bc2e-72d5-bdcb-0131be07f91a", "title": "Parsing integers quickly with AVX-512", "url": "https://lemire.me/blog/2023/09/22/parsing-integers-quickly-with-avx-512/", "published_at": "2023-09-22T21:50:14+00:00" }, { "id": "01a0bb6a-bc2e-72d5-bdcb-0131bea2437f", "title": "Transcoding Unicode strings at crazy speeds with AVX-512", "url": "https://lemire.me/blog/2023/09/13/transcoding-unicode-strings-at-crazy-speeds-with-avx-512/", "published_at": "2023-09-13T16:00:30+00:00" }, { "id": "01a0bb6a-bc2e-72d5-bdcb-0131beae5511", "title": "Locating ‘identifiers’ quickly (ARM NEON edition)", "url": "https://lemire.me/blog/2023/09/04/locating-identifiers-quickly-arm-neon-edition/", "published_at": "2023-09-04T00:46:18+00:00" }, { "id": "01a0bb6a-bc2e-72d5-bdcb-0131bf9dd34f", "title": "Science and Technology links (September 2 2023)", "url": "https://lemire.me/blog/2023/09/02/science-and-technology-links-september-2-2023/", "published_at": "2023-09-02T18:30:10+00:00" }, { "id": "01a0bb6a-bc2e-72d5-bdcb-0131c0071f49", "title": "Transcoding Latin 1 strings to UTF-8 strings at 18 GB/s using AVX-512", "url": "https://lemire.me/blog/2023/08/18/transcoding-latin-1-strings-to-utf-8-strings-at-12-gb-s-using-avx-512/", "published_at": "2023-08-18T18:17:42+00:00" }, { "id": "01a0bb6a-bc2e-72d5-bdcb-0131c101610e", "title": "How accurate is the birthday’s paradox formula?", "url": "https://lemire.me/blog/2023/08/15/how-accurate-is-the-birthdays-paradox-formula/", "published_at": "2023-08-15T17:28:53+00:00" }, { "id": "01a0bb6a-bc2e-72d5-bdcb-0131c105d18e", "title": "Transcoding UTF-8 strings to Latin 1 strings at 18 GB/s using AVX-512", "url": "https://lemire.me/blog/2023/08/12/transcoding-utf-8-strings-to-latin-1-strings-at-12-gb-s-using-avx-512/", "published_at": "2023-08-12T01:18:50+00:00" }, { "id": "01a0bb6a-bc2e-72d5-bdcb-0131c15fb670", "title": "Coding of domain names to wire format at gigabytes per second", "url": "https://lemire.me/blog/2023/08/10/coding-of-domain-names-to-wire-format-at-gigabytes-per-second/", "published_at": "2023-08-10T02:02:57+00:00" }, { "id": "01a0bb6a-bc2e-72d5-bdcb-0131c1defdcb", "title": "Science and Technology links (August 6 2023)", "url": "https://lemire.me/blog/2023/08/06/science-and-technology-links-august-6-2023/", "published_at": "2023-08-06T20:43:06+00:00" }, { "id": "01a0bb6a-bc2e-72d5-bdcb-0131c1f2bcda", "title": "Decoding base16 sequences quickly", "url": "https://lemire.me/blog/2023/07/27/decoding-base16-sequences-quickly/", "published_at": "2023-07-27T16:53:57+00:00" }, { "id": "01a0bb6a-bc2e-72d5-bdcb-0131c253cf37", "title": "Science and Technology links (July 23 2023)", "url": "https://lemire.me/blog/2023/07/24/science-and-technology-links-july-23-2023/", "published_at": "2023-07-24T02:14:57+00:00" }, { "id": "01a0bb6a-bc2e-72d5-bdcb-0131c286592b", "title": "Fast decoding of base32 strings", "url": "https://lemire.me/blog/2023/07/20/fast-decoding-of-base32-strings/", "published_at": "2023-07-20T23:26:24+00:00" }, { "id": "01a0bb6a-bc2e-72d5-bdcb-0131c31e1344", "title": "Science and Technology links (July 16 2023)", "url": "https://lemire.me/blog/2023/07/16/science-and-technology-links-july-16-2023/", "published_at": "2023-07-16T18:00:20+00:00" }, { "id": "01a0bb6a-bc2e-72d5-bdcb-0131c3863a0b", "title": "Recognizing string prefixes with SIMD instructions", "url": "https://lemire.me/blog/2023/07/14/recognizing-string-prefixes-with-simd-instructions/", "published_at": "2023-07-14T03:11:02+00:00" }, { "id": "01a0bb6a-bc2e-72d5-bdcb-0131c427b54a", "title": "Stealth, not secrecy", "url": "https://lemire.me/blog/2023/07/08/stealth-not-secrecy/", "published_at": "2023-07-08T16:43:46+00:00" }, { "id": "01a0bb6a-bc2e-72d5-bdcb-0131c4e4d7fb", "title": "Packing a string of digits into an integer quickly", "url": "https://lemire.me/blog/2023/07/07/packing-a-string-of-digits-into-an-integer-quickly/", "published_at": "2023-07-07T17:19:34+00:00" }, { "id": "01a0bb6a-bc2e-72d5-bdcb-0131c5554b2b", "title": "Having fun with string literal suffixes in C++", "url": "https://lemire.me/blog/2023/07/05/having-fun-with-string-literal-suffixes-in-c/", "published_at": "2023-07-05T21:38:25+00:00" }, { "id": "01a0bb6a-bc2e-72d5-bdcb-0131c5a0a7d6", "title": "Parsing time stamps faster with SIMD instructions", "url": "https://lemire.me/blog/2023/07/01/parsing-time-stamps-faster-with-simd-instructions/", "published_at": "2023-07-01T21:38:06+00:00" }, { "id": "01a0bb6a-bc2e-72d5-bdcb-0131c68f66dd", "title": "Dynamic bit shuffle using AVX-512", "url": "https://lemire.me/blog/2023/06/29/dynamic-bit-shuffle-using-avx-512/", "published_at": "2023-06-29T15:59:01+00:00" }, { "id": "01a0bb6a-bc2e-72d5-bdcb-0131c78036ec", "title": "Science and Technology links (June 25 2023)", "url": "https://lemire.me/blog/2023/06/25/science-and-technology-links-june-25-2023/", "published_at": "2023-06-25T17:32:56+00:00" }, { "id": "01a0bb6a-bc2e-72d5-bdcb-0131c81bac03", "title": "Citogenesis in science and the importance of real problems", "url": "https://lemire.me/blog/2023/06/14/citogenesis-in-science-and-the-importance-of-real-problems/", "published_at": "2023-06-14T10:05:44+00:00" }, { "id": "01a0bb6a-bc2e-72d5-bdcb-0131c85f4f20", "title": "Science and Technology links (June 11 2023)", "url": "https://lemire.me/blog/2023/06/11/science-and-technology-links-june-11-2023/", "published_at": "2023-06-11T19:45:32+00:00" }, { "id": "01a0bb6a-bc2e-72d5-bdcb-0131c8cb8e31", "title": "Parsing IP addresses crazily fast", "url": "https://lemire.me/blog/2023/06/08/parsing-ip-addresses-crazily-fast/", "published_at": "2023-06-08T20:47:56+00:00" }, { "id": "01a0bb6a-bc2e-72d5-bdcb-0131c90ab574", "title": "Science and Technogy links (June 3 2023)", "url": "https://lemire.me/blog/2023/06/03/science-and-technogy-links-june-3-2023/", "published_at": "2023-06-03T20:41:56+00:00" }, { "id": "01a0bb6a-bc2e-72d5-bdcb-0131c96a72d4", "title": "Peak credentialism", "url": "https://lemire.me/blog/2023/06/01/peak-credentialism/", "published_at": "2023-06-01T16:40:15+00:00" }, { "id": "01a0bb6a-bc2e-72d5-bdcb-0131c9acc802", "title": "Expected performance of a Bloom filter", "url": "https://lemire.me/blog/2023/05/26/expected-performance-of-a-bloom-filter/", "published_at": "2023-05-26T20:36:04+00:00" }, { "id": "01a0bb6a-bc2e-72d5-bdcb-0131ca7d1162", "title": "The absurd cost of finalizers in Go", "url": "https://lemire.me/blog/2023/05/19/the-absurd-cost-of-finalizers-in-go/", "published_at": "2023-05-19T14:57:14+00:00" }, { "id": "01a0bb6a-bc2e-72d5-bdcb-0131cb03c1ca", "title": "Computing the UTF-8 size of a Latin 1 string quickly (ARM NEON edition)", "url": "https://lemire.me/blog/2023/05/15/computing-the-utf-8-size-of-a-latin-1-string-quickly-arm-neon-edition/", "published_at": "2023-05-15T15:46:20+00:00" }, { "id": "01a0bb6a-bc2e-72d5-bdcb-0131cb7e0ac7", "title": "ARM instructions do “less work”?", "url": "https://lemire.me/blog/2023/05/12/arm-instructions-do-less-work/", "published_at": "2023-05-12T15:56:11+00:00" }, { "id": "01a0bb6a-bc2e-72d5-bdcb-0131cc0d98aa", "title": "Science and Technology links (May 6 2023)", "url": "https://lemire.me/blog/2023/05/06/science-and-technology-links-may-6-2023/", "published_at": "2023-05-06T15:00:46+00:00" }, { "id": "01a0bb6a-bc2e-72d5-bdcb-0131ccdcb25b", "title": "Graviton 3, Apple M2 and Qualcomm 8cx 3rd gen: a URL parsing benchmark", "url": "https://lemire.me/blog/2023/05/03/graviton-3-apple-m2-and-qualcomm-8cx-3rd-gen-a-url-parsing-benchmark/", "published_at": "2023-05-03T15:22:35+00:00" }, { "id": "01a0bb6a-bc2e-72d5-bdcb-0131cd16072d", "title": "Under Linux, libSegFault and addr2line are underrated", "url": "https://lemire.me/blog/2023/05/01/under-linux-libsegfault-and-addr2line-are-underrated/", "published_at": "2023-05-01T20:16:41+00:00" }, { "id": "01a0bb6a-bc2e-72d5-bdcb-0131cd3ae311", "title": "Science and Technology links (April 29 2023)", "url": "https://lemire.me/blog/2023/04/29/science-and-technology-links-april-29-2023/", "published_at": "2023-04-29T22:16:55+00:00" }, { "id": "01a0bb6a-bc2e-72d5-bdcb-0131cdf12495", "title": "Hotspot performance engineering fails", "url": "https://lemire.me/blog/2023/04/27/hotspot-performance-engineering-fails/", "published_at": "2023-04-27T16:38:16+00:00" }, { "id": "01a0bb6a-bc2e-72d5-bdcb-0131ced62635", "title": "Vectorized trimming of line comments", "url": "https://lemire.me/blog/2023/04/26/vectorized-trimming-of-line-comments/", "published_at": "2023-04-26T01:51:22+00:00" }, { "id": "01a0bb6e-abed-7020-ae9d-c123267404bf", "title": "Science and Technology links (April 22 2023)", "url": "https://lemire.me/blog/2023/04/22/science-and-technology-links-april-22-2023/", "published_at": "2023-04-22T18:50:39+00:00" }, { "id": "01a0bb6e-abed-7020-ae9d-c12326dfbe3b", "title": "Will emerging artificial intelligence boost research productivity?", "url": "https://lemire.me/blog/2023/04/21/will-emerging-artificial-intelligence-boost-research-productivity/", "published_at": "2023-04-21T14:29:10+00:00" }, { "id": "01a0bb6e-abed-7020-ae9d-c12326f6fe46", "title": "Defining interfaces in C++: concepts versus inheritance", "url": "https://lemire.me/blog/2023/04/20/defining-interfaces-in-c-concepts-versus-inheritance/", "published_at": "2023-04-20T18:50:09+00:00" }, { "id": "01a0bb6e-abed-7020-ae9d-c123279b0291", "title": "Defining interfaces in C++ with ‘concepts’ (C++20)", "url": "https://lemire.me/blog/2023/04/18/defining-interfaces-in-c-with-concepts-c20/", "published_at": "2023-04-18T18:48:04+00:00" }, { "id": "01a0bb6e-abed-7020-ae9d-c12328592459", "title": "Science and Technology links (April 15 2023)", "url": "https://lemire.me/blog/2023/04/15/science-and-technology-links-april-15-2023/", "published_at": "2023-04-15T23:48:02+00:00" }, { "id": "01a0bb6e-abed-7020-ae9d-c12328e98b00", "title": "Interfaces are not free in Go", "url": "https://lemire.me/blog/2023/04/14/interfaces-are-not-free-in-go/", "published_at": "2023-04-14T17:13:42+00:00" }, { "id": "01a0bb6e-abed-7020-ae9d-c12328eee322", "title": "19 random digits is not enough to uniquely identify all human beings", "url": "https://lemire.me/blog/2023/04/12/19-random-digits-is-not-enough-to-uniquely-identify-all-human-beings/", "published_at": "2023-04-12T15:51:25+00:00" }, { "id": "01a0bb6e-abed-7020-ae9d-c12329193313", "title": "Consider using constexpr static function variables for performance in C++", "url": "https://lemire.me/blog/2023/04/12/consider-using-constexpr-static-function-variables-for-performance/", "published_at": "2023-04-12T14:10:18+00:00" }, { "id": "01a0bb6e-abed-7020-ae9d-c1232963ec26", "title": "Science and Technology links (April 11 2023)", "url": "https://lemire.me/blog/2023/04/12/science-and-technology-links-march-11-2023-2/", "published_at": "2023-04-12T02:31:37+00:00" }, { "id": "01a0bb6e-abed-7020-ae9d-c1232996d866", "title": "Programming-language popularity by GitHub pull requests", "url": "https://lemire.me/blog/2023/04/07/programming-language-popularity-by-github-pull-requests/", "published_at": "2023-04-07T17:04:54+00:00" }, { "id": "01a0bb6e-abed-7020-ae9d-c1232a38657c", "title": "Are your memory-bound benchmarking timings normally distributed?", "url": "https://lemire.me/blog/2023/04/06/are-your-memory-bound-benchmarking-timings-normally-distributed/", "published_at": "2023-04-06T20:38:57+00:00" }, { "id": "01a0bb6e-abed-7020-ae9d-c1232a4fd206", "title": "What are we going to do about ChatGPT?", "url": "https://lemire.me/blog/2023/04/03/what-are-we-going-to-do-about-chatgpt/", "published_at": "2023-04-03T21:21:10+00:00" }, { "id": "01a0bb6e-abed-7020-ae9d-c1232ab934ed", "title": "C++20: consteval and constexpr functions", "url": "https://lemire.me/blog/2023/03/27/c20-consteval-and-constexpr-functions/", "published_at": "2023-03-27T19:30:53+00:00" }, { "id": "01a0bb6e-abed-7020-ae9d-c1232b88dd3e", "title": "Can GPT pass my programming courses?", "url": "https://lemire.me/blog/2023/03/22/can-gpt-pass-my-programming-courses/", "published_at": "2023-03-22T18:55:31+00:00" }, { "id": "01a0bb6e-abed-7020-ae9d-c1232c56f013", "title": "Counting cycles and instructions on ARM-based Apple systems", "url": "https://lemire.me/blog/2023/03/21/counting-cycles-and-instructions-on-arm-based-apple-systems/", "published_at": "2023-03-21T21:49:24+00:00" }, { "id": "01a0bb6e-abed-7020-ae9d-c1232d399e21", "title": "Runtime asserts are not free", "url": "https://lemire.me/blog/2023/03/15/runtime-asserts-are-not-free/", "published_at": "2023-03-15T22:26:34+00:00" }, { "id": "01a0bb6e-abed-7020-ae9d-c1232da22378", "title": "Precision, recall and why you shouldn’t crank up the warnings to 11", "url": "https://lemire.me/blog/2023/03/15/precision-recall-and-why-you-shouldnt-crank-up-the-warnings-to-11/", "published_at": "2023-03-15T21:25:37+00:00" }, { "id": "01a0bb6e-abed-7020-ae9d-c1232e79329d", "title": "Science and Technology links (March 11 2023)", "url": "https://lemire.me/blog/2023/03/11/science-and-technology-links-march-11-2023/", "published_at": "2023-03-11T22:14:24+00:00" }, { "id": "01a0bb6e-abed-7020-ae9d-c1232e857901", "title": "Trimming spaces from strings faster with SVE on an Amazon Graviton 3 processor", "url": "https://lemire.me/blog/2023/03/10/trimming-spaces-from-strings-faster-with-sve-on-an-amazon-graviton-3-processor/", "published_at": "2023-03-10T23:33:30+00:00" }, { "id": "01a0bb6e-abed-7020-ae9d-c1232ee80ec4", "title": "Float-parsing benchmark: Regular Visual Studio, ClangCL and Linux GCC", "url": "https://lemire.me/blog/2023/03/03/float-parsing-benchmark-regular-visual-studio-clangcl-and-linux-gcc/", "published_at": "2023-03-03T15:31:24+00:00" }, { "id": "01a0bb6e-abed-7020-ae9d-c1232fa63347", "title": "ARM vs Intel on Amazon’s cloud: A URL Parsing Benchmark", "url": "https://lemire.me/blog/2023/03/01/arm-vs-intel-on-amazons-cloud/", "published_at": "2023-03-01T23:01:30+00:00" }, { "id": "01a0bb6e-abed-7020-ae9d-c123307c65fc", "title": "Regular Visual Studio versus ClangCL", "url": "https://lemire.me/blog/2023/02/27/visual-studio-versus-clangcl/", "published_at": "2023-02-27T02:08:48+00:00" }, { "id": "01a0bb6e-abed-7020-ae9d-c123315ca899", "title": "Computing the UTF-8 size of a Latin 1 string quickly (AVX edition)", "url": "https://lemire.me/blog/2023/02/16/computing-the-utf-8-size-of-a-latin-1-string-quickly-avx-edition/", "published_at": "2023-02-16T23:38:18+00:00" }, { "id": "01a0bb6e-abed-7020-ae9d-c12331ba8709", "title": "Science and Technology links (February 12 2023)", "url": "https://lemire.me/blog/2023/02/12/science-and-technology-links-february-12-2023/", "published_at": "2023-02-12T19:09:19+00:00" }, { "id": "01a0bb6e-abed-7020-ae9d-c12331e03895", "title": "Bit Hacking (with Go code)", "url": "https://lemire.me/blog/2023/02/07/bit-hacking-with-go-code/", "published_at": "2023-02-07T23:34:50+00:00" }, { "id": "01a0bb6e-abed-7020-ae9d-c1233214e358", "title": "Serializing IPs quickly in C++", "url": "https://lemire.me/blog/2023/02/01/serializing-ips-quickly-in-c/", "published_at": "2023-02-01T20:57:30+00:00" }, { "id": "01a0bb6e-abed-7020-ae9d-c12332169e95", "title": "Move or copy your strings? Possible performance impacts", "url": "https://lemire.me/blog/2023/01/30/move-or-copy-your-strings-possible-performance-impacts/", "published_at": "2023-01-30T17:37:24+00:00" }, { "id": "01a0bb6e-abed-7020-ae9d-c12332789be6", "title": "International domain names: where does https://meßagefactory.ca lead you?", "url": "https://lemire.me/blog/2023/01/23/international-domain-names-where-does-https-mesagefactory-ca-lead-you/", "published_at": "2023-01-23T23:22:17+00:00" }, { "id": "01a0bb6e-abed-7020-ae9d-c123329f975e", "title": "Year 2022: Scientific progress", "url": "https://lemire.me/blog/2023/01/15/year-2022-scientific-progress/", "published_at": "2023-01-15T17:26:19+00:00" }, { "id": "01a0bb6e-abed-7020-ae9d-c1233336ac7e", "title": "Science and technology links (January 15 2023)", "url": "https://lemire.me/blog/2023/01/15/science-and-technology-links-january-15-2022/", "published_at": "2023-01-15T17:17:51+00:00" }, { "id": "01a0bb6e-abed-7020-ae9d-c12333ef1409", "title": "Care is needed to use C++ std::optional with non-trivial objects", "url": "https://lemire.me/blog/2023/01/12/care-is-needed-to-use-c-stdoptional-with-non-trivial-objects/", "published_at": "2023-01-12T22:02:25+00:00" }, { "id": "01a0bb6e-abed-7020-ae9d-c1233445adfb", "title": "Transcoding Unicode with AVX-512: AMD Zen 4 vs. Intel Ice Lake", "url": "https://lemire.me/blog/2023/01/05/transcoding-unicode-with-avx-512-amd-zen-4-vs-intel-ice-lake/", "published_at": "2023-01-05T21:53:07+00:00" }, { "id": "01a0bb6e-abed-7020-ae9d-c12334618198", "title": "Emojis in domain names, punycode and performance", "url": "https://lemire.me/blog/2023/01/04/emojis-in-domain-names-punycode-and-performance/", "published_at": "2023-01-04T02:09:15+00:00" }, { "id": "01a0bb6e-abed-7020-ae9d-c123347a05c0", "title": "Quickly checking that a string belongs to a small set", "url": "https://lemire.me/blog/2022/12/30/quickly-checking-that-a-string-belongs-to-a-small-set/", "published_at": "2022-12-30T03:19:38+00:00" }, { "id": "01a0bb6e-abed-7020-ae9d-c12334b01cc6", "title": "Science and Technology links (December 25 2022)", "url": "https://lemire.me/blog/2022/12/25/science-and-technology-links-december-25-2022/", "published_at": "2022-12-25T22:12:15+00:00" }, { "id": "01a0bb6e-abed-7020-ae9d-c123356fb7a9", "title": "Fast base16 encoding", "url": "https://lemire.me/blog/2022/12/23/fast-base16-encoding/", "published_at": "2022-12-23T19:41:27+00:00" }, { "id": "01a0bb6e-abed-7020-ae9d-c123366b29f1", "title": "The size of things in bytes", "url": "https://lemire.me/blog/2022/12/21/the-size-of-things-in-bytes/", "published_at": "2022-12-21T20:10:38+00:00" }, { "id": "01a0bb6e-abed-7020-ae9d-c1233720ebda", "title": "Implementing ‘strlen’ using SVE", "url": "https://lemire.me/blog/2022/12/19/implementing-strlen-using-sve/", "published_at": "2022-12-19T21:02:26+00:00" }, { "id": "01a0bb6e-abed-7020-ae9d-c12337ad6277", "title": "Checking for the absence of a string, naive AVX-512 edition", "url": "https://lemire.me/blog/2022/12/15/checking-for-the-absence-of-a-string-naive-avx-512-edition/", "published_at": "2022-12-15T22:16:04+00:00" }, { "id": "01a0bb6e-abed-7020-ae9d-c12338406f42", "title": "What is the memory usage of a small array in C++?", "url": "https://lemire.me/blog/2022/12/12/what-is-the-memory-usage-of-a-small-array-in-c/", "published_at": "2022-12-12T14:59:29+00:00" }, { "id": "01a0bb72-719f-7021-a0c2-4454da46d061", "title": "Science and Technology links (December 11 2022)", "url": "https://lemire.me/blog/2022/12/11/science-and-technology-links-december-11-2022/", "published_at": "2022-12-11T19:23:16+00:00" }, { "id": "01a0bb72-719f-7021-a0c2-4454db3a4fcc", "title": "Fast midpoint between two integers without overflow", "url": "https://lemire.me/blog/2022/12/06/fast-midpoint-between-two-integers-without-overflow/", "published_at": "2022-12-06T23:58:27+00:00" }, { "id": "01a0bb72-719f-7021-a0c2-4454db5122a3", "title": "Optimizing compilers reload vector constants needlessly", "url": "https://lemire.me/blog/2022/12/06/optimizing-compilers-reload-vector-constants-needlessly/", "published_at": "2022-12-06T16:05:07+00:00" }, { "id": "01a0bb72-719f-7021-a0c2-4454dbaab7d3", "title": "How big are your SVE registers ? (AWS Graviton)", "url": "https://lemire.me/blog/2022/11/29/how-big-are-your-sve-registers-aws-graviton/", "published_at": "2022-11-29T16:47:31+00:00" }, { "id": "01a0bb72-719f-7021-a0c2-4454dc4829ae", "title": "Generic number compression (zstd)", "url": "https://lemire.me/blog/2022/11/28/generic-number-compression-zstd/", "published_at": "2022-11-28T17:18:55+00:00" }, { "id": "01a0bb72-719f-7021-a0c2-4454dcb98204", "title": "Science and Technology links (November 26 2022)", "url": "https://lemire.me/blog/2022/11/26/science-and-technology-links-november-26-2022/", "published_at": "2022-11-26T21:58:29+00:00" }, { "id": "01a0bb72-719f-7021-a0c2-4454dd01445d", "title": "Making all your integers positive with zigzag encoding", "url": "https://lemire.me/blog/2022/11/25/making-all-your-integers-positive-with-zigzag-encoding/", "published_at": "2022-11-25T17:26:28+00:00" }, { "id": "01a0bb72-719f-7021-a0c2-4454dd14bca1", "title": "What is the size of a byte[] array in Java?", "url": "https://lemire.me/blog/2022/11/22/what-is-the-size-of-a-byte-array-in-java/", "published_at": "2022-11-22T22:02:26+00:00" }, { "id": "01a0bb72-719f-7021-a0c2-4454de06b149", "title": "Rounding modes: std::from_chars versus strtod/strtof", "url": "https://lemire.me/blog/2022/11/17/stdfrom_chars-versus-strtod-strtof/", "published_at": "2022-11-17T16:08:58+00:00" }, { "id": "01a0bb72-719f-7021-a0c2-4454dec84ea1", "title": "A fast function to check your floating-point rounding mode", "url": "https://lemire.me/blog/2022/11/16/a-fast-function-to-check-your-floating-point-rounding-mode/", "published_at": "2022-11-16T21:21:38+00:00" }, { "id": "01a0bb72-719f-7021-a0c2-4454df3d513a", "title": "Measuring the memory usage of your C++ program", "url": "https://lemire.me/blog/2022/11/10/measuring-the-memory-usage-of-your-c-program/", "published_at": "2022-11-10T15:17:53+00:00" }, { "id": "01a0bb72-719f-7021-a0c2-4454e02bdf89", "title": "Modern vector programming with masked loads and stores", "url": "https://lemire.me/blog/2022/11/08/modern-vector-programming-with-masked-loads-and-stores/", "published_at": "2022-11-08T21:30:41+00:00" }, { "id": "01a0bb72-719f-7021-a0c2-4454e061ca8c", "title": "Book Review : Template Metaprogramming with C++", "url": "https://lemire.me/blog/2022/10/26/book-review-template-metaprogramming-with-c/", "published_at": "2022-10-26T18:40:38+00:00" }, { "id": "01a0bb72-719f-7021-a0c2-4454e14cd11c", "title": "Science and Technology links (October 16 2022)", "url": "https://lemire.me/blog/2022/10/16/science-and-technology-links-october-16-2022/", "published_at": "2022-10-16T18:05:52+00:00" } ] posts Claim your blog
Back to Daniel Lemire
Blog · corpus.blog/blogs/lemire.me/posts

Daniel Lemire

lemire.me

2023

2022