Gemini 3.8 Flash vs GPT-5.6 Sol
Reading a 26.2K-token pull request costs $0.1048 on GPT-5.6 Sol, 5.3× the $0.0197 it costs on Gemini 3.8 Flash. Gemini 3.8 Flash is a mid-range model and GPT-5.6 Sol a frontier one. The benchmark cannot separate their recall: Gemini 3.8 Flash minus GPT-5.6 Sol is −5 pts (95% interval −20 pts to +12 pts).
Side by side
| Figure | Gemini 3.8 Flash | GPT-5.6 Sol |
|---|---|---|
| Price tier | Mid-range | Frontier |
| Bugs caughtshare of known bugs | 68% | 72% (better) |
| False alarmsper clean PR | 1.0 (better) | 1.2 |
| Cost per reviewmeasured | $0.0862 (better) | $0.1127 |
| Cost per bug caught | $0.1166 (better) | $0.1732 |
| Exact linecatches on the expected lines | 94% (better) | 92% |
| Review timemean | 427s | 50s (better) |
| Typical review calllist price | $0.0287 (better) | $0.1532 |
| Input / 1M tokens | $0.75 (better) | $4.00 |
| Output / 1M tokens | $3.75 (better) | $20.00 |
| Context window | 1M | 1.1M |
Head to head
The known bugs both were scored on, by who caught each in at least one run.
By language
| Model | All | TypeScript6 bugs | Go4 bugs | Java4 bugs | Rust4 bugs | C#3 bugs | JavaScript3 bugs | Kotlin3 bugs | PHP3 bugs | Python3 bugs | Ruby3 bugs | Swift3 bugs | C++2 bugs | C1 bug |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Gemini 3.8 Flash | 68% | 83% | 75% | 43% | 75% | 78% | 67% | 0% | 50% | 83% | 100% | 100% | 50% | 50% |
| GPT-5.6 Sol | 72% | 67% | 50% | 69% | 75% | 56% | 100% | 67% | 100% | 100% | 67% | 100% | 50% | 0% |
Of the 42 known bugs both were scored on, both caught 25 and neither caught 4. Gemini 3.8 Flash caught 6 bugs that GPT-5.6 Sol missed: 2 in TypeScript, 1 in C, 1 in C#, 1 in Go and 1 in Ruby. GPT-5.6 Sol caught 7 bugs that Gemini 3.8 Flash missed: 2 in Java, 2 in Kotlin, 1 in JavaScript, 1 in PHP and 1 in TypeScript.
On pull requests with no known bug, Gemini 3.8 Flash raised 1 false alarms per review and GPT-5.6 Sol 1.2. A measured review cost $0.0862 on Gemini 3.8 Flash, 24% less than $0.1127 on GPT-5.6 Sol.
| Pull request | Language · kind | Gemini 3.8 Flash | GPT-5.6 Sol |
|---|---|---|---|
| dotnet/orleansfix(serialization): cap codec allocations | C# · Logic | 1/1 | 0/1 |
| rails/railsReimplement Action Cable redis adapter with redis-client | Ruby · Logic | 1/1 | 0/1 |
| traefik/traefikAdd the option to define custom cipher suites for backend serversTransport | Go · API misuse | 1/1 | 0/1 |
| trpc/trpcfix(server): pass maxDurationMs timeout signal to subscription handlers | TypeScript · Concurrency | 1/1 | 0/1 |
| withastro/astroPort Go's csrf protection | TypeScript · Logic | 2/2 | 0/1 |
| c-ares/c-aresEvent Thread could stall when not notified of new queries on existing connections that are in a bad state | C · Resource handling | 1/2 | 0/1 |
| colinhacks/zodfeat(v4): parse input containing reference cycles | TypeScript · Resource handling | 0/1 | 1/1 |
| jhy/jsoupStore cached child els in Attributes, not field | Java · Concurrency | 0/4 | 1/6 |
| kotest/kotestRefactor eventually to ensure wall-clock time usage | Kotlin · Error handling | 0/1 | 1/1 |
| ktorio/ktorKTOR-9171 Redesign ByteReadChannel.readUTF8Line API | Kotlin · Logic | 0/1 | 1/1 |
| mockito/mockitoAdd core API to enable Kotlin singleton mocking | Java · API misuse | 0/1 | 1/1 |
| nodejs/undicifeat: add configurable maxPayloadSize for WebSocket | JavaScript · Security | 0/1 | 1/1 |
| symfony/symfony[Security] Allow multiple OIDC discovery endpoints | PHP · Security | 0/1 | 1/1 |
Defects caught over all runs: a PR reviewed three times with one known bug shows 3/3 when it was caught every time.
Every bug each was scored on: Gemini 3.8 Flash and GPT-5.6 Sol.