Home
x86 Instruction Chart
9 Volt Battery Chargers
Library of Congress Classification System
SMPTE Colorbars Test Pattern (in Javascript)
255 Shades of Grey, Red, Green and Blue Test Pattern (in Javascript)
Spice BJT Model Viewer
Ohm's Law Calculator
Solid State Circuit Breaker (20V 650mA)
Example POV-Ray Animation
Example Virtual Machine
Salt Flats & Aeromods
Locating a Gunshot with an Array of Microphones
Power Supply References
Audio Amp + Spice References
Benchmarks
Image Processing
8087 FPU Instruction Chart
KFC 'Secret' Recipe
Neddy's Brownies
Ham and Cheese Muffins
Railroad Tracks
The Bike Shed
The Guy That Invented Fire
Mods for the TRS-80 Color Computer

Benchmarks


Disk Write Speed Benchmark

diskwrite

diskwrite.c source code
diskwrite.exe windows executable

This will write a large disk file and time it. When it is done, it computes the write speed in Megabytes per second. A megabyte is 1024 * 1024 bytes. A gigabyte is 1024 * 1024 * 1024 bytes.

The file size must be larger than memory size and disk controller and hard drive cache size to be meaningful.

The default file size is 4 gigabytes. This can be overridden by specifying the number of megabytes as the first parameter on the command line. Specifying 100 gives fairly meaningful results in a lot less time.

The windows version will saturate the disk channel or the network channel.

Running this twice to the same hard drive is useful for stressing a flaky hard drive channel.

Running this twice from 2 different computers over the network channel is very useful for stress testing your network. Your network should should not drop any connections even under this load.

Saturated Network


RAM Write Speed Benchmark

ramzero

ramzero.c source code
ramzero.exe windows executable

This program will allocate, zero and then free larger and larger blocks of RAM until it fails.

It calculates the speed at which the ram is zeroed in megabytes per second.

After you run this on a windows box, ALL your working ram will have been swapped out. Switching back to currently running apps (cough Mozilla cough) takes a long time as they are swapped back in.

This program is useful for approximating RAM access speed and for testing flaky RAM / SWAP subsystems.

It should not crash a stable system.

RAM Speed
RAM Speed - Windows Version


RAM Speed - Unix Version


Multi-core Processor Benchmark for Unix

unixthread

Defaults to 4 threads

unixthread 8

Runs 8 threads


gcc unixthread.c -o unixthread -lthr

gcc command line with -lthr option to include pthread library.


unixthread.c source code

This benchmark can saturate all the cores on a multi-core processor.

Each thread will run the same amount of operations. Running 4 threads will do 4 times as much work.

In theory, a 2 core machine should run 2 threads as quickly as 1 thread.

In practice, 1 thread took 83 seconds, while 2 threads took 93 seconds.

top showing 196% Usage
top with saturated dual core showing greater than 100% cpu usage

Here is the Windows Version.


References


Multi-core Processor Benchmark for Windows

winthread

Defaults to 4 threads

winthread 8

Runs 8 threads

winthread.c source code
winthread.exe windows executable

This benchmark can saturate all the cores on a multi core processor.

Each thread will run the same amount of operations. Running 4 threads will do 4 times as much work.

In theory, a 4 core machine should run 4 threads as quickly as 1 thread.

In practice, 1 thread took 38 seconds, while 4 threads took 45 seconds. This is a genuine performance boost.

Task Manager showing a quad core saturated
Saturated quad core with 100% cpu usage

This program runs long enough that it is useful for judging system performance under an extreme load.

Back Next


sparksandflames.com
Sparks and Flames
Copyright © 2016