RAM Test
Time a JavaScript typed-array write, read, and copy in this browser, then a pointer chase across buffer sizes. GB/s mixes cache and the JS engine. Not a bad-stick test.
This is a speed check, not a memory-error test. One Web Worker keeps the best of 5 passes, and copy counts bytes read plus bytes written. It does not find bad sticks. Stop, a hidden tab, and leaving the page all terminate the worker so its buffers can be released.
Reading your RAM test results
Bandwidth vs. latency
GB/s is how fast this page copied bytes in the browser, mixed with cache and the JS engine. Write fills a typed array, read sums it, and copy uses a second typed array. Copy counts each byte once when it is read and once when it is written. Latency is the average time for one step of a pointer chase, from 16 KB up to 256 MB, where each address comes from the load before it. None of these figures is the RAM kit's rated MT/s.
What the latency chart can show
Each point divides a timed stretch by the number of pointer steps at that buffer size. A rise can line up with the working set outgrowing a cache, but this page does not read cache sizes from the processor and it does not name L1, L2, or L3. performance.now() cannot time a single access, so latency across buffer sizes sits on coarse timer ticks. A missing or non-finite sample is a dash, not 0.
Not a desktop memory benchmark
A JavaScript typed-array loop is not AIDA64 and not the module's rated MT/s. Desktop tools run native code with their own rules. This page times one Web Worker. Compare a result only with another run of this page, in the same browser, with the same buffer size. A different browser on the same machine can score differently.
One stick or two
This page cannot tell a single stick from a dual-channel kit, and it cannot see how many modules are installed. One JavaScript loop rarely fills the memory bus, so a low GB/s figure is not evidence of a missing stick. A native report such as CPU-Z lists the channel mode on the Memory tab and each module on the SPD tab.
Not a memory-error test
This page does not find bad sticks, flipped bits, or a missing module. Random crashes and damaged files need a bootable error test such as MemTest86, or Windows Memory Diagnostic as a shorter first pass. A slow number here is not that kind of result. The CPU stress test loads the processor in the browser and charts throughput. It does not read temperature.
Related tools
- RAM latency calculator: turn CAS latency and rated speed into nanoseconds. That is arithmetic, not this benchmark.
- CPU stress test: run a JavaScript load and see whether throughput drops.
- GPU stress test: see how fast this browser presents frames.
Frequently asked questions
What do the GB/s numbers mean?
GB/s is how fast this page copied bytes with a JavaScript typed array in one Web Worker. Cache and the JS engine are part of the time. Write fills the array, read sums it, and copy counts bytes read plus bytes written. This is not AIDA64, and it is not the rated MT/s of the RAM kit.
What does the latency chart measure?
For each buffer size, the worker follows a chain of dependent loads and divides the elapsed time by the step count. performance.now() cannot time one access, so latency across buffer sizes sits on coarse timer ticks. A missing or non-finite sample shows a dash, not 0, NaN, or Infinity.
Does this find bad RAM?
No. This is not a memory-error test. It does not find bad sticks, flipped bits, or a missing module. A slow number is not a fault report. Use a bootable test such as MemTest86, or Windows Memory Diagnostic, for that check.
Why did the result disappear when I switched tabs?
A hidden tab is not scored. Browsers slow or pause background pages, and that pause would look like slow RAM. The run is discarded and the worker stops. Stay on this tab until the run finishes.
Does the test start on its own?
No. Nothing runs until you press Run RAM test. Stop ends the worker and drops its buffers. Leaving the page does the same.
What is Reported RAM?
Some browsers expose navigator.deviceMemory as a rounded gigabyte figure, often capped for privacy. Firefox and Safari do not share it. When it is missing, the page says Not shared and does not invent a size. That figure is not measured by this test.
Why compare only with this page?
Desktop benchmarks use native code and their own scoring rules. Two runs here are comparable when the browser and the buffer size match. A different browser on the same machine can score differently. The number is not the rated MT/s of the memory kit.