Benchmarks · benchmark

HumanEval: what the benchmark actually measures

A practical guide to humaneval, using data from the AI & LLM Index. The goal is a shortlist and a decision, not a tour of every option.

What HumanEval measures

HumanEval is a coding benchmark. Python function synthesis from docstrings, scored by unit tests.

The index scores all 600 models on a 0–100 scale. The average is 74.0 and the top score is 96.8.

How to read the scores

A benchmark score is a compressed signal. It tells you how a model performed on a specific test distribution, not how it will perform on your data. Read the leaderboard as a way to form a shortlist, then validate the shortlist with your own examples.

On HumanEval, the gap between the leader and the median is 22.8 points. That gap is the useful part of the chart: it shows how much separation the benchmark creates.

Leaders

GPT-5.2 Pro leads at 96.8, followed by Gemini 3 Pro Pro at 95.0 and o4 Max at 94.6.

Limitations

  • Scores in this index are modelled estimates, not official results.
  • Benchmark contamination can inflate scores for models trained on similar data.
  • A high score does not guarantee good performance on a different task shape.
  • Prompt format and evaluation harness can move results by several points.

Top 5 on HumanEval

ModelProviderScoreInput / 1M
GPT-5.2 ProOpenAI96.8$21.32
Gemini 3 Pro ProGoogle DeepMind95.0$19.80
o4 MaxOpenAI94.6$19.51
Grok 4 ReasoningxAI93.8$19.67
Claude Opus 4.5Anthropic93.7$19.42

Related

FAQ

Who leads HumanEval?

GPT-5.2 Pro leads this index at 96.8.

What is the most important factor in humaneval?

Fit to the task beats raw benchmark rank. Define the failure modes, pick the benchmarks that resemble them, then test a small shortlist on your own examples.

How many models should I evaluate?

Three is usually enough: a quality candidate, a value candidate and a fallback. More candidates add work without changing the decision.

How do I control cost?

Compare blended 3:1 price, watch output tokens, use caching where available and route simple requests to a cheaper model.