CodePanel

Gemini 3.5 Flash-Lite vs Gemini 4 Argon

Reading a 26.2K-token pull request costs $0.0524 on Gemini 4 Argon, 6.7× the $0.0079 it costs on Gemini 3.5 Flash-Lite. Gemini 3.5 Flash-Lite is a economy model and Gemini 4 Argon a mid-range one. In the benchmark Gemini 4 Argon caught 71 percentage points more of the known defects than Gemini 3.5 Flash-Lite (95% interval −84 pts to −57 pts, a − b).

Side by side

Gemini 3.5 Flash-Lite and Gemini 4 Argon side by side
FigureGemini 3.5 Flash-LiteGemini 4 Argon
Price tierEconomyMid-range
Bugs caughtshare of known bugs11%82% (better)
False alarmsper clean PR0.4 (better)1.1
Cost per reviewmeasured$0.0059 (better)$0.0527
Cost per bug caught$0.0528 (better)$0.0706
Exact linecatches on the expected lines83% (better)78%
Review timemean103s99s (better)
Typical review calllist price$0.0139 (better)$0.0766
Input / 1M tokens$0.30 (better)$2.00
Output / 1M tokens$2.50 (better)$10.00
Context window1M1M

Head to head

The known bugs both were scored on, by who caught each in at least one run.

Of 42 known bugs both were scored on: Both 6Only Gemini 3.5 Flash-Lite 0Only Gemini 4 Argon 30Neither 6

By language

Share of known bugs each model caught, by language
ModelAllTypeScript6 bugsGo4 bugsJava4 bugsRust4 bugsC#3 bugsJavaScript3 bugsKotlin3 bugsPHP3 bugsPython3 bugsRuby3 bugsSwift3 bugsC++2 bugsC1 bug
Gemini 3.5 Flash-Lite11%33%0%5%0%0%0%33%0%17%0%0%50%0%
Gemini 4 Argon82%83%50%83%75%89%67%100%100%83%100%100%100%0%

Where they differ

Of the 42 known bugs both were scored on, both caught 6 and neither caught 6. Gemini 4 Argon caught 30 bugs that Gemini 3.5 Flash-Lite missed: 3 in C#, 3 in Java, 3 in PHP, 3 in Ruby, 3 in Rust, 3 in Swift, 3 in TypeScript, 2 in Go, 2 in JavaScript, 2 in Kotlin, 2 in Python and 1 in C++.

On pull requests with no known bug, Gemini 3.5 Flash-Lite raised 0.4 false alarms per review and Gemini 4 Argon 1.1. A measured review cost $0.0059 on Gemini 3.5 Flash-Lite, 89% less than $0.0527 on Gemini 4 Argon.

Each known bug, and how often each model caught it
Pull requestLanguage · kindGemini 3.5 Flash-LiteGemini 4 Argon
MudBlazor/MudBlazorRefactor: MudDebouncedInput, ThrottleDispatcher and DebounceDispatcherC# · Concurrency0/32/3
OrchardCMS/OrchardCoreSimplify using `StringValues` in Liquid templatesC# · Security0/11/1
TanStack/queryfix(query-core): fix hydration bugs for already resolved promisesTypeScript · Logic0/11/1
aio-libs/aiohttpkeep websocket compression state across interleaved control framesPython · Logic0/11/1
better-auth/better-authfix(saml): IdP-Initiated Callback RoutingTypeScript · Security0/22/2
denoland/denoperf(libs/core): poll only ready handles and yield between I/O batchesRust · Concurrency0/11/1
django/djangoFixed #36226 -- Accepted str or bytes for password and salt in password hashers.Python · Error handling0/11/1
doctrine/ormFix collection filtering API for IN/NOT IN comparisons that require type conversionsPHP · Logic0/11/1
dotnet/orleansfix(serialization): cap codec allocationsC# · Logic0/11/1
ggml-org/llama.cpprpc : cache and reuse compute graphsC++ · Security0/11/1
go-chi/chifeat: middleware.ClientIP, a replacement for middleware.RealIPGo · Security0/11/1
groue/GRDB.swiftDatabaseQueue and DatabaseSnapshot reads can access task localsSwift · Concurrency0/11/1
iBotPeaches/Apktoolrefactor: Improve renaming/injection of resources in stripped APKsJava · Security0/11/1
jhy/jsoupStore cached child els in Attributes, not fieldJava · Concurrency0/21/2
kotest/kotestFix DataClassEq comparatorKotlin · Logic0/11/1
ktorio/ktorKTOR-9171 Redesign ByteReadChannel.readUTF8Line APIKotlin · Logic0/11/1
laravel/framework[12.x] Colocate Container build functions with the `Buildable` interfacePHP · Error handling0/11/1
mockito/mockitoAdd core API to enable Kotlin singleton mockingJava · API misuse0/11/1
pinojs/thread-streamrefactor: replace setTimeout with Atomics.waitAsyncJavaScript · Concurrency0/11/1
pointfreeco/swift-composable-architectureRemove child store from parent when invalidatedSwift · Resource handling0/11/1
pointfreeco/swift-navigationUIKit: Fix switch presented child double dismissSwift · Logic0/11/1
rack/rackApply bytesize and number of param limits in QueryParserRuby · Security0/11/1
rails/railsReimplement Action Cable redis adapter with redis-clientRuby · Logic0/11/1
rustls/rustlsAffix `Protocol` at top of client handshakeRust · Logic0/11/1
sindresorhus/p-throttleAdd `weight` optionJavaScript · Logic0/11/1
socketry/asyncBarrier wait in completion order + `Queue#close`.Ruby · Concurrency0/11/1
symfony/symfony[Security] Allow multiple OIDC discovery endpointsPHP · Security0/11/1
tokio-rs/tokiotime: move lazy-registration state into `Sleep`Rust · Logic0/11/1
traefik/traefikAdd the option to define custom cipher suites for backend serversTransportGo · API misuse0/11/1
trpc/trpcfix(server): pass maxDurationMs timeout signal to subscription handlersTypeScript · Concurrency0/11/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.5 Flash-Lite and Gemini 4 Argon.