CPU Stress Test
Run a real multi-threaded CPU stress test in your browser. Measure performance per core, view live graphs, and benchmark your processor.
About
A CPU stress test pushes each logical core to 100% utilization by running computationally dense loops - matrix multiplications, trigonometric chains, and prime sieves - simultaneously across N threads. The purpose is to detect thermal throttling, validate cooling solutions, and identify unstable overclocks before they cause data corruption or system crashes. This tool spawns real Web Workers that execute actual floating-point and integer arithmetic; it does not simulate load. Each worker reports operations per second, which are graphed in real time. The aggregate score is normalized per-thread as S = ops106, giving a comparable metric across machines.
Limitations: browser-based tests cannot access hardware temperature sensors or ring-0 instruction sets (AVX-512, SSE4). Measured throughput reflects JavaScript engine efficiency (V8, SpiderMonkey) as much as raw silicon performance. Results are indicative, not absolute. For production-grade burn-in, supplement with native tools. Still, this test will saturate your CPU and expose throttling within 30 - 60 seconds on inadequately cooled systems.
Formulas
Each worker thread executes a tight computation loop and reports the total number of atomic operations completed per reporting interval. The per-thread score is calculated as:
Where Sthread is the thread score in Mops/s (mega-operations per second), ops is the raw operation count, and t is the elapsed time in seconds. The aggregate multi-thread score sums all thread scores:
Where N is the number of active threads (capped at navigator.hardwareConcurrency). Throttle detection compares the current 5-second moving average against the peak recorded average. A drop exceeding 15% triggers a throttle warning:
For the matrix multiplication workload, each iteration multiplies two 64×64 matrices, yielding n3 = 262,144 multiply-accumulate operations. The prime sieve uses the Sieve of Eratosthenes up to 100,000, crossing off composites via modular arithmetic. The trigonometric chain computes chained sin(cos(atan2(x, y))) sequences to stress the FPU pipeline.
Reference Data
| Benchmark Workload | Operation Type | Complexity per Iteration | Primary Bottleneck | Typical Score Range |
|---|---|---|---|---|
| Matrix Multiply (64×64) | FP64 Multiply-Add | O(n3) ≈ 262,144 FLOPs | ALU / L1 Cache | 50 - 400 Mops/s |
| Trigonometric Chain | sin, cos, atan2 | 1,000 transcendental calls | FPU Pipeline | 10 - 120 Mops/s |
| Prime Sieve (Eratosthenes) | Integer, Branch | Sieve to 100,000 | Branch Predictor / Memory | 20 - 200 Mops/s |
| Fibonacci (BigInt) | Arbitrary Precision | 5,000th term | Memory Allocation | 5 - 80 Mops/s |
| Mixed (All Combined) | All of the above | Weighted round-robin | Overall CPU | 30 - 250 Mops/s |
| Reference Single-Thread Scores (Mixed Workload) | ||||
| Intel i9-13900K | Mixed | - | - | ≈ 220 Mops/s |
| AMD Ryzen 9 7950X | Mixed | - | - | ≈ 210 Mops/s |
| Apple M2 Pro | Mixed | - | - | ≈ 190 Mops/s |
| Intel i7-12700K | Mixed | - | - | ≈ 170 Mops/s |
| AMD Ryzen 5 5600X | Mixed | - | - | ≈ 130 Mops/s |
| Intel i5-10400 | Mixed | - | - | ≈ 90 Mops/s |
| Apple M1 | Mixed | - | - | ≈ 150 Mops/s |
| Intel i3-8100 | Mixed | - | - | ≈ 55 Mops/s |
| AMD Ryzen 3 3200G | Mixed | - | - | ≈ 60 Mops/s |
| Snapdragon 8 Gen 2 (Mobile) | Mixed | - | - | ≈ 70 Mops/s |