THERMOHAMMER Get the app

How ThermoHammer tests and scores a device

Two instruments in one app: a benchmark that scores the whole device, and a stress test that shows what happens when the heat arrives. This page says what each one measures and how the numbers are made.

The benchmark: six sections

One run works through 25 tests in six sections. The same tests run on Android, iPhone and Windows, built from the same code wherever the platform allows it, so a score means the same thing on each.

CPU

CPU

Best on the board: 15,262 · PC (12th Gen Intel Core i7-12700KF)

Raw processor work on one core, then on all of them.

C1MathMatrix multiply, FFT, Mandelbrot, prime sieve, RSA-1024, n-body
C2JSON & XMLWorking through documents in the two formats apps trade data in
C3Compression & cryptozlib, AES-256-GCM, SHA-256
C4Multi-coreMatrix multiply, FFT, Mandelbrot, JSON, zlib and SHA-256 on every core
MEM

Memory

Best on the board: 9,839 · Vivo X300 Pro (Satellite Edition)

How fast data moves: in RAM, on storage, and through a database.

M1RAMRead, write and copy on every core, plus random-access latency
M2StorageSequential and random 4 KB reads and writes on a temp file, deleted after
M3DatabaseSQLite used like a messaging app: save, mark read, open chats
GPU

GPU

Best on the board: 43,207 · PC (12th Gen Intel Core i7-12700KF)

Three real-time 3D scenes, rendered off the leash.

G1Lake ValleyA forest lake in daylight: sun shadows, water reflections
G2Neon CityA rainy city at night: 800+ lights, fog, wet streets
G3Neon City RTThe same city with ray-traced reflections and shadows, on devices that support it
UX

Everyday UX

Best on the board: 16,199 · PC (12th Gen Intel Core i7-12700KF)

The things you actually do all day, measured instead of guessed.

U1Web browsingPage layout, Canvas, CSS and SVG animation, and JavaScript in the system WebView
U2Web scrollingAn endless social feed, built as it scrolls ever faster, with no dropped frames allowed
U3Photo gallery12 MP JPEG, WebP and AVIF photos decoded and shown in a web page
U4Photo editingGPU edits of a 12 MP photo: fisheye, blur, bokeh, sharpen, colour grade
U5Video playback4K60 H.264, HEVC 10-bit, VP9, AV1 and 8K30 HEVC and AV1, decoded flat out
U6Video exportA 4K edit exported to H.264, HEVC and AV1 (plus 8K HEVC), with the quality checked
U7QR scanning32 camera frames decoded with ZXing
AI

AI

Best on the board: 11,828 · PC (12th Gen Intel Core i7-12700KF)

Six open models, each on the CPU, the GPU and the NPU.

A1Image classificationMobileNet-v2 · 224×224
A2Object detectionYOLOX · 640×640
A3Street segmentationFFNet-40S · Cityscapes · 2048×1024
A4Super resolutionReal-ESRGAN ×4 · 128 → 512
A5Depth estimationMiDaS v2 · 256×256
A6Sound recognitionYAMNet · 0.96 s of audio

The models are open and 8-bit. The NPU counts where the device has a supported one; elsewhere it scores 0.

LLM

LLM

Best on the board: 38,816 · PC (12th Gen Intel Core i7-12700KF)

A language model running on the device itself.

L1LLM on the CPUA Llama 3.2 3B-sized model, 4-bit: a 512-token prompt in, then the reply token by token
L2LLM on the GPUThe same model with every layer on the GPU

It runs on llama.cpp with a model built in memory, so nothing is downloaded. The faster of the CPU and the GPU counts. On phones it needs 6 GB of RAM.

How points are made

Every test produces a plain rate: operations, frames, megapixels or tokens per second. Points are that rate measured against one reference device:

The reference6,000points per section: a Snapdragon 8 Elite phone, as it ships, in its default power mode
Its total36,000six sections added up
Top of the board today134,594PC (12th Gen Intel Core i7-12700KF), 3.7× the reference
  • Points scale with speed. A test that runs twice as fast as on the reference is worth 12,000.
  • A section's score combines the points of its tests, and the total is the six sections added up.
  • A test a device can't run, such as ray tracing or an NPU it doesn't have, scores 0, and its section is lower for it.
  • The reference never moves between runs, so a score from last month and one from today are on the same scale.

What makes a run count

Some phone makers have been caught boosting known benchmarks, and any app can be modified. So the app doesn't decide the score, and not every run reaches the board.

  • Clean conditions. The device started cool, was unplugged, wasn't in a power-saving mode and had nothing else keeping it busy. A run that misses one of these is saved on the device but not listed.
  • Signed measurements. The app sends its raw measurements with a signature tied to that one run.
  • Scored on the server. Points are calculated on our side from the raw numbers, and results no device could produce are turned away.
  • One row per device. The board shows each model's best verified run, with the number of runs behind it. A device's page lists all of them.

The stress test

A burst benchmark is over before a phone gets warm. The stress test holds full load for 5, 15 or 30 minutes, on every core or on one thread, and on Android on the CPU, the GPU or both. It goes through six phases:

  1. Pre-flightChecks the device is fit to test: not charging, not in a power-saving mode, not already hot.
  2. CooldownWaits until the device has shed the heat it arrived with.
  3. Warm-upBrings the workers up to speed so the first samples aren't a cold start.
  4. CalibrateMeasures the baseline: what this device does at full speed, before heat is a factor.
  5. MeasuredHolds full load for 5, 15 or 30 minutes and records throughput at least once a second.
  6. VerdictReports how much of the baseline you kept, when it dipped, and whether the run counts as clean.

During the measured phase the app records the processor's throughput in GIPS (billions of instructions per second) at least once a second, along with the thermal state the device reports.

Stability

The headline number is stability: how much of its full speed the device delivered across the run.

  • Current app versions report delivered capacity: the work done over the whole run, as a share of what the cold baseline from the calibration phase would have done in the same time. A device that drops to 70% for half the run delivers 85%.
  • Runs from older app versions carry no baseline. For those, stability is the average of the second half of the run against the run's fastest sample.

Each curve on this site is drawn against the same yardstick as its stability number, so the two always agree.

What this site reads off a curve

  • Fastest sample and second-half average, in GIPS.
  • Lowest 5-second average: the deepest sustained dip, ignoring single slow samples.
  • First under 90%: the first moment a 5-second average falls below 90% of full speed.
  • Thermal states (nominal, fair, serious, critical) as the device itself reported them.
A run that holdsmotorola edge 60 · 5 min · multi-thread
motorola edge 60: throughput over a stress test25%50%75%100%0:001:002:003:004:005:00motorola edge 60: throughput over a stress test25%50%75%100%0:001:002:003:004:005:00
motorola edge 60 delivers 95.1% of its full speed over five minutes: the steadiest standard run on the board.

Comparing two devices

A comparison matches two runs section by section and test by test. The better result is marked with its lead in percent; results within 1% of each other count as even, and a test that only one device could run goes to that device without a percentage. The comparison pages follow the same rules as the comparison inside the apps.

The data

Everything on this site comes from verified runs submitted from the apps. The boards are also available as a JSON file, free to chart or quote with a link back.

Run it on your own device.

The benchmark and the stress test are both free, on Google Play and the App Store.

Get it onGoogle Play Download on theApp Store Windows: on its way to the Microsoft Store