# algorithm

Published articles for algorithm.

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

## PPO vs GRPO, Simply Explained

DevFeed: [PPO vs GRPO, Simply Explained](<https://devfeed.tech/articles/ppo-vs-grpo-simply-explained-41275.md>)

Original publisher: [Read original article](<https://www.intoai.pub/p/ppo-vs-grpo-simply-explained>)

Author: Dr. Ashish Bamania

Published: 2026-09-17T11:47:38Z

Content type: tutorial

Language: en

Sources: [Into AI](<https://devfeed.tech/sources/into-ai.md>)

Topics: [Large Language Model](<https://devfeed.tech/topics/llm.md>), [post-training](<https://devfeed.tech/topics/post-training.md>), [Reinforcement learning](<https://devfeed.tech/topics/reinforcement-learning.md>), [Algorithms](<https://devfeed.tech/topics/algorithms.md>)

Tags: [algorithm](<https://devfeed.tech/tags/algorithm.md>), [alignment](<https://devfeed.tech/tags/alignment.md>), [human-feedback](<https://devfeed.tech/tags/human-feedback.md>), [llm](<https://devfeed.tech/tags/llm.md>), [llm-training](<https://devfeed.tech/tags/llm-training.md>), [post-training](<https://devfeed.tech/tags/post-training.md>), [reinforcement-learning](<https://devfeed.tech/tags/reinforcement-learning.md>), [training](<https://devfeed.tech/tags/training.md>)

### AI overview

A tutorial comparing PPO and GRPO as reinforcement learning algorithms used in LLM post-training. It explains PPO, including RLHF, policy-gradient updates, and clipped token-probability changes intended to keep model behavior close to its previous version.

### Source excerpt

A simple lesson on two important LLM post-training algorithms.

## NVIDIA Adds CUDA-Q Logical for Fault-Tolerant Quantum Application Design

DevFeed: [NVIDIA Adds CUDA-Q Logical for Fault-Tolerant Quantum Application Design](<https://devfeed.tech/articles/nvidia-cuda-q-logical-debuts-with-a-7x-fermilab-speedup-and-a-10x-cut-in-diraq-s-qubit-estimate-26754.md>)

Original publisher: [Read original article](<https://www.storagereview.com/news/nvidia-cuda-q-logical-fault-tolerant-quantum-fermilab-diraq>)

Author: Harold Fritts

Published: 2026-09-15T16:47:58Z

Content type: news

Language: en

Sources: [StorageReview.com](<https://devfeed.tech/sources/storagereview-com.md>)

Topics: [CUDA](<https://devfeed.tech/topics/cuda.md>), [Quantum Computing](<https://devfeed.tech/topics/quantum-computing.md>), [Nvidia](<https://devfeed.tech/topics/nvidia.md>), [Orchestration](<https://devfeed.tech/topics/orchestration.md>), [Open Source](<https://devfeed.tech/topics/open-source.md>), [Algorithm](<https://devfeed.tech/topics/algorithm.md>)

Tags: [ai](<https://devfeed.tech/tags/ai.md>), [algorithm](<https://devfeed.tech/tags/algorithm.md>), [applications](<https://devfeed.tech/tags/applications.md>), [cuda](<https://devfeed.tech/tags/cuda.md>), [enterprise](<https://devfeed.tech/tags/enterprise.md>), [nvidia](<https://devfeed.tech/tags/nvidia.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [orchestration](<https://devfeed.tech/tags/orchestration.md>), [quantum](<https://devfeed.tech/tags/quantum.md>)

### AI overview

NVIDIA added CUDA-Q Logical to its open-source CUDA-Q platform for designing applications on fault-tolerant quantum computers. Early-access reports say Fermilab reduced an algorithm design cycle from five months to three weeks, while Iceberg Quantum modeled a Diraq spin-qubit architecture using about 150,000 physical qubits for 1,000 logical qubits.

### Source excerpt

NVIDIA has added CUDA-Q Logical to its open-source CUDA-Q platform, an orchestration layer for building applications that run on fault-tolerant quantum computers, and it arrives with two numbers that are interesting. Fermilab says the tool cut a fault-tolerant algorithm design cycle from five months to three weeks, and Iceberg Quantum used it to show that The post NVIDIA CUDA-Q Logical Debuts With a 7x Fermilab Speedup and a 10x Cut in Diraq's Qubit Estimate appeared first on StorageReview.com.

## MIT researchers develop a generative AI method for enforcing hard constraints in safety-critical applications

DevFeed: [MIT researchers develop a generative AI method for enforcing hard constraints in safety-critical applications](<https://devfeed.tech/articles/new-method-enables-ai-for-safety-critical-situations-37975.md>)

Original publisher: [Read original article](<https://news.mit.edu/2026/new-method-enables-ai-safety-critical-situations-0914>)

Author: Adam Zewe | MIT News

Published: 2026-09-14T04:00:00Z

Content type: news

Language: en

Sources: [MIT AI News](<https://devfeed.tech/sources/mit-ai-news.md>)

Topics: [Generative AI](<https://devfeed.tech/topics/generative-ai.md>), [AI Models](<https://devfeed.tech/topics/ai-models.md>), [Algorithm](<https://devfeed.tech/topics/algorithm.md>), [Requirements](<https://devfeed.tech/topics/requirements.md>), [Computer vision](<https://devfeed.tech/topics/computer-vision.md>), [Robotics](<https://devfeed.tech/topics/robotics.md>)

Tags: [ai](<https://devfeed.tech/tags/ai.md>), [ai-models](<https://devfeed.tech/tags/ai-models.md>), [algorithm](<https://devfeed.tech/tags/algorithm.md>), [algorithms](<https://devfeed.tech/tags/algorithms.md>), [artificial-intelligence](<https://devfeed.tech/tags/artificial-intelligence.md>), [computer-science-and-technology](<https://devfeed.tech/tags/computer-science-and-technology.md>), [computer-vision](<https://devfeed.tech/tags/computer-vision.md>), [diffusion-models](<https://devfeed.tech/tags/diffusion-models.md>), [electrical-engineering-and-computer-science-eecs](<https://devfeed.tech/tags/electrical-engineering-and-computer-science-eecs.md>), [flow-matching](<https://devfeed.tech/tags/flow-matching.md>), [generative-ai](<https://devfeed.tech/tags/generative-ai.md>), [hard-constrained-sampling](<https://devfeed.tech/tags/hard-constrained-sampling.md>), [hardflow](<https://devfeed.tech/tags/hardflow.md>), [idss](<https://devfeed.tech/tags/idss.md>), [kaveh-alim](<https://devfeed.tech/tags/kaveh-alim.md>), [laboratory-for-information-and-decision-systems-lids](<https://devfeed.tech/tags/laboratory-for-information-and-decision-systems-lids.md>), [machine-learning](<https://devfeed.tech/tags/machine-learning.md>), [mechanical-engineering](<https://devfeed.tech/tags/mechanical-engineering.md>), [mit-schwarzman-college-of-computing](<https://devfeed.tech/tags/mit-schwarzman-college-of-computing.md>), [navid-azizan](<https://devfeed.tech/tags/navid-azizan.md>), [optimal-control](<https://devfeed.tech/tags/optimal-control.md>), [paper](<https://devfeed.tech/tags/paper.md>), [requirements](<https://devfeed.tech/tags/requirements.md>), [research](<https://devfeed.tech/tags/research.md>), [robotics](<https://devfeed.tech/tags/robotics.md>), [safe-ai](<https://devfeed.tech/tags/safe-ai.md>), [school-of-engineering](<https://devfeed.tech/tags/school-of-engineering.md>), [trajectory-optimization](<https://devfeed.tech/tags/trajectory-optimization.md>), [zeyang-li](<https://devfeed.tech/tags/zeyang-li.md>)

### AI overview

MIT researchers developed a deployment-time technique that lets pretrained generative AI models explore solutions while enforcing hard constraints on final outputs. Experiments in robotics, physical-process control, and computer vision found that the method satisfied required constraints and identified better solutions than existing techniques.

### Source excerpt

The "HardFlow" algorithm could help generative AI models produce high-quality outputs that obey strict requirements when "pretty close" doesn't cut it.

## What algorithm did Windows XP use to choose your initial user picture?

DevFeed: [What algorithm did Windows XP use to choose your initial user picture?](<https://devfeed.tech/articles/what-algorithm-did-windows-xp-use-to-choose-your-initial-user-picture-21759.md>)

Original publisher: [Read original article](<https://devblogs.microsoft.com/oldnewthing/20260909-00/?p=112683>)

Author: Raymond Chen

Published: 2026-09-09T14:00:00Z

Content type: article

Language: en

Sources: [Raymond Chen](<https://devfeed.tech/sources/raymond-chen.md>)

Topics: [Algorithm](<https://devfeed.tech/topics/algorithm.md>), [Randomizer](<https://devfeed.tech/topics/randomizer.md>), [Windows](<https://devfeed.tech/topics/windows.md>), [Filesystems](<https://devfeed.tech/topics/filesystems.md>)

Tags: [algorithm](<https://devfeed.tech/tags/algorithm.md>), [files](<https://devfeed.tech/tags/files.md>), [history](<https://devfeed.tech/tags/history.md>), [old-new-thing](<https://devfeed.tech/tags/old-new-thing.md>), [random](<https://devfeed.tech/tags/random.md>), [recursion](<https://devfeed.tech/tags/recursion.md>), [windows](<https://devfeed.tech/tags/windows.md>)

### AI overview

The article explains that Windows XP selected an initial user picture randomly from the Default Pictures directory using the current time as the random seed. It describes a one-pass reservoir-sampling algorithm, including its efficiency and behavior when files change during selection, with a 100-picture safety limit.

### Source excerpt

It's random, really. The post What algorithm did Windows XP use to choose your initial user picture? appeared first on The Old New Thing.

## Vespa Newsletter, September 2026

DevFeed: [Vespa Newsletter, September 2026](<https://devfeed.tech/articles/vespa-newsletter-september-2026-12801.md>)

Original publisher: [Read original article](<https://blog.vespa.ai/vespa-newsletter-sept-2026/>)

Author: Bonnie Chase

Published: 2026-09-08T00:00:00Z

Content type: news

Language: en

Sources: [Vespa Blog](<https://devfeed.tech/sources/vespa-blog.md>)

Topics: [ann](<https://devfeed.tech/topics/ann.md>), [Latency](<https://devfeed.tech/topics/latency.md>), [Provisioning](<https://devfeed.tech/topics/provisioning.md>), [Algorithm](<https://devfeed.tech/topics/algorithm.md>), [telemetry](<https://devfeed.tech/topics/telemetry.md>), [Graphs](<https://devfeed.tech/topics/graphs.md>)

Tags: [2026](<https://devfeed.tech/tags/2026.md>), [algorithm](<https://devfeed.tech/tags/algorithm.md>), [cloud](<https://devfeed.tech/tags/cloud.md>), [features](<https://devfeed.tech/tags/features.md>), [graph](<https://devfeed.tech/tags/graph.md>), [latency](<https://devfeed.tech/tags/latency.md>), [newsletter](<https://devfeed.tech/tags/newsletter.md>), [product](<https://devfeed.tech/tags/product.md>), [provisioning](<https://devfeed.tech/tags/provisioning.md>), [ranking](<https://devfeed.tech/tags/ranking.md>), [retrieval](<https://devfeed.tech/tags/retrieval.md>), [september-2026](<https://devfeed.tech/tags/september-2026.md>), [telemetry](<https://devfeed.tech/tags/telemetry.md>), [updates](<https://devfeed.tech/tags/updates.md>)

### AI overview

The September 2026 Vespa newsletter announces updates including time-constrained ANN search, sub-query ranking support, flexible provisioning, new rank features, and telemetry export. It also introduces Vespa.ai Live, an in-person community meetup focused on retrieval and ranking systems.

### Source excerpt

Advances in Vespa include time-constrained ANN search, sub-query ranking support, flexible provisioning, new rank features and telemetry export

## Why Output Metrics Can Miss Problems in Complex Production Systems

DevFeed: [Why Output Metrics Can Miss Problems in Complex Production Systems](<https://devfeed.tech/articles/what-you-measure-28516.md>)

Original publisher: [Read original article](<https://thedailywtf.com/articles/what-you-measure>)

Author: Remy Porter

Published: 2026-09-02T06:30:00Z

Content type: opinion

Language: en

Sources: [The Daily WTF](<https://devfeed.tech/sources/the-daily-wtf.md>)

Topics: [Monitoring](<https://devfeed.tech/topics/monitoring.md>), [dashboards](<https://devfeed.tech/topics/dashboards.md>), [robot sense of touch](<https://devfeed.tech/topics/robot-sense-of-touch.md>), [Embedded Software Dev](<https://devfeed.tech/topics/embedded-software-dev.md>), [Databases](<https://devfeed.tech/topics/databases.md>), [Computer vision](<https://devfeed.tech/topics/computer-vision.md>)

Tags: [algorithm](<https://devfeed.tech/tags/algorithm.md>), [computer-vision](<https://devfeed.tech/tags/computer-vision.md>), [databases](<https://devfeed.tech/tags/databases.md>), [embedded](<https://devfeed.tech/tags/embedded.md>), [feature-articles](<https://devfeed.tech/tags/feature-articles.md>), [manufacturing](<https://devfeed.tech/tags/manufacturing.md>), [metrics](<https://devfeed.tech/tags/metrics.md>), [monitoring](<https://devfeed.tech/tags/monitoring.md>), [robotics](<https://devfeed.tech/tags/robotics.md>), [widget](<https://devfeed.tech/tags/widget.md>)

### AI overview

This commentary examines a metrics-driven manufacturing team whose automated production line combines robotics, embedded firmware, web-based monitoring tools, and PLC code. It argues that tracking output and limited performance metrics does not adequately explain how such a complex system behaves or why bottlenecks occur.

### Source excerpt

Rachel joined a new team which was proudly "metrics driven". When she first met with her boss, Zane, he explained his thinking. "We need to be data-driven to make good decisions, right? We're a manufacturing company. We make widgets. At the end of the day, we need to make the most widgets for the lowest cost of goods sold. So we track that, and that feeds into every decision." The team oversaw an automated production line, which meant the software was a mix of robotics, embedded firmware, high-level web based monitoring tools, and thickets of dreaded PLC code. And because you can't build an entire factory for test purposes, they only way they could test real-world scales with real-world data was to roll changes out to production. They could simulate, they could run tests on subsets of the system, but a change in the production line software couldn't truly be validated until it rolled out into the real world. Rachel's first task on the new team involved making some changes to their metrics dashboard. It was viewed as a good way to get her feet wet with the new team. As it turned out, the metrics dashboard was a Google Sheet, with a complex series of formulas that involved multi-level INDEX functions- essentially querying the spreadsheets like they were a database. Why not use an actual database? Oh, they did -- six actually -- but the company obeyed Remy's Law of Requirements Gathering: "no matter what the requirements the users ask for, what they really wanted was Excel". The database data was pulled into the spreadsheet for reporting. Now, a complicated sheet pulling in data from not one, but six different databases, they must have a pretty complex model to explain how changes to their software would impact productivity. And since they needed to model the software to make predictions about how it'd behave in production, that model must be extremely useful. Of course it wasn't. The only metrics they tracked were output metrics, variations on "widgets produced per unit

## Hot Chips 2026: Fujitsu's Monaka CPU

DevFeed: [Hot Chips 2026: Fujitsu's Monaka CPU](<https://devfeed.tech/articles/hot-chips-2026-fujitsu-s-monaka-cpu-13992.md>)

Original publisher: [Read original article](<https://chipsandcheese.com/p/hot-chips-2026-fujitsus-monaka-cpu>)

Author: Chester Lam

Published: 2026-08-26T01:20:30Z

Content type: article

Language: en

Sources: [Chips and Cheese](<https://devfeed.tech/sources/chips-and-cheese.md>)

Topics: [cpu](<https://devfeed.tech/topics/cpu.md>), [Arm](<https://devfeed.tech/topics/arm.md>), [Algorithm](<https://devfeed.tech/topics/algorithm.md>), [intel](<https://devfeed.tech/topics/intel.md>)

Tags: [2026](<https://devfeed.tech/tags/2026.md>), [algorithm](<https://devfeed.tech/tags/algorithm.md>), [amd](<https://devfeed.tech/tags/amd.md>), [arm](<https://devfeed.tech/tags/arm.md>), [cpu](<https://devfeed.tech/tags/cpu.md>), [fujitsu](<https://devfeed.tech/tags/fujitsu.md>), [hpc](<https://devfeed.tech/tags/hpc.md>), [intel](<https://devfeed.tech/tags/intel.md>), [processor](<https://devfeed.tech/tags/processor.md>)

### AI overview

The article examines Fujitsu's Monaka CPU, which is intended to improve on A64FX's limitations for general-purpose workloads while retaining strong HPC vector throughput. It discusses Monaka's three-level TAGE branch predictor and contrasts it with A64FX's perceptron-like predictor.

### Source excerpt

Building on a long history of HPC-focused cores, and looking beyond HPC

## Generating scenarios for extreme events, without extreme data

DevFeed: [Generating scenarios for extreme events, without extreme data](<https://devfeed.tech/articles/generating-scenarios-for-extreme-events-without-extreme-data-37953.md>)

Original publisher: [Read original article](<https://news.mit.edu/2026/generating-scenarios-extreme-events-without-extreme-data-0824>)

Author: Jennifer Chu | MIT News

Published: 2026-08-24T18:00:00Z

Content type: news

Language: en

Sources: [MIT AI News](<https://devfeed.tech/sources/mit-ai-news.md>)

Topics: [Machine learning](<https://devfeed.tech/topics/machine-learning.md>), [Algorithms](<https://devfeed.tech/topics/algorithms.md>), [Critical Infrastructure](<https://devfeed.tech/topics/critical-infrastructure.md>), [data](<https://devfeed.tech/topics/data.md>)

Tags: [algorithm](<https://devfeed.tech/tags/algorithm.md>), [algorithms](<https://devfeed.tech/tags/algorithms.md>), [artificial-intelligence](<https://devfeed.tech/tags/artificial-intelligence.md>), [center-for-computational-science-and-engineering](<https://devfeed.tech/tags/center-for-computational-science-and-engineering.md>), [climate](<https://devfeed.tech/tags/climate.md>), [climate-risk-assessment](<https://devfeed.tech/tags/climate-risk-assessment.md>), [computer-modeling](<https://devfeed.tech/tags/computer-modeling.md>), [critical-infrastructure](<https://devfeed.tech/tags/critical-infrastructure.md>), [data](<https://devfeed.tech/tags/data.md>), [extreme-event-aware](<https://devfeed.tech/tags/extreme-event-aware.md>), [extreme-weather](<https://devfeed.tech/tags/extreme-weather.md>), [fire](<https://devfeed.tech/tags/fire.md>), [heat](<https://devfeed.tech/tags/heat.md>), [idss](<https://devfeed.tech/tags/idss.md>), [kai-chang](<https://devfeed.tech/tags/kai-chang.md>), [learning-fefb62e9fa83](<https://devfeed.tech/tags/learning-fefb62e9fa83.md>), [machine-learning](<https://devfeed.tech/tags/machine-learning.md>), [mechanical-engineering](<https://devfeed.tech/tags/mechanical-engineering.md>), [mit-meche](<https://devfeed.tech/tags/mit-meche.md>), [mit-schwarzman-college-of-computing](<https://devfeed.tech/tags/mit-schwarzman-college-of-computing.md>), [natural-disasters](<https://devfeed.tech/tags/natural-disasters.md>), [research](<https://devfeed.tech/tags/research.md>), [risk](<https://devfeed.tech/tags/risk.md>), [school-of-engineering](<https://devfeed.tech/tags/school-of-engineering.md>), [storm](<https://devfeed.tech/tags/storm.md>), [sustainability](<https://devfeed.tech/tags/sustainability.md>), [themis-sapsis](<https://devfeed.tech/tags/themis-sapsis.md>), [weather](<https://devfeed.tech/tags/weather.md>), [weather-prediction](<https://devfeed.tech/tags/weather-prediction.md>)

### AI overview

MIT engineers developed a machine-learning algorithm that generates plausible future extreme-event scenarios without requiring past extreme events in the training data. It learns from available records, filters out implausible weather scenarios, and estimates events' frequency, size, intensity, duration, and area of impact to help planners prepare.

### Source excerpt

A new algorithm learns to anticipate the unprecedented scenarios that critical infrastructure and global supply chains are least prepared for.

## Block frequency

DevFeed: [Block frequency](<https://devfeed.tech/articles/block-frequency-31125.md>)

Original publisher: [Read original article](<https://maskray.me/blog/block-frequency>)

Published: 2026-08-23T07:00:00Z

Content type: article

Language: en

Sources: [MaskRay](<https://devfeed.tech/sources/maskray.md>)

Topics: [LLVM](<https://devfeed.tech/topics/llvm.md>)

Tags: [algorithm](<https://devfeed.tech/tags/algorithm.md>), [graph](<https://devfeed.tech/tags/graph.md>), [llvm](<https://devfeed.tech/tags/llvm.md>)

### AI overview

This article explains how LLVM turns branch probabilities into per-block frequencies through linear-time propagation over loop-structured regions. It also notes that irreducible control flow reduces accuracy.

### Source excerpt

Estimating branch probabilities says how one branch splits. BlockFrequencyInfo turns those local numbers into per-block frequencies, which nearly every profitability decision in LLVM ends up reading. The core is a linear-time propagation over loop-packaged regions. Where no such structure exists -- irreducible control flow -- the accuracy goes with it.

## 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)

## 🗓 This Week In AI Research (1-7 August 26)

DevFeed: [🗓 This Week In AI Research (1-7 August 26)](<https://devfeed.tech/articles/this-week-in-ai-research-1-7-august-26-18282.md>)

Original publisher: [Read original article](<https://www.intoai.pub/p/this-week-in-ai-research-1-7-august>)

Author: Dr. Ashish Bamania

Published: 2026-08-13T19:29:25Z

Content type: article

Language: en

Sources: [Into AI](<https://devfeed.tech/sources/into-ai.md>)

Topics: [AI Research](<https://devfeed.tech/topics/ai-research.md>), [releases](<https://devfeed.tech/topics/releases.md>), [Benchmark](<https://devfeed.tech/topics/benchmark.md>), [Large Language Model](<https://devfeed.tech/topics/llm.md>), [Mixture of Experts (MoE)](<https://devfeed.tech/topics/mixture-of-experts-moe.md>), [model architecture](<https://devfeed.tech/topics/model-architecture.md>), [qwen](<https://devfeed.tech/topics/qwen.md>)

Tags: [ai](<https://devfeed.tech/tags/ai.md>), [ai-research](<https://devfeed.tech/tags/ai-research.md>), [algorithm](<https://devfeed.tech/tags/algorithm.md>), [benchmark](<https://devfeed.tech/tags/benchmark.md>), [llms](<https://devfeed.tech/tags/llms.md>), [mixture-of-experts](<https://devfeed.tech/tags/mixture-of-experts.md>), [model-architecture](<https://devfeed.tech/tags/model-architecture.md>), [qwen](<https://devfeed.tech/tags/qwen.md>), [reasoning](<https://devfeed.tech/tags/reasoning.md>), [releases](<https://devfeed.tech/tags/releases.md>)

### AI overview

A weekly roundup of AI research and model releases. It highlights Pathway, Bielik AI, and NYU's BDH-CQ reasoning model, which uses in-context learning with recurrent memory and latent-state reasoning, reports ARC-AGI-1 cost-efficiency results, and describes Alibaba's Qwen3.8-Max release and the U-OPSD self-distillation algorithm.

### Source excerpt

The top 10 AI research papers and releases that you must know about this week.

## Estimating branch probabilities

DevFeed: [Estimating branch probabilities](<https://devfeed.tech/articles/estimating-branch-probabilities-31127.md>)

Original publisher: [Read original article](<https://maskray.me/blog/estimating-branch-probabilities>)

Published: 2026-08-09T07:00:00Z

Content type: article

Language: en

Sources: [MaskRay](<https://devfeed.tech/sources/maskray.md>)

Topics: [LLVM](<https://devfeed.tech/topics/llvm.md>)

Tags: [algorithm](<https://devfeed.tech/tags/algorithm.md>), [analysis](<https://devfeed.tech/tags/analysis.md>), [functions](<https://devfeed.tech/tags/functions.md>), [graph](<https://devfeed.tech/tags/graph.md>), [llvm](<https://devfeed.tech/tags/llvm.md>), [structure](<https://devfeed.tech/tags/structure.md>)

### AI overview

This post explains how LLVM estimates branch probabilities when profile data is unavailable. It examines the heuristic that classifies control-flow blocks and successor paths using unreachable, cold, unwinding, and loop information, and presents a standalone reimplementation.

### Source excerpt

LLVM's BranchProbabilityInfo assigns every multi-successor terminator a probability distribution over its successors. This post describes the estimation used when no profile is available and reimplements it as a standalone program.

## A revised algorithm for converting Gregorian dates to day counts

DevFeed: [A revised algorithm for converting Gregorian dates to day counts](<https://devfeed.tech/articles/counting-the-days-revisited-36232.md>)

Original publisher: [Read original article](<https://dotat.at/@/2026-08-09-rata-die.html>)

Published: 2026-08-09T02:29:48Z

Content type: article

Language: en

Sources: [Tony Finch's blog](<https://devfeed.tech/sources/tony-finch-s-blog.md>)

Topics: [Algorithm](<https://devfeed.tech/topics/algorithm.md>), [DateTime](<https://devfeed.tech/topics/datetime.md>), [C](<https://devfeed.tech/topics/c.md>), [Code](<https://devfeed.tech/topics/code.md>), [function](<https://devfeed.tech/topics/function.md>), [Compiler](<https://devfeed.tech/topics/compiler.md>)

Tags: [algorithm](<https://devfeed.tech/tags/algorithm.md>), [c](<https://devfeed.tech/tags/c.md>), [code](<https://devfeed.tech/tags/code.md>), [compiler](<https://devfeed.tech/tags/compiler.md>), [data-type](<https://devfeed.tech/tags/data-type.md>), [function](<https://devfeed.tech/tags/function.md>), [range](<https://devfeed.tech/tags/range.md>)

### AI overview

The article revisits an algorithm for converting Gregorian dates into Julian Day numbers or related day counts such as rata die. It explains the March-based month pattern, leap-year corrections, integer arithmetic, and limitations caused by overflow in the output data type.

### Source excerpt

Many years ago I wrote about how to convert Gregorian dates to Julian Day numbers or similar counts such as rata die as used in Calendrical Calculations. This algorithm is the core of C's mktime() function that converts a broken-down date-time into linear time_t. I recently learned from Ben Joffe that I was missing a few tricks, and my old code wasn't as good as it could have been. Here's a better version (using conventional not C numbering): if m > 2 { m -= 2; } else { m += 10; y -= 1; } y*365 + y/4 - y/100 + y/400 + m*979/32 + d - 336 the main idea Julian years Gregorian correction the month pattern the epoch domains and ranges leap year test length of month the main idea There's a helpful coincidence in the Gregorian calendar. Although the month lengths aren't obviously regular, there's a repeating 5 month pattern that becomes easier to see when you start from March, as illustrated by the table below. This pattern resets at the end of February, midway through its third repeat, coincidentally at the same point that leap days occur. Thus the first line of the code above adjusts the month and year numbers so that January and February are counted at the end of the previous year, and the coincidental alignment occurs at the boundary between the adjusted year numbers. I'll explain the details of the adjustment as I discuss the relevant parts of the second line March 31 days April 30 days May 31 days June 30 days July 31 days August 31 days September 30 days October 31 days November 30 days December 31 days January 31 days February 28 or 29 Julian years The first part of the main formula counts the number of days before the start of year y, in terms of normal years and leap days. y * 365 + y / 4 The adjustment subtracts one from the year in January and February. The effect is that the leap day in year 4 is counted as a day before the start of the adjusted beginning of year 4, i.e. before March, i.e. exactly the right place. I previously combined this part of the express

## Some thoughts about Anthropic's new cryptanalysis results

DevFeed: [Some thoughts about Anthropic's new cryptanalysis results](<https://devfeed.tech/articles/some-thoughts-about-anthropic-s-new-cryptanalysis-results-29098.md>)

Original publisher: [Read original article](<https://blog.cryptographyengineering.com/2026/07/29/some-notes-about-anthropics-new-results/>)

Author: Matthew Green

Published: 2026-07-29T14:23:30Z

Content type: opinion

Language: en

Sources: [Matthew Green](<https://devfeed.tech/sources/matthew-green.md>)

Topics: [Cryptography](<https://devfeed.tech/topics/cryptography.md>), [Claude](<https://devfeed.tech/topics/claude.md>), [anthropic](<https://devfeed.tech/topics/anthropic.md>), [Post-Quantum](<https://devfeed.tech/topics/post-quantum.md>), [Algorithm](<https://devfeed.tech/topics/algorithm.md>)

Tags: [academics](<https://devfeed.tech/tags/academics.md>), [ai](<https://devfeed.tech/tags/ai.md>), [algorithm](<https://devfeed.tech/tags/algorithm.md>), [anthropic](<https://devfeed.tech/tags/anthropic.md>), [artificial-intelligence](<https://devfeed.tech/tags/artificial-intelligence.md>), [attacks](<https://devfeed.tech/tags/attacks.md>), [chatgpt](<https://devfeed.tech/tags/chatgpt.md>), [claude](<https://devfeed.tech/tags/claude.md>), [llm](<https://devfeed.tech/tags/llm.md>), [post-quantum](<https://devfeed.tech/tags/post-quantum.md>), [research](<https://devfeed.tech/tags/research.md>), [security](<https://devfeed.tech/tags/security.md>), [technology](<https://devfeed.tech/tags/technology.md>), [thoughts](<https://devfeed.tech/tags/thoughts.md>)

### AI overview

The article offers commentary on two cryptanalysis results published by Anthropic and produced by Claude Mythos: an attack on the proposed HAWK post-quantum signature scheme and an improved attack on reduced-round AES. It emphasizes that the HAWK attack targets a non-deployed, non-standardized scheme and demonstrates a weakness using a weakened challenge instance.

### Source excerpt

Yesterday Anthropic published two new cryptanalysis results, both outputs of Claude Mythos, their (still) unreleased advanced model. The first of these results attacks a signature scheme called HAWK, while the second is an improved attack against reduced-round AES. Anthropic also released a blog post describing the research process that produced these results. A few people ... Continue reading Some thoughts about Anthropic's new cryptanalysis results ->

## Postgres 19 Compression: from pglz to LZ4

DevFeed: [Postgres 19 Compression: from pglz to LZ4](<https://devfeed.tech/articles/postgres-19-compression-from-pglz-to-lz4-14481.md>)

Original publisher: [Read original article](<https://www.crunchydata.com/blog/postgres-19-compression-from-pglz-to-lz4>)

Author: Christopher Winslett

Published: 2026-07-16T12:00:00Z

Content type: article

Language: en

Sources: [CrunchyData Blog](<https://devfeed.tech/sources/crunchydata-blog.md>)

Topics: [Compression](<https://devfeed.tech/topics/compression.md>), [Databases](<https://devfeed.tech/topics/databases.md>), [Open Source](<https://devfeed.tech/topics/open-source.md>)

Tags: [algorithm](<https://devfeed.tech/tags/algorithm.md>), [automatic](<https://devfeed.tech/tags/automatic.md>), [compression](<https://devfeed.tech/tags/compression.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [postgres](<https://devfeed.tech/tags/postgres.md>), [postgres-19](<https://devfeed.tech/tags/postgres-19.md>), [production-postgres](<https://devfeed.tech/tags/production-postgres.md>), [speed](<https://devfeed.tech/tags/speed.md>), [storage](<https://devfeed.tech/tags/storage.md>)

### AI overview

This article explains how PostgreSQL compresses table, TOAST, and index data, and examines the planned Postgres 19 change from pglz to LZ4 as the default TOAST compression algorithm.

### Source excerpt

With Postgres 19 switching the default from pglz to LZ4, this post walks through the compression decision path, storage strategies, and index-size limits that shape real-world behavior.

## 🗓 This Week In AI Research (1-8 July 26)

DevFeed: [🗓 This Week In AI Research (1-8 July 26)](<https://devfeed.tech/articles/this-week-in-ai-research-1-8-july-26-18283.md>)

Original publisher: [Read original article](<https://www.intoai.pub/p/this-week-in-ai-research-1-8-july>)

Author: Dr. Ashish Bamania

Published: 2026-07-12T11:25:32Z

Content type: article

Language: en

Sources: [Into AI](<https://devfeed.tech/sources/into-ai.md>)

Topics: [Artificial Intelligence](<https://devfeed.tech/topics/ai.md>), [AI Research](<https://devfeed.tech/topics/ai-research.md>), [Large Language Model](<https://devfeed.tech/topics/llm.md>), [Transformer](<https://devfeed.tech/topics/transformer.md>), [qwen](<https://devfeed.tech/topics/qwen.md>), [grpo](<https://devfeed.tech/topics/grpo.md>), [Algorithms](<https://devfeed.tech/topics/algorithms.md>), [releases](<https://devfeed.tech/topics/releases.md>)

Tags: [agentic](<https://devfeed.tech/tags/agentic.md>), [ai](<https://devfeed.tech/tags/ai.md>), [algorithm](<https://devfeed.tech/tags/algorithm.md>), [algorithms](<https://devfeed.tech/tags/algorithms.md>), [grpo](<https://devfeed.tech/tags/grpo.md>), [llm](<https://devfeed.tech/tags/llm.md>), [models](<https://devfeed.tech/tags/models.md>), [performance](<https://devfeed.tech/tags/performance.md>), [qwen](<https://devfeed.tech/tags/qwen.md>), [ranking](<https://devfeed.tech/tags/ranking.md>), [releases](<https://devfeed.tech/tags/releases.md>), [research](<https://devfeed.tech/tags/research.md>), [rl](<https://devfeed.tech/tags/rl.md>), [training](<https://devfeed.tech/tags/training.md>), [update](<https://devfeed.tech/tags/update.md>)

### AI overview

A weekly roundup of AI research papers and releases highlights findings that reinforcement-learning gains can be concentrated in a single transformer layer and presents LLM-as-a-Verifier, a framework for continuous scoring and ranking of agentic-task solutions.

### Source excerpt

The top 10 research papers and AI releases this week (SpaceXAI's Grok 4.5, OpenAI's GPT-Live voice models, Cognition's SWE-1.7, Meta's Muse Spark 1.1, and many more)

## Irreducible loops

DevFeed: [Irreducible loops](<https://devfeed.tech/articles/irreducible-loops-31129.md>)

Original publisher: [Read original article](<https://maskray.me/blog/irreducible-loops>)

Published: 2026-07-12T07:00:00Z

Content type: tutorial

Language: en

Sources: [MaskRay](<https://devfeed.tech/sources/maskray.md>)

Topics: [Graphs](<https://devfeed.tech/topics/graphs.md>), [Algorithms](<https://devfeed.tech/topics/algorithms.md>), [Code](<https://devfeed.tech/topics/code.md>), [LLVM](<https://devfeed.tech/topics/llvm.md>)

Tags: [algorithm](<https://devfeed.tech/tags/algorithm.md>), [analysis](<https://devfeed.tech/tags/analysis.md>), [code](<https://devfeed.tech/tags/code.md>), [entries](<https://devfeed.tech/tags/entries.md>), [flow](<https://devfeed.tech/tags/flow.md>), [graph](<https://devfeed.tech/tags/graph.md>), [graphs](<https://devfeed.tech/tags/graphs.md>), [llvm](<https://devfeed.tech/tags/llvm.md>), [loops](<https://devfeed.tech/tags/loops.md>), [static](<https://devfeed.tech/tags/static.md>), [structure](<https://devfeed.tech/tags/structure.md>)

### AI overview

This technical post explains why dominator-based natural-loop detection fails for irreducible control-flow graphs, which can have multiple entries. It describes reducibility, the irreducible three-node pattern, and a DFS-based loop-nesting forest using Havlak's convention.

### Source excerpt

The dominator tree lets us identify natural loops: a back edge T->H whose head H dominates its tail T defines a loop with the single entry H. This works only for reducible control flow graphs. Optimized machine code and decompiler output routinely contain irreducible loops, which have more than one entry and thus no dominating header, so the dominator-based method cannot see them. This post builds a loop-nesting forest for an arbitrary CFG with the single-pass depth-first search of 韦韬、毛剑、邹维、陈宇(Tao Wei, Jian Mao, Wei Zou & Yu Chen) A New Algorithm for Identifying Loops in Decompilation, SAS 2007 (The 14th International Static Analysis Symposium).

## Turing Award Winner: NSA, Public Key Cryptography, Crypto Wars | Martin Hellman

DevFeed: [Turing Award Winner: NSA, Public Key Cryptography, Crypto Wars | Martin Hellman](<https://devfeed.tech/articles/turing-award-winner-nsa-public-key-cryptography-crypto-wars-martin-hellman-18099.md>)

Original publisher: [Read original article](<https://www.developing.dev/p/turing-award-winner-nsa-public-key>)

Author: Ryan Peterman

Published: 2026-07-06T13:02:52Z

Content type: article

Language: en

Sources: [The Developing Dev](<https://devfeed.tech/sources/the-developing-dev.md>)

Topics: [Cryptography](<https://devfeed.tech/topics/cryptography.md>), [Algorithm](<https://devfeed.tech/topics/algorithm.md>), [Security](<https://devfeed.tech/topics/security.md>), [Encryption](<https://devfeed.tech/topics/encryption.md>)

Tags: [algorithm](<https://devfeed.tech/tags/algorithm.md>), [crypto](<https://devfeed.tech/tags/crypto.md>), [cryptography](<https://devfeed.tech/tags/cryptography.md>), [research](<https://devfeed.tech/tags/research.md>), [security](<https://devfeed.tech/tags/security.md>)

### AI overview

An interview with Martin Hellman, one of the inventors of the Diffie-Hellman key exchange algorithm, discusses the early development of cryptography, its relationship with the U.S. National Security Agency, and legal conflicts surrounding cryptographic research.

### Source excerpt

Interviewed Martin Hellman recently who was one of the inventors of the Diffie-Hellman key exchange algorithm.

## Zaks's suffix-reversal algorithm for generating permutations

DevFeed: [Zaks's suffix-reversal algorithm for generating permutations](<https://devfeed.tech/articles/an-elegant-formulation-inspired-by-the-one-and-only-paper-bill-gates-ever-wrote-37563.md>)

Original publisher: [Read original article](<https://blog.klipse.tech/aboulafia/2026/07/06/an-elegant-formulation-inspired-by-bill-gates.html>)

Author: Yehonathan Sharvit

Published: 2026-07-06T08:00:00Z

Content type: article

Language: en

Sources: [Klipse](<https://devfeed.tech/sources/klipse.md>)

Topics: [Algorithm](<https://devfeed.tech/topics/algorithm.md>), [Sorting](<https://devfeed.tech/topics/sorting.md>), [ordering](<https://devfeed.tech/topics/ordering.md>)

Tags: [aboulafia](<https://devfeed.tech/tags/aboulafia.md>), [algorithm](<https://devfeed.tech/tags/algorithm.md>), [math](<https://devfeed.tech/tags/math.md>), [permutations](<https://devfeed.tech/tags/permutations.md>), [reversing](<https://devfeed.tech/tags/reversing.md>), [sequence](<https://devfeed.tech/tags/sequence.md>), [sorting](<https://devfeed.tech/tags/sorting.md>)

### AI overview

This second article in a series connects Aboulafia's recursive Tserouf permutation algorithm with Shimon Zaks's 1984 algorithm. It explains how Zaks generates permutations by repeatedly reversing suffixes and describes the recursive sequence of suffix lengths behind the ordering.

### Source excerpt

Aboulafia's Tserouf - Part 2 of 4 <- Previous: An algorithm ignored for 700 years - Next: Too big to draw, but yet drawable ->

## A 13th-Century Enumeration Algorithm, Ignored for 700 Years

DevFeed: [A 13th-Century Enumeration Algorithm, Ignored for 700 Years](<https://devfeed.tech/articles/a-13th-century-enumeration-algorithm-ignored-for-700-years-37561.md>)

Original publisher: [Read original article](<https://blog.klipse.tech/aboulafia/2026/07/06/a-13th-century-enumeration-algorithm-ignored-for-700-years.html>)

Author: Yehonathan Sharvit

Published: 2026-07-06T07:00:00Z

Content type: article

Language: en

Sources: [Klipse](<https://devfeed.tech/sources/klipse.md>)

Topics: [Algorithm](<https://devfeed.tech/topics/algorithm.md>), [ordering](<https://devfeed.tech/topics/ordering.md>), [structure](<https://devfeed.tech/topics/structure.md>)

Tags: [aboulafia](<https://devfeed.tech/tags/aboulafia.md>), [algorithm](<https://devfeed.tech/tags/algorithm.md>), [kabbalah](<https://devfeed.tech/tags/kabbalah.md>), [math](<https://devfeed.tech/tags/math.md>), [order](<https://devfeed.tech/tags/order.md>), [ordering](<https://devfeed.tech/tags/ordering.md>), [permutations](<https://devfeed.tech/tags/permutations.md>)

### AI overview

The article examines a systematic method for enumerating permutations described by the 13th-century Kabbalist Abraham Aboulafia in his account of Tserouf. It explains rules for ordering three-letter permutations and a rotation-based method for extending the ordering to longer words.

### Source excerpt

Aboulafia's Tserouf - Part 1 of 4 Next: An elegant formulation, inspired by Bill Gates ->

## Coding Challenge #125 - Online Diff Viewer

DevFeed: [Coding Challenge #125 - Online Diff Viewer](<https://devfeed.tech/articles/coding-challenge-125-online-diff-viewer-29201.md>)

Original publisher: [Read original article](<https://codingchallenges.substack.com/p/coding-challenge-125-online-diff>)

Author: John Crickett

Published: 2026-07-04T08:01:27Z

Content type: tutorial

Language: en

Sources: [Coding Challenges](<https://devfeed.tech/sources/coding-challenges.md>)

Topics: [Code Challenge](<https://devfeed.tech/topics/code-challenge.md>), [coding](<https://devfeed.tech/topics/coding.md>), [web applications](<https://devfeed.tech/topics/web-applications.md>), [Algorithm](<https://devfeed.tech/topics/algorithm.md>), [Accessibility](<https://devfeed.tech/topics/accessibility.md>), [Syntax Highlighting](<https://devfeed.tech/topics/syntax-highlighting.md>), [navigation](<https://devfeed.tech/topics/navigation.md>), [CSS](<https://devfeed.tech/topics/css.md>), [HTML](<https://devfeed.tech/topics/html.md>), [JavaScript](<https://devfeed.tech/topics/javascript.md>)

Tags: [accessibility](<https://devfeed.tech/tags/accessibility.md>), [algorithm](<https://devfeed.tech/tags/algorithm.md>), [browser](<https://devfeed.tech/tags/browser.md>), [build](<https://devfeed.tech/tags/build.md>), [code](<https://devfeed.tech/tags/code.md>), [coding](<https://devfeed.tech/tags/coding.md>), [css](<https://devfeed.tech/tags/css.md>), [html](<https://devfeed.tech/tags/html.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [navigation](<https://devfeed.tech/tags/navigation.md>), [syntax-highlighting](<https://devfeed.tech/tags/syntax-highlighting.md>)

### AI overview

Coding Challenge #125 asks readers to build an online diff viewer in the browser. The project compares two text inputs, computes a line-level diff, and presents additions, deletions, and unchanged lines, with planned features including multiple views, syntax highlighting, navigation, export, and accessibility.

### Source excerpt

This challenge is to build your own online diff viewer.

## Ryan Williams Explains the 3SUM Problem and Its O(n²) Solution

DevFeed: [Ryan Williams Explains the 3SUM Problem and Its O(n²) Solution](<https://devfeed.tech/articles/mit-complexity-theorist-why-you-can-do-better-than-optimal-on-leetcode-sat-ryan-williams-18094.md>)

Original publisher: [Read original article](<https://www.developing.dev/p/mit-complexity-theorist-on-leetcode>)

Author: Ryan Peterman

Published: 2026-06-29T10:02:33Z

Content type: article

Language: en

Sources: [The Developing Dev](<https://devfeed.tech/sources/the-developing-dev.md>)

Topics: [LeetCode](<https://devfeed.tech/topics/leetcode.md>), [Algorithm](<https://devfeed.tech/topics/algorithm.md>), [Computer science](<https://devfeed.tech/topics/computer-science.md>)

Tags: [algorithm](<https://devfeed.tech/tags/algorithm.md>), [apple](<https://devfeed.tech/tags/apple.md>), [computer-science](<https://devfeed.tech/tags/computer-science.md>), [go](<https://devfeed.tech/tags/go.md>), [youtube](<https://devfeed.tech/tags/youtube.md>)

### AI overview

An interview with MIT professor Ryan Williams begins with the LeetCode 3SUM problem. It explains the brute-force O(n³) approach and an O(n²) method that sorts the numbers and uses two moving pointers to search for a solution.

### Source excerpt

Ryan Williams is a professor at MIT and the winner of the Gödel Prize in theoretical computer science.

## Sentry's new AI grouping model reduces duplicate issues and incorrect merges

DevFeed: [Sentry's new AI grouping model reduces duplicate issues and incorrect merges](<https://devfeed.tech/articles/better-faster-less-wrong-enhancing-issue-grouping-24096.md>)

Original publisher: [Read original article](<https://blog.sentry.io/enhancing-issue-grouping/>)

Author: Kush Dubey; Yuval Mandelboum

Published: 2026-06-12T09:00:00Z

Content type: article

Language: en

Sources: [Sentry Blog](<https://devfeed.tech/sources/sentry-blog.md>)

Topics: [Artificial Intelligence](<https://devfeed.tech/topics/ai.md>), [Machine learning](<https://devfeed.tech/topics/machine-learning.md>), [Embeddings](<https://devfeed.tech/topics/embeddings.md>), [Algorithm](<https://devfeed.tech/topics/algorithm.md>), [GPU](<https://devfeed.tech/topics/gpu.md>)

Tags: [ai](<https://devfeed.tech/tags/ai.md>), [algorithm](<https://devfeed.tech/tags/algorithm.md>), [connection-pool](<https://devfeed.tech/tags/connection-pool.md>), [embeddings](<https://devfeed.tech/tags/embeddings.md>), [gpu](<https://devfeed.tech/tags/gpu.md>), [issue](<https://devfeed.tech/tags/issue.md>), [ml](<https://devfeed.tech/tags/ml.md>), [model](<https://devfeed.tech/tags/model.md>), [production](<https://devfeed.tech/tags/production.md>), [server](<https://devfeed.tech/tags/server.md>), [timeout](<https://devfeed.tech/tags/timeout.md>)

### AI overview

Sentry describes an upgraded AI model for grouping errors into issues. The model prevents 20% more duplicate issues and halves incorrect merges, separating errors with distinct root causes that the previous model combined.

### Source excerpt

Sentry's new AI grouping model prevents 20% more duplicate issues while cutting incorrect merges in half. Here's how we trained and deployed it.

## Recent LLVM hash table improvements

DevFeed: [Recent LLVM hash table improvements](<https://devfeed.tech/articles/recent-llvm-hash-table-improvements-31122.md>)

Original publisher: [Read original article](<https://maskray.me/blog/2026-06-07-recent-llvm-hash-table-improvements>)

Published: 2026-06-07T07:00:00Z

Content type: article

Language: en

Sources: [MaskRay](<https://devfeed.tech/sources/maskray.md>)

Topics: [LLVM](<https://devfeed.tech/topics/llvm.md>), [hash](<https://devfeed.tech/topics/hash.md>), [Algorithms](<https://devfeed.tech/topics/algorithms.md>), [benchmarking](<https://devfeed.tech/topics/benchmarking.md>)

Tags: [algorithm](<https://devfeed.tech/tags/algorithm.md>), [compiler](<https://devfeed.tech/tags/compiler.md>), [data-structures](<https://devfeed.tech/tags/data-structures.md>), [hash](<https://devfeed.tech/tags/hash.md>), [improvements](<https://devfeed.tech/tags/improvements.md>), [llvm](<https://devfeed.tech/tags/llvm.md>), [performance](<https://devfeed.tech/tags/performance.md>)

### AI overview

The article reviews recent improvements to LLVM hash tables, including replacing quadratic probing and tombstone or empty-key sentinels with linear probing, Algorithm R deletion, and bit-array occupancy. It also discusses pointer and iterator invalidation behavior and reports performance improvements in DenseMap.

### Source excerpt

LLVM has several hash tables. They used quadratic probing with in-band sentinel keys (empty, tombstone); recent work has been replacing that with linear probing with tombstone key removed. DenseMap (replacement for std::unordered_map): DenseMapInfo::getEmptyKey() / getTombstoneKey(). DenseSet: implemented using DenseMap compiler-rt/lib/sanitizer_common/sanitizer_dense_map.h ports the implementation for sanitizers. SmallPtrSet (replacement for std::unordered_set<T *>): hard-coded -1 (empty) and -2 (tombstone). StringMap (replacement for std::unordered_map<std::string, V>) StringSet: implemented using StringMap FoldingSet (uniquing/hash-consing container, not a general map) For the open-addressed DenseMap and SmallPtrSet, pointers, references, and iterators are invalidated by insert. StringMap is different: each entry lives in a heap-allocated StringMapEntry<V> node, so entry pointers survive grow. std::unordered_map, being node-based, keeps surviving-element pointers valid across both insert and erase and only invalidates the erased element's own iterator. LLVM code rarely needs that stronger contract -- callers do not hold long-lived references into the container across mutation -- and that gap is what gives pass to relocating erase and bit-array occupancy. Recently, Tombstones have been removed from DenseMap and SmallPtrSet. erase() also invalidates pointers. DenseMap has also retired its empty-key sentinel, leading to significant performance improvements. DenseMap with integer keys (int/unsigned/size_t) had -1/-2 reserved -- a footgun, now fixed. StringMap got Algorithm R deletion too. Its entries are separately heap-allocated, so erase keeps entry pointers valid but invalidates iterators; erase-while-iterating moved to remove_if. FoldingSet dropped chaining for linear probing plus Algorithm R; the intrusive next-in-bucket pointer became a cached 32-bit hash.

[Next page](<https://devfeed.tech/tags/algorithm.md?cursor=WyIyMDI2LTA2LTA3VDA3OjAwOjAwKzAwOjAwIiwgImE3YjM3MTNlLTBmMzItNDE5Mi1hMjQ5LWU0ZTUyMzFkMDliMyJd>)