# Daniel Lemire

Daniel Lemire is a software performance expert. He ranks among the top 2% of scientists globally (Stanford/Elsevier 2025) and is one of GitHub's top 1000 most followed developers.

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## How fast is C++23's std::flat\_map?

DevFeed: [How fast is C++23's std::flat\_map?](<https://devfeed.tech/articles/how-fast-is-c-23-s-std-flat-map-31465.md>)

Original publisher: [Read original article](<https://lemire.me/blog/2026/09/16/how-fast-is-c23s-stdflat_map/>)

Author: Daniel Lemire

Published: 2026-09-16T20:26:36Z

Content type: article

Language: en

Sources: [Daniel Lemire](<https://devfeed.tech/sources/daniel-lemire.md>)

Topics: [Data structures](<https://devfeed.tech/topics/data-structures.md>), [Library](<https://devfeed.tech/topics/library.md>), [gcc](<https://devfeed.tech/topics/gcc.md>), [LLVM](<https://devfeed.tech/topics/llvm.md>), [clang](<https://devfeed.tech/topics/clang.md>)

Tags: [array](<https://devfeed.tech/tags/array.md>), [arrays](<https://devfeed.tech/tags/arrays.md>), [clang](<https://devfeed.tech/tags/clang.md>), [gcc](<https://devfeed.tech/tags/gcc.md>), [llvm](<https://devfeed.tech/tags/llvm.md>), [overhead](<https://devfeed.tech/tags/overhead.md>), [speed](<https://devfeed.tech/tags/speed.md>), [standard-library](<https://devfeed.tech/tags/standard-library.md>)

### AI overview

This article benchmarks C++23's std::flat_map, a sorted container backed by parallel arrays of keys and values. It explains serialization and loading considerations, then compares insertion and lookup performance with std::map. Random-order insertion becomes quadratic as the container grows, while increasing-order or bulk insertion is much faster; random lookups can also be faster for large maps because std::flat_map uses less memory.

### Source excerpt

C++23 added a new type to the standard library: std::flat_map. There is also a std::flat_set and other variants, but let me focus on std::flat_map. A flat map is a sorted vector of keys next to a vector of values. A query is a binary search over the sorted keys. You need a recent standard library: ... Continue reading How fast is C++23's std::flat_map?

## Subnormal floating-point numbers are expensive... on Intel processors

DevFeed: [Subnormal floating-point numbers are expensive... on Intel processors](<https://devfeed.tech/articles/subnormal-floating-point-numbers-are-expensive-on-intel-processors-29431.md>)

Original publisher: [Read original article](<https://lemire.me/blog/2026/09/15/subnormal-floating-point-numbers-are-expensive-on-intel-processors/>)

Author: Daniel Lemire

Published: 2026-09-15T12:54:32Z

Content type: article

Language: en

Sources: [Daniel Lemire](<https://devfeed.tech/sources/daniel-lemire.md>)

Topics: [floating-point](<https://devfeed.tech/topics/floating-point.md>), [Benchmark](<https://devfeed.tech/topics/benchmark.md>), [intel](<https://devfeed.tech/topics/intel.md>), [C++](<https://devfeed.tech/topics/c-plus-plus.md>), [Cache](<https://devfeed.tech/topics/cache.md>)

Tags: [benchmark](<https://devfeed.tech/tags/benchmark.md>), [c-plus-plus](<https://devfeed.tech/tags/c-plus-plus.md>), [floating-point](<https://devfeed.tech/tags/floating-point.md>), [intel](<https://devfeed.tech/tags/intel.md>), [linux](<https://devfeed.tech/tags/linux.md>), [numbers](<https://devfeed.tech/tags/numbers.md>), [performance](<https://devfeed.tech/tags/performance.md>), [processors](<https://devfeed.tech/tags/processors.md>)

### AI overview

This article benchmarks the performance cost of IEEE subnormal floating-point values across Intel, AMD, Arm, and Apple processors. It reports that Intel multiplications involving subnormals can be about 45 to 50 times slower than normal multiplications, while additions and subtractions remain at full speed. AMD Zen 5 performs much better in the tested workloads.

### Source excerpt

We represent floating-point numbers using the IEEE standard. For very small numbers, the standard uses special subnormal numbers. Unfortunately, they have a reputation of making operations slow. Thus video game programmers and machine learning specialists sometimes avoid computing with subnormal numbers for performance. How slow are they? Let me measure. I wrote a small C++ ... Continue reading Subnormal floating-point numbers are expensive... on Intel processors

## AI and the Future of Mathematical Research

DevFeed: [AI and the Future of Mathematical Research](<https://devfeed.tech/articles/the-four-colour-theorem-was-only-the-start-29430.md>)

Original publisher: [Read original article](<https://lemire.me/blog/2026/09/11/the-four-colour-theorem-was-only-the-start/>)

Author: Daniel Lemire

Published: 2026-09-11T19:53:31Z

Content type: opinion

Language: en

Sources: [Daniel Lemire](<https://devfeed.tech/sources/daniel-lemire.md>)

Topics: [Artificial Intelligence](<https://devfeed.tech/topics/ai.md>), [math](<https://devfeed.tech/topics/math.md>), [OpenAI](<https://devfeed.tech/topics/openai.md>)

Tags: [ai](<https://devfeed.tech/tags/ai.md>), [math](<https://devfeed.tech/tags/math.md>), [openai](<https://devfeed.tech/tags/openai.md>)

### AI overview

An opinion piece considers mathematicians' concerns that AI-driven advances could affect mathematical training, understanding, attribution, and the role of human researchers. The author argues that mathematics may continue in a different form rather than disappear.

### Source excerpt

Mathematicians are unhappy about OpenAI. Several influential mathematicians wrote an open letter. The gist of their argument is that they form a community that trains young people. When AI started producing breakthroughs on hard mathematical problems, I asked what a very smart 17-year-old would feel. Do you still choose a math major and train yourself ... Continue reading The four-colour theorem was only the start

## Fear Is Not an Argument

DevFeed: [Fear Is Not an Argument](<https://devfeed.tech/articles/fear-is-not-an-argument-29429.md>)

Original publisher: [Read original article](<https://lemire.me/blog/2026/09/10/fear-is-not-an-argument/>)

Author: Daniel Lemire

Published: 2026-09-10T18:23:42Z

Content type: opinion

Language: en

Sources: [Daniel Lemire](<https://devfeed.tech/sources/daniel-lemire.md>)

Topics: [Artificial Intelligence](<https://devfeed.tech/topics/ai.md>), [Large Language Model](<https://devfeed.tech/topics/llm.md>), [Language models](<https://devfeed.tech/topics/language-models.md>), [ChatGPT](<https://devfeed.tech/topics/chatgpt.md>), [Tool](<https://devfeed.tech/topics/tool.md>), [Embeddings](<https://devfeed.tech/topics/embeddings.md>)

Tags: [ai](<https://devfeed.tech/tags/ai.md>), [chatgpt](<https://devfeed.tech/tags/chatgpt.md>), [embeddings](<https://devfeed.tech/tags/embeddings.md>), [large-language-model](<https://devfeed.tech/tags/large-language-model.md>), [openai](<https://devfeed.tech/tags/openai.md>), [statement](<https://devfeed.tech/tags/statement.md>), [tokens](<https://devfeed.tech/tags/tokens.md>), [tools](<https://devfeed.tech/tags/tools.md>)

### AI overview

This opinion argues that fears about AI causing human extinction are vague and unfalsifiable, and compares them with earlier technological and social end-of-the-world predictions. It describes large language models as systems that process and generate tokens using fixed weights, while noting that connecting them to tools makes their capabilities more consequential.

### Source excerpt

We are told that AI entities much like ChatGPT might soon kill us all. The statement is vague and unfalsifiable. It might be true, it might be false. People with credentials (e.g., Turing Award recipient Yoshua Bengio) believe it. Many still remember the Year-2000 bug. Our computers used two-digit coding for dates, and some software ... Continue reading Fear Is Not an Argument

## A quick overview of atomics in C

DevFeed: [A quick overview of atomics in C](<https://devfeed.tech/articles/a-quick-overview-of-atomics-in-c-29428.md>)

Original publisher: [Read original article](<https://lemire.me/blog/2026/09/09/a-quick-overview-of-atomics-in-c/>)

Author: Daniel Lemire

Published: 2026-09-09T20:41:53Z

Content type: tutorial

Language: en

Sources: [Daniel Lemire](<https://devfeed.tech/sources/daniel-lemire.md>)

Topics: [C](<https://devfeed.tech/topics/c.md>), [Concurrency](<https://devfeed.tech/topics/concurrency.md>), [Concurrent Programming](<https://devfeed.tech/topics/concurrent-programming.md>), [Programming](<https://devfeed.tech/topics/programming.md>)

Tags: [atomics](<https://devfeed.tech/tags/atomics.md>), [c](<https://devfeed.tech/tags/c.md>), [join](<https://devfeed.tech/tags/join.md>), [ordering](<https://devfeed.tech/tags/ordering.md>), [posix](<https://devfeed.tech/tags/posix.md>), [programming-language](<https://devfeed.tech/tags/programming-language.md>), [systems](<https://devfeed.tech/tags/systems.md>), [thread](<https://devfeed.tech/tags/thread.md>), [threads](<https://devfeed.tech/tags/threads.md>)

### AI overview

This tutorial introduces atomics in C, explaining data races on shared non-atomic variables, atomic accesses, instruction reordering, and memory-ordering models including relaxed, release, and acquire semantics. It also discusses C11 threads and platform support limitations.

### Source excerpt

If you write in C, by default, you use a single thread. Extra cores do not help until you create more threads. However, if you include the header <threads.h>, you can pass a function to thrd_create, and wait for it with thrd_join. #include <threads.h> #include <stdio.h> int worker(void *arg) { printf("hello from thread %d\n", *(int ... Continue reading A quick overview of atomics in C

## AI programming: a layered model

DevFeed: [AI programming: a layered model](<https://devfeed.tech/articles/ai-programming-a-layered-model-29427.md>)

Original publisher: [Read original article](<https://lemire.me/blog/2026/09/05/ai-programming-a-layered-model/>)

Author: Daniel Lemire

Published: 2026-09-05T14:02:12Z

Content type: opinion

Language: en

Sources: [Daniel Lemire](<https://devfeed.tech/sources/daniel-lemire.md>)

Topics: [AI-assisted coding](<https://devfeed.tech/topics/ai-assisted-coding.md>), [Vibe coding](<https://devfeed.tech/topics/vibe-coding.md>), [Programming](<https://devfeed.tech/topics/programming.md>), [Software](<https://devfeed.tech/topics/software.md>)

Tags: [ai](<https://devfeed.tech/tags/ai.md>), [ai-assisted-coding](<https://devfeed.tech/tags/ai-assisted-coding.md>), [code](<https://devfeed.tech/tags/code.md>), [programming](<https://devfeed.tech/tags/programming.md>), [software](<https://devfeed.tech/tags/software.md>), [vibe-coding](<https://devfeed.tech/tags/vibe-coding.md>)

### AI overview

This opinion proposes a layered model for AI-assisted coding: maintain a small, deliberately managed core whose code is read and tested, while allowing outer layers to change rapidly and absorb bugs. Dependencies should flow inward, with outer layers depending on the core but not vice versa.

### Source excerpt

In the late 1960s and 1970s, people like David Parnas faced a problem. A decade earlier there were almost no programmers. Suddenly there were hordes of inexperienced ones. What could have been a golden era was turning into a mess: far more software, much of it falling apart. It sent Edsger Dijkstra into a ... Continue reading AI programming: a layered model

## Python sets and dictionaries can have quadratic-time performance

DevFeed: [Python sets and dictionaries can have quadratic-time performance](<https://devfeed.tech/articles/python-sets-and-dictionaries-can-have-quadratic-time-performance-29426.md>)

Original publisher: [Read original article](<https://lemire.me/blog/2026/09/03/python-sets-and-dictionaries-can-have-quadratic-time-performance/>)

Author: Daniel Lemire

Published: 2026-09-03T14:01:45Z

Content type: article

Language: en

Sources: [Daniel Lemire](<https://devfeed.tech/sources/daniel-lemire.md>)

Topics: [Python](<https://devfeed.tech/topics/python.md>), [Data structures](<https://devfeed.tech/topics/data-structures.md>), [hash](<https://devfeed.tech/topics/hash.md>), [CPU Cache](<https://devfeed.tech/topics/cpu-cache.md>)

Tags: [array](<https://devfeed.tech/tags/array.md>), [cpu-cache](<https://devfeed.tech/tags/cpu-cache.md>), [data-structure](<https://devfeed.tech/tags/data-structure.md>), [hash](<https://devfeed.tech/tags/hash.md>), [performance](<https://devfeed.tech/tags/performance.md>), [python](<https://devfeed.tech/tags/python.md>)

### AI overview

The article explains why Python sets and dictionaries are not formally constant-time in all cases. Hash collisions can make insertions and membership checks take quadratic time, while growing data structures can also incur reallocation and slower memory access as they exceed CPU cache capacity.

### Source excerpt

In Python, the dict data structure is the conventional key-value structure. E.g., you might store a list of names as keys and have their phone numbers as values. Valentin Ignatev wrote this amusing post on X: It is indeed widely believed that, in the strict sense, the dict data structure and its companion, the set ... Continue reading Python sets and dictionaries can have quadratic-time performance

## Benchmarking Go 1.27's New JSON API Against the Legacy Implementation

DevFeed: [Benchmarking Go 1.27's New JSON API Against the Legacy Implementation](<https://devfeed.tech/articles/the-new-go-json-api-twice-as-fast-or-1-5x-slower-29425.md>)

Original publisher: [Read original article](<https://lemire.me/blog/2026/08/29/the-new-go-json-api-twice-as-fast-or-1-5x-slower/>)

Author: Daniel Lemire

Published: 2026-08-29T18:33:33Z

Content type: opinion

Language: en

Sources: [Daniel Lemire](<https://devfeed.tech/sources/daniel-lemire.md>)

Topics: [Go Language](<https://devfeed.tech/topics/go-language.md>), [JSON](<https://devfeed.tech/topics/json.md>), [Programming](<https://devfeed.tech/topics/programming.md>)

Tags: [go](<https://devfeed.tech/tags/go.md>), [json](<https://devfeed.tech/tags/json.md>), [performance](<https://devfeed.tech/tags/performance.md>), [release](<https://devfeed.tech/tags/release.md>)

### AI overview

The article benchmarks Go 1.27's new JSON engine and APIs against the original implementation across several documents and operations. Results vary by workload: the new API generally improves unmarshalling and can substantially improve marshalling, but the legacy implementation remains faster for some structured data cases.

### Source excerpt

JSON is a standard format for data interchange. It is effectively a tiny subset of JavaScript made of objects and arrays. It looks as follows {"key":1, "text":[1.0,2.0]}. Many programming languages include a JSON library in their standard libraries: C#, Go, Java (soon), Python, JavaScript, etc. The Go implementation is convenient, but not especially fast. Go ... Continue reading The new Go JSON API: twice as fast, or 1.5x slower?

## Java's String.indexOf can be slow (quadratic)

DevFeed: [Java's String.indexOf can be slow (quadratic)](<https://devfeed.tech/articles/java-s-string-indexof-can-be-slow-quadratic-29424.md>)

Original publisher: [Read original article](<https://lemire.me/blog/2026/08/22/javas-string-indexof-can-be-slow-quadratic/>)

Author: Daniel Lemire

Published: 2026-08-22T14:56:16Z

Content type: article

Language: en

Sources: [Daniel Lemire](<https://devfeed.tech/sources/daniel-lemire.md>)

Topics: [Java](<https://devfeed.tech/topics/java.md>), [openjdk](<https://devfeed.tech/topics/openjdk.md>), [Programming](<https://devfeed.tech/topics/programming.md>)

Tags: [algorithm](<https://devfeed.tech/tags/algorithm.md>), [complexity](<https://devfeed.tech/tags/complexity.md>), [cpu](<https://devfeed.tech/tags/cpu.md>), [java](<https://devfeed.tech/tags/java.md>), [openjdk](<https://devfeed.tech/tags/openjdk.md>), [programming-language](<https://devfeed.tech/tags/programming-language.md>)

### AI overview

Java's String.indexOf can exhibit O(n-m) behavior on adversarial inputs with long substrings. The article compares it with the Two-Way algorithm and explains why Java's implementation remains suitable for typical workloads.

### Source excerpt

In Java, you find the location of a substring using indexOf. String haystack = "The quick brown fox jumps over the lazy dog"; String needle = "fox"; int index = haystack.indexOf(needle); Naively, you might implement indexOf by a loop inside a loop, like so. int naiveIndexOf(String haystack, String needle) { for (int i = 0; ... Continue reading Java's String.indexOf can be slow (quadratic)

## Parsing common IPv4 addresses in C# with AVX-512

DevFeed: [Parsing common IPv4 addresses in C# with AVX-512](<https://devfeed.tech/articles/parsing-ip-addresses-in-c-at-crazy-speeds-29423.md>)

Original publisher: [Read original article](<https://lemire.me/blog/2026/08/19/parsing-ip-addresses-in-c-at-crazy-speeds/>)

Author: Daniel Lemire

Published: 2026-08-19T19:07:48Z

Content type: article

Language: en

Sources: [Daniel Lemire](<https://devfeed.tech/sources/daniel-lemire.md>)

Topics: [C#](<https://devfeed.tech/topics/csharp.md>), [Parsing](<https://devfeed.tech/topics/parsing.md>), [performance-optimization](<https://devfeed.tech/topics/performance-optimization.md>), [.NET](<https://devfeed.tech/topics/net.md>)

Tags: [avx](<https://devfeed.tech/tags/avx.md>), [c-sharp](<https://devfeed.tech/tags/c-sharp.md>), [ip](<https://devfeed.tech/tags/ip.md>), [ipv4](<https://devfeed.tech/tags/ipv4.md>), [parsing](<https://devfeed.tech/tags/parsing.md>), [performance](<https://devfeed.tech/tags/performance.md>)

### AI overview

The article examines parsing common IPv4 address strings in C# for performance. It discusses using SIMD and AVX-512 support in .NET 10, including masked loads for safely loading strings shorter than a SIMD register width.

### Source excerpt

We are all familiar with IP addresses such as 192.168.0.1. They are typically written as four numbers in the range 0 to 255 inclusive, separated by dots. In C#, you can parse them with the standard library using IPAddress.TryParse. Pedantic people are quick to point out that IP addresses can take different forms: they can ... Continue reading Parsing IP addresses in C# at crazy speeds

## Go 1.27 will make some allocations cheaper

DevFeed: [Go 1.27 will make some allocations cheaper](<https://devfeed.tech/articles/go-1-27-will-make-some-allocations-cheaper-29422.md>)

Original publisher: [Read original article](<https://lemire.me/blog/2026/08/15/go-1-27-will-make-some-allocations-cheaper/>)

Author: Daniel Lemire

Published: 2026-08-15T20:59:19Z

Content type: article

Language: en

Sources: [Daniel Lemire](<https://devfeed.tech/sources/daniel-lemire.md>)

Topics: [Go Language](<https://devfeed.tech/topics/go-language.md>), [Programming](<https://devfeed.tech/topics/programming.md>), [Compiler](<https://devfeed.tech/topics/compiler.md>), [Data structures](<https://devfeed.tech/topics/data-structures.md>)

Tags: [compiler](<https://devfeed.tech/tags/compiler.md>), [data-structure](<https://devfeed.tech/tags/data-structure.md>), [go](<https://devfeed.tech/tags/go.md>), [memory-management](<https://devfeed.tech/tags/memory-management.md>), [programming](<https://devfeed.tech/tags/programming.md>), [programming-languages](<https://devfeed.tech/tags/programming-languages.md>)

### AI overview

The article explains Go's stack and heap allocations, including how escaping values, slices, and dynamic data structures can cause heap allocations. It notes that Go 1.27 is intended to make some heap allocations cheaper, while the supplied excerpt does not specify the implementation details.

### Source excerpt

Like most programming languages, Go has both stack allocations, whose lifetime is limited to the current function, and dynamic (or heap) allocations. The name stack comes from the fact that the memory management is somewhat trivial. There is typically one stack per thread (or goroutine in Go). When a function needs memory, it simply appends ... Continue reading Go 1.27 will make some allocations cheaper

## AI-assisted programming and the changing purpose of programming

DevFeed: [AI-assisted programming and the changing purpose of programming](<https://devfeed.tech/articles/ai-programming-are-you-angry-yet-29421.md>)

Original publisher: [Read original article](<https://lemire.me/blog/2026/08/12/ai-programming-are-you-angry-yet/>)

Author: Daniel Lemire

Published: 2026-08-12T15:50:48Z

Content type: opinion

Language: en

Sources: [Daniel Lemire](<https://devfeed.tech/sources/daniel-lemire.md>)

Topics: [Artificial Intelligence](<https://devfeed.tech/topics/ai.md>), [Programming](<https://devfeed.tech/topics/programming.md>), [Vibe coding](<https://devfeed.tech/topics/vibe-coding.md>)

Tags: [2026](<https://devfeed.tech/tags/2026.md>), [ai](<https://devfeed.tech/tags/ai.md>), [programming](<https://devfeed.tech/tags/programming.md>), [video](<https://devfeed.tech/tags/video.md>)

### AI overview

A short video discusses tensions created by rapidly evolving AI-assisted programming, including whether programmers still need to understand code and what their purpose becomes.

### Source excerpt

AI-assisted programming is fast evolving and there is a tension between 'we no longer need to understand the code' and 'what is my purpose as a programmer'. I recorded a short video on this topic with how I think the tension can result in conflicts.

## Profile-guided optimization in Go

DevFeed: [Profile-guided optimization in Go](<https://devfeed.tech/articles/profile-guided-optimization-in-go-29420.md>)

Original publisher: [Read original article](<https://lemire.me/blog/2026/08/09/profile-guided-optimization-in-go/>)

Author: Daniel Lemire

Published: 2026-08-09T23:17:36Z

Content type: article

Language: en

Sources: [Daniel Lemire](<https://devfeed.tech/sources/daniel-lemire.md>)

Topics: [Go Language](<https://devfeed.tech/topics/go-language.md>), [Optimization](<https://devfeed.tech/topics/optimization.md>), [Compiler](<https://devfeed.tech/topics/compiler.md>), [inlining](<https://devfeed.tech/topics/inlining.md>), [JSON](<https://devfeed.tech/topics/json.md>)

Tags: [compiler](<https://devfeed.tech/tags/compiler.md>), [cpu](<https://devfeed.tech/tags/cpu.md>), [go](<https://devfeed.tech/tags/go.md>), [inlining](<https://devfeed.tech/tags/inlining.md>), [interface](<https://devfeed.tech/tags/interface.md>), [json](<https://devfeed.tech/tags/json.md>), [measurement](<https://devfeed.tech/tags/measurement.md>), [optimization](<https://devfeed.tech/tags/optimization.md>), [profile](<https://devfeed.tech/tags/profile.md>), [profiling](<https://devfeed.tech/tags/profiling.md>), [speed](<https://devfeed.tech/tags/speed.md>), [standard-library](<https://devfeed.tech/tags/standard-library.md>), [systems](<https://devfeed.tech/tags/systems.md>)

### AI overview

This article explains how profile-guided optimization in Go uses runtime measurements to guide compiler decisions such as inlining hot call sites and devirtualizing interface calls. It also describes a benchmark parsing three JSON documents with separately trained PGO builds and comparing their speed against a profile-free baseline.

### Source excerpt

When a compiler optimizes your program, it has to guess. Which functions are worth inlining? Which side of a branch is the common one? Which method does this interface call actually reach? At compile time it cannot know, so it uses heuristics. Profile-guided optimization (PGO) replaces the guessing with measurement: you run your program, record ... Continue reading Profile-guided optimization in Go

## How fast is C++26's std::hive?

DevFeed: [How fast is C++26's std::hive?](<https://devfeed.tech/articles/how-fast-is-c-26-s-std-hive-29419.md>)

Original publisher: [Read original article](<https://lemire.me/blog/2026/08/02/how-fast-is-c26s-stdhive/>)

Author: Daniel Lemire

Published: 2026-08-02T17:00:10Z

Content type: article

Language: en

Sources: [Daniel Lemire](<https://devfeed.tech/sources/daniel-lemire.md>)

Topics: [container](<https://devfeed.tech/topics/container.md>), [Data structures](<https://devfeed.tech/topics/data-structures.md>), [cpu](<https://devfeed.tech/topics/cpu.md>), [intel](<https://devfeed.tech/topics/intel.md>)

Tags: [compiler](<https://devfeed.tech/tags/compiler.md>), [container](<https://devfeed.tech/tags/container.md>), [data-structure](<https://devfeed.tech/tags/data-structure.md>), [intel](<https://devfeed.tech/tags/intel.md>), [processor](<https://devfeed.tech/tags/processor.md>), [standard-library](<https://devfeed.tech/tags/standard-library.md>)

### AI overview

The article benchmarks a C++26 std::hive implementation against vector, list, and another container. In the reported tests, hive insertion costs about twice as much as vector insertion, while iteration is about eight times slower than vector and no faster than linked-list iteration.

### Source excerpt

C++26 adds a new container to the standard library: std::hive. It is meant to occupy the ground between std::vector and std::list. Like a vector, it keeps its elements in contiguous blocks of memory, so scanning it does not require you to chase a pointer for every element. Like a list, it never moves an element ... Continue reading How fast is C++26's std::hive?

## Benchmarking memory-level parallelism across AMD, Intel, and Graviton processors

DevFeed: [Benchmarking memory-level parallelism across AMD, Intel, and Graviton processors](<https://devfeed.tech/articles/memory-level-parallelism-amd-is-the-king-29418.md>)

Original publisher: [Read original article](<https://lemire.me/blog/2026/07/25/memory-level-parallelism-amd-is-the-king/>)

Author: Daniel Lemire

Published: 2026-07-25T15:07:52Z

Content type: article

Language: en

Sources: [Daniel Lemire](<https://devfeed.tech/sources/daniel-lemire.md>)

Topics: [cpu](<https://devfeed.tech/topics/cpu.md>), [Latency](<https://devfeed.tech/topics/latency.md>), [Cache](<https://devfeed.tech/topics/cache.md>), [Benchmark](<https://devfeed.tech/topics/benchmark.md>), [Intel Core](<https://devfeed.tech/topics/intel-core.md>), [Graviton](<https://devfeed.tech/topics/graviton.md>)

Tags: [benchmark](<https://devfeed.tech/tags/benchmark.md>), [core](<https://devfeed.tech/tags/core.md>), [cycles](<https://devfeed.tech/tags/cycles.md>), [graviton](<https://devfeed.tech/tags/graviton.md>), [intel](<https://devfeed.tech/tags/intel.md>), [intel-core](<https://devfeed.tech/tags/intel-core.md>), [latency](<https://devfeed.tech/tags/latency.md>), [memory](<https://devfeed.tech/tags/memory.md>), [performance](<https://devfeed.tech/tags/performance.md>)

### AI overview

This article explains memory-level parallelism, the number of memory requests a processor core can keep in flight, and measures it with a pointer-chasing benchmark. Experiments on AWS compare how this capability evolved across Intel, AMD, and Graviton processors; the supplied evidence reports AMD reaching 58 concurrent cache lines on Turin.

### Source excerpt

When your program asks for memory that is not in cache, the processor has to go to RAM. That trip costs on the order of 100 nanoseconds. On a 3 GHz core, that is about 300 cycles of doing nothing. Memory latency has not improved in ten years. The 2016 Broadwell answers a random access ... Continue reading Memory-level parallelism: AMD is the king

## Does a PhD Pay Off?

DevFeed: [Does a PhD Pay Off?](<https://devfeed.tech/articles/does-a-phd-pay-off-29417.md>)

Original publisher: [Read original article](<https://lemire.me/blog/2026/07/24/does-a-phd-pay-off/>)

Author: Daniel Lemire

Published: 2026-07-24T20:13:57Z

Content type: opinion

Language: en

Sources: [Daniel Lemire](<https://devfeed.tech/sources/daniel-lemire.md>)

Topics: [Learning](<https://devfeed.tech/topics/learning.md>), [Machine learning](<https://devfeed.tech/topics/machine-learning.md>)

Tags: [career](<https://devfeed.tech/tags/career.md>), [career-progression](<https://devfeed.tech/tags/career-progression.md>), [cost](<https://devfeed.tech/tags/cost.md>), [experience](<https://devfeed.tech/tags/experience.md>), [industry](<https://devfeed.tech/tags/industry.md>), [jobs](<https://devfeed.tech/tags/jobs.md>), [learning](<https://devfeed.tech/tags/learning.md>), [machine-learning](<https://devfeed.tech/tags/machine-learning.md>), [tech-industry](<https://devfeed.tech/tags/tech-industry.md>), [university](<https://devfeed.tech/tags/university.md>), [work](<https://devfeed.tech/tags/work.md>)

### AI overview

This opinion examines whether pursuing a PhD pays off financially and professionally. It argues that the historical earnings advantage is concentrated among people who become professors, while delayed earnings and career progression create substantial opportunity costs. It notes that machine learning may be an exception because PhDs are often expected for some industry roles.

### Source excerpt

Every week, I discuss with people who want to get a PhD. For years, I have been advising people not to pursue a PhD. It may come as a surprise to some. You would expect people with a PhD to earn more money. Individuals who complete doctorates tend to have higher cognitive abilities and greater ... Continue reading Does a PhD Pay Off?

## Using AI to build your own software

DevFeed: [Using AI to build your own software](<https://devfeed.tech/articles/using-ai-to-build-your-own-software-29415.md>)

Original publisher: [Read original article](<https://lemire.me/blog/2026/07/16/using-ai-to-build-your-own-software/>)

Author: Daniel Lemire

Published: 2026-07-16T20:00:21Z

Content type: opinion

Language: en

Sources: [Daniel Lemire](<https://devfeed.tech/sources/daniel-lemire.md>)

Topics: [Artificial Intelligence](<https://devfeed.tech/topics/ai.md>), [Software](<https://devfeed.tech/topics/software.md>), [coding](<https://devfeed.tech/topics/coding.md>), [JavaScript](<https://devfeed.tech/topics/javascript.md>), [ImageMagick](<https://devfeed.tech/topics/imagemagick.md>)

Tags: [ai](<https://devfeed.tech/tags/ai.md>), [build](<https://devfeed.tech/tags/build.md>), [imagemagick](<https://devfeed.tech/tags/imagemagick.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [software](<https://devfeed.tech/tags/software.md>)

### AI overview

The author argues that AI is most useful when it helps people build personal software tools quickly. Examples include automating image processing, creating educational JavaScript apps, and building a tool to add subtitles to videos.

### Source excerpt

A few years ago, a friend of mine was stuck. He needed to quickly process over a hundred high-quality images according to a complicated sequence. He was using Photoshop, but it was going to take him days. Initially, he asked for my help, could I do the manual labor? I spent 15 minutes writing a ... Continue reading Using AI to build your own software

## Analyzing X Posts with an AI Agent Through X's Hosted MCP Server

DevFeed: [Analyzing X Posts with an AI Agent Through X's Hosted MCP Server](<https://devfeed.tech/articles/x-just-gave-us-an-interface-that-ai-agents-can-use-i-pointed-it-at-my-own-posts-29414.md>)

Original publisher: [Read original article](<https://lemire.me/blog/2026/07/11/x-just-gave-us-an-interface-that-ai-agents-can-use-i-pointed-it-at-my-own-posts/>)

Author: Daniel Lemire

Published: 2026-07-11T19:53:17Z

Content type: opinion

Language: en

Sources: [Daniel Lemire](<https://devfeed.tech/sources/daniel-lemire.md>)

Topics: [Model Context Protocol](<https://devfeed.tech/topics/model-context-protocol.md>), [Artificial Intelligence](<https://devfeed.tech/topics/ai.md>), [Language models](<https://devfeed.tech/topics/language-models.md>), [data](<https://devfeed.tech/topics/data.md>)

Tags: [ai](<https://devfeed.tech/tags/ai.md>), [ai-agents](<https://devfeed.tech/tags/ai-agents.md>), [data](<https://devfeed.tech/tags/data.md>), [mcp](<https://devfeed.tech/tags/mcp.md>), [mcp-server](<https://devfeed.tech/tags/mcp-server.md>), [metrics](<https://devfeed.tech/tags/metrics.md>)

### AI overview

The article describes using X's hosted MCP server with an AI coding agent to analyze roughly 60 days of the author's posts. The analysis examines posting times, views, character counts, and likes, finding stronger median views around 9 a.m. and higher median likes for posts around 300-325 characters than for short replies.

### Source excerpt

I have been on X for a long time. Like most people who post regularly, I have a gut feeling for what might interest people. I post in the morning. Longer posts seem to do better. But gut feelings are not measurements. And until recently, digging into your own posting data meant either clicking around ... Continue reading X just gave us an interface that AI agents can use. I pointed it at my own posts.

## Chatting with an AI Won't Make You a Top Programmer

DevFeed: [Chatting with an AI Won't Make You a Top Programmer](<https://devfeed.tech/articles/chatting-with-an-ai-won-t-make-you-a-top-programmer-29413.md>)

Original publisher: [Read original article](<https://lemire.me/blog/2026/06/21/chatting-with-ai-wont-make-you-a-top-programmer/>)

Author: Daniel Lemire

Published: 2026-06-21T17:51:16Z

Content type: opinion

Language: en

Sources: [Daniel Lemire](<https://devfeed.tech/sources/daniel-lemire.md>)

Topics: [Programming](<https://devfeed.tech/topics/programming.md>), [Artificial Intelligence](<https://devfeed.tech/topics/ai.md>), [Code](<https://devfeed.tech/topics/code.md>), [Tooling](<https://devfeed.tech/topics/tooling.md>)

Tags: [ai](<https://devfeed.tech/tags/ai.md>), [code](<https://devfeed.tech/tags/code.md>), [essay](<https://devfeed.tech/tags/essay.md>), [programming](<https://devfeed.tech/tags/programming.md>), [tooling](<https://devfeed.tech/tags/tooling.md>), [typescript](<https://devfeed.tech/tags/typescript.md>)

### AI overview

This opinion argues that chatting with AI will not by itself make someone a top programmer. Reading and writing code develops deeper understanding, and future tools should help engineers understand code rather than only generate it.

### Source excerpt

When I was a kid, most people did not know how to type. We took typing class. The final exam was a speed test: words per minute. Today, you will not impress anyone by saying you can type. In fact, cursive writing is fading. Kids increasingly cannot read or write it. We type constantly. We ... Continue reading Chatting with an AI Won't Make You a Top Programmer

## Parsing JSON at compile time with C++26 static reflection

DevFeed: [Parsing JSON at compile time with C++26 static reflection](<https://devfeed.tech/articles/parsing-json-at-compile-time-with-c-26-static-reflection-29412.md>)

Original publisher: [Read original article](<https://lemire.me/blog/2026/06/14/parsing-json-at-compile-time-with-c26-static-reflection/>)

Author: Daniel Lemire

Published: 2026-06-14T14:59:44Z

Content type: tutorial

Language: en

Sources: [Daniel Lemire](<https://devfeed.tech/sources/daniel-lemire.md>)

Topics: [C++](<https://devfeed.tech/topics/c-plus-plus.md>), [JSON](<https://devfeed.tech/topics/json.md>), [C](<https://devfeed.tech/topics/c.md>), [Compiler](<https://devfeed.tech/topics/compiler.md>), [configuration](<https://devfeed.tech/topics/configuration.md>), [gcc](<https://devfeed.tech/topics/gcc.md>)

Tags: [c](<https://devfeed.tech/tags/c.md>), [c-plus-plus](<https://devfeed.tech/tags/c-plus-plus.md>), [compiler](<https://devfeed.tech/tags/compiler.md>), [configuration](<https://devfeed.tech/tags/configuration.md>), [gcc](<https://devfeed.tech/tags/gcc.md>), [json](<https://devfeed.tech/tags/json.md>), [library](<https://devfeed.tech/tags/library.md>), [parsing](<https://devfeed.tech/tags/parsing.md>)

### AI overview

This tutorial demonstrates parsing a fixed JSON configuration file at compile time with C++26 static reflection and GCC 16. It explains embedding the file's bytes in the executable, using simdjson to synthesize a typed C++ object, and detecting malformed JSON during compilation instead of at startup.

### Source excerpt

Suppose that you have a configuration file in JSON. Something like this: { "width": 1920, "height": 1080, "fullscreen": true, "title": "My Game", "volume": 0.8 } Normally you ship this file alongside your program, open it at startup, read it, and parse it. That is a lot of work for data that never changes. What if ... Continue reading Parsing JSON at compile time with C++26 static reflection

## Sovereignty, reindustrialization, and the loss of practical skills

DevFeed: [Sovereignty, reindustrialization, and the loss of practical skills](<https://devfeed.tech/articles/sovereign-29411.md>)

Original publisher: [Read original article](<https://lemire.me/blog/2026/06/09/22693/>)

Author: Daniel Lemire

Published: 2026-06-09T18:39:32Z

Content type: opinion

Language: en

Sources: [Daniel Lemire](<https://devfeed.tech/sources/daniel-lemire.md>)

Topics: [Computing](<https://devfeed.tech/topics/computing.md>), [Arm](<https://devfeed.tech/topics/arm.md>)

Tags: [arm](<https://devfeed.tech/tags/arm.md>), [canada](<https://devfeed.tech/tags/canada.md>), [computing](<https://devfeed.tech/tags/computing.md>), [politics](<https://devfeed.tech/tags/politics.md>), [robotics](<https://devfeed.tech/tags/robotics.md>), [uk](<https://devfeed.tech/tags/uk.md>)

### AI overview

An opinion article argues that contemporary calls for sovereignty reflect a push toward reindustrializing key economic sectors. It connects globalization, financialization, managerial work, the COVID-era workplace, and educational misalignment with a decline in practical skills, using computing and robotics as examples.

### Source excerpt

The keyword in politics these days is 'sovereign'. What few will admit is that it is effectively the adoption of the American strategy: Make America Great Again. In other words, reindustrialization of key sectors of the economy. The UK used to be a computing champion. Our chip designs (ARM) originated from the UK. Canada had ... Continue reading Sovereign

## How much do amd64 microarchitecture levels help in Go?

DevFeed: [How much do amd64 microarchitecture levels help in Go?](<https://devfeed.tech/articles/how-much-do-amd64-microarchitecture-levels-help-in-go-29410.md>)

Original publisher: [Read original article](<https://lemire.me/blog/2026/06/06/how-much-do-amd64-microarchitecture-levels-help-in-go/>)

Author: Daniel Lemire

Published: 2026-06-06T20:25:19Z

Content type: article

Language: en

Sources: [Daniel Lemire](<https://devfeed.tech/sources/daniel-lemire.md>)

Topics: [Go Language](<https://devfeed.tech/topics/go-language.md>), [Benchmark](<https://devfeed.tech/topics/benchmark.md>), [cpu](<https://devfeed.tech/topics/cpu.md>), [Data structures](<https://devfeed.tech/topics/data-structures.md>), [toolchain](<https://devfeed.tech/topics/toolchain.md>), [intel](<https://devfeed.tech/topics/intel.md>)

Tags: [avx](<https://devfeed.tech/tags/avx.md>), [benchmark](<https://devfeed.tech/tags/benchmark.md>), [cpu](<https://devfeed.tech/tags/cpu.md>), [data-structure](<https://devfeed.tech/tags/data-structure.md>), [go](<https://devfeed.tech/tags/go.md>), [intel](<https://devfeed.tech/tags/intel.md>), [performance](<https://devfeed.tech/tags/performance.md>), [toolchain](<https://devfeed.tech/tags/toolchain.md>)

### AI overview

This article examines how amd64 microarchitecture levels affect Go program performance. It explains the instruction-set levels and reports a benchmark methodology using the Roaring Bitmaps library on an Intel Xeon Gold 6548N with Go 1.26.2 and Roaring v2.18.2. The supplied text does not include the benchmark results.

### Source excerpt

Our 64-bit Intel and AMD processors have evolved over decades. When you compile a Go program for a 64-bit Intel or AMD processor, the compiler targets, by default, a nearly 20-year-old instruction set. The binary that comes out runs on essentially any x64 chip, but it also leaves on the table every instruction that was ... Continue reading How much do amd64 microarchitecture levels help in Go?

## Embodied cognition and agentic AI

DevFeed: [Embodied cognition and agentic AI](<https://devfeed.tech/articles/embodied-cognition-and-agentic-ai-29409.md>)

Original publisher: [Read original article](<https://lemire.me/blog/2026/05/28/embodied-cognition-and-agentic-ai/>)

Author: Daniel Lemire

Published: 2026-05-28T23:04:35Z

Content type: opinion

Language: en

Sources: [Daniel Lemire](<https://devfeed.tech/sources/daniel-lemire.md>)

Topics: [Machine Intelligence](<https://devfeed.tech/topics/machine-intelligence.md>), [Artificial Intelligence](<https://devfeed.tech/topics/ai.md>), [ChatGPT](<https://devfeed.tech/topics/chatgpt.md>), [Large Language Model](<https://devfeed.tech/topics/llm.md>), [Tool](<https://devfeed.tech/topics/tool.md>), [Deep neural networks](<https://devfeed.tech/topics/deep-neural-networks.md>)

Tags: [agentic-ai](<https://devfeed.tech/tags/agentic-ai.md>), [ai](<https://devfeed.tech/tags/ai.md>), [chatgpt](<https://devfeed.tech/tags/chatgpt.md>), [language-models](<https://devfeed.tech/tags/language-models.md>), [neural-networks](<https://devfeed.tech/tags/neural-networks.md>), [tools](<https://devfeed.tech/tags/tools.md>)

### AI overview

This opinion argues that intelligence is embodied in a person's environment, language, hands, and tools rather than located only in the brain. It connects this view to ChatGPT's chat interface and the emergence of agentic AI, although the supplied text ends before explaining the next step.

### Source excerpt

Where is your intelligence located? In your brain? It is a simplistic answer. A better model is that your intelligence is embodied. Consider a cook working at an expensive restaurant. He has all his favorite knives and cooking instructions, placed exactly where he wants them. His kitchen is part of his intelligence, of his skills. ... Continue reading Embodied cognition and agentic AI

## Parsing IPv6 Addresses with AVX-512

DevFeed: [Parsing IPv6 Addresses with AVX-512](<https://devfeed.tech/articles/parsing-ipv6-addresses-crazily-fast-with-avx-512-29408.md>)

Original publisher: [Read original article](<https://lemire.me/blog/2026/05/23/parsing-ipv6-addresses-crazily-fast-with-avx-512/>)

Author: Daniel Lemire

Published: 2026-05-23T02:45:11Z

Content type: article

Language: en

Sources: [Daniel Lemire](<https://devfeed.tech/sources/daniel-lemire.md>)

Topics: [Parsing](<https://devfeed.tech/topics/parsing.md>), [Benchmark](<https://devfeed.tech/topics/benchmark.md>), [Internet](<https://devfeed.tech/topics/internet.md>)

Tags: [amd](<https://devfeed.tech/tags/amd.md>), [avx](<https://devfeed.tech/tags/avx.md>), [benchmark](<https://devfeed.tech/tags/benchmark.md>), [intel](<https://devfeed.tech/tags/intel.md>), [internet](<https://devfeed.tech/tags/internet.md>), [ipv6](<https://devfeed.tech/tags/ipv6.md>), [parsing](<https://devfeed.tech/tags/parsing.md>)

### AI overview

This article explains how an AVX-512 implementation parses IPv6 addresses using SIMD operations. The approach loads the input into a 512-bit register, identifies colons, expands bytes, translates hexadecimal digits, and combines them into bytes with few branches. It also describes a benchmark using randomly generated canonical compressed IPv6 addresses, but the supplied text does not include benchmark results.

### Source excerpt

Every machine connected to the Internet has an address called an IP address. Originally, these addresses were 32-bit integers (IPv4), giving a theoretical maximum of about four billion distinct addresses. We are all familiar with these addresses (e.g., 192.168.0.0). There was a big fuss about how we would run out of addresses. It never happened ... Continue reading Parsing IPv6 Addresses Crazily Fast with AVX-512

[Next page](<https://devfeed.tech/sources/daniel-lemire.md?cursor=WyIyMDI2LTA1LTIzVDAyOjQ1OjExKzAwOjAwIiwgIjc4N2QzNWNkLWViMGUtNDIyOC05Y2QyLTgwMjRlNmYyY2Y5NyJd>)