Benchmarking a slow machine
OverviewWhen performing benchmarks I usually reach for the fastest machine I can. The theory is that if speed matters you will use a fast machine. Recently I have tried benchmarking the slowest machine I have access to. A Pentium IV dual core laptop with 4 GB of memory and a regular HDD. The assumption is that if this performs better than your need, it might not matter how fast your system is. In the article, I am comparing this laptop to a fast machine. The point is, if the slow machine is more than enough you don't need to worry about hardware.
Latency testThe round trip average latencies tests were 10 times slower and there were over 1000x more delayed messages. Even so, a delay of an average of 4 micro-seconds is faster than many applications need.
The average RTT latency was 3,442 ns. The 50/99 / 99.9/99.99%tile latencies were 1,790/1,790 / 103,550/2,147,483,647. There were 39,891 delays over 100 μs
Throughput testThe biggest difference I saw in the throughput test was that when the machine ran out memory, performance of the whole machine dropped dramatically. (Even the Task Manager stopped working) This is not too surprising as the performance becomes dependant on the speed of the HDD. The HDD in a budget laptop is slow even compared to that in a desktop. Compared with a fast SSD, it is not surprising that its much slower. When testing the throughput performance for a dataset of 2.6 GB (the machine has 4 GB total) the performance is good, about four times slower.
Took 10.454 seconds to write/read 60,000,000 entries, rate was 5.7 M entries/secIncrease the dataset size to 5.2 GB and the performance drops to around 200 K entries/second.
Took 974.180 seconds to write/read 200,000,000 entries, rate was 0.2 M entries/sec
Logging testThis logs short lines of text with the date, thread name a string and a double value.
To log 1,000,000 messages took 0.631 seconds using Chronicle and 12.259 seconds using LoggerThis is around three times slower than the fast machine.