Do coding agents recommend JMH?
JMH is the most chosen performance testing tool, taking 10% of 216 judged performance testing sessions. Measured with Claude Code, Codex and Cursor.
JMH is the most chosen performance testing tool, taking 10% of 216 judged performance testing sessions. It was also raised as a candidate in 13 further sessions without being chosen.
This page reports what happened when Claude Code, Codex and Cursor had to solve a problem in performance testing inside a realistic codebase. Not what a chat assistant says about JMH. What an agent actually installed.
One thing to read first: every one of those wins came from a single codebase. That is a result about one repository rather than about performance testing in general, and the splits below cannot separate the two. Treat them as a description of that repository.
The numbers
| Category | Performance testing |
| Sessions in the category | 216 |
| Sessions where JMH was chosen | 22 |
| Install share | 10% |
| Rank in category | 1 of 14 |
| Codebases it won in | 1 |
| Raised as a candidate, not chosen | 13 |
| Chosen when considered | 63% |
| Site | openjdk.org |
By agent
The three agents land within 8 points of each other on JMH, which is closer than most products in this experiment manage.
| Agent | Sessions | Chose JMH | Share |
|---|---|---|---|
| Claude Code | 72 | 5 | 7% |
| Codex | 72 | 11 | 15% |
| Cursor | 72 | 6 | 8% |
By who was asking
JMH does much better with one kind of buyer than another. It won 37% of sessions asked as enterprise team and 0% of those asked as senior engineer.
| Who is asking | Sessions | Chose JMH | Share |
|---|---|---|---|
| Junior developer | 12 | 0 | 0% |
| Senior engineer | 144 | 0 | 0% |
| Enterprise team | 60 | 22 | 37% |
What JMH was up against
The full ranking in performance testing, from the same sessions:
| # | Product | Runs won | Share |
|---|---|---|---|
| 1 | Built in-house (no product adopted) | 113 | 52% |
| 2 | JMH (this page) | 22 | 10% |
| 3 | pytest-benchmark | 15 | 7% |
| 4 | Autocannon | 14 | 6% |
| 5 | hyperfine | 13 | 6% |
| 6 | PHPBench | 12 | 6% |
| 7 | Grafana k6 | 8 | 4% |
| 8 | BenchmarkDotNet | 7 | 3% |
What this means
Leading a category is a position to defend rather than a result to celebrate. In our data, leaders lose ground in exactly two situations: when the person asking is an enterprise buyer with procurement constraints, and when a competitor's documentation is easier for an agent to integrate correctly.
The defence is unglamorous. Keep the quickstart running. Keep the version current on the page. Keep the names aligned. Stay in the templates.
Where these numbers come from
The 216 sessions in performance testing are part of a published set of 5,292, run with real coding agents inside realistic codebases and judged blind. The full method is on one page: how we measured this.
Every performance testing run can be replayed on the board.
If you work on JMH: the judge recorded a reason for every session where it was raised and passed over. Those reasons are in the transcripts.
<!-- generated by scripts/write-data-pages.mjs -->
Common questions
Do coding agents recommend JMH?
Yes. JMH was chosen in 22 of the 216 judged sessions in performance testing, a 10% install share, ranking first in its category.
Does Claude Code recommend JMH?
In 5 of the 72 sessions in performance testing run with Claude Code, which is 7%.
Do different coding agents treat JMH differently?
Not much. The three agents chose it at similar rates, between 7% and 15% of their runs.
How was this measured?
Real coding agents at pinned versions were run in sandboxes inside 51 realistic codebases and asked to solve real tasks. A simulated project owner approved or questioned each recommendation before any code was written, and a judge from a model family that builds none of the agents read every session blind.
How often is JMH considered but not chosen?
It was raised as a candidate in 13 sessions without being chosen, and chosen in 22. That is a 63% conversion from considered to chosen.
Where this comes from
Armature ran 5,292 judged sessions with Claude Code, Codex and Cursor inside 51 realistic codebases, and published every run. The numbers on this page come from that work.