Running on an inexpensive quad core laptop (1 GHz processing speed) we obtained the following results (averages) when loading 231,440 sensor measurements
- 712 seconds – debug mode; database on the C drive
- 622 seconds – release mode; database on the C drive
- 682 seconds – debug mode; database on an external drive (USB connection)
- 590 seconds – release mode; database on an external drive
The laptop was largely cleared of any other applications, so the primary contenders for CPU and other resources were Windows 10 and the AVG anti-virus software. Debug is about 15% slower than release, but neither one on either disk is fast enough. We need processing to keep pace with the class.
Running on a very expensive desktop (quad core; an Intel core i7 with 3.4 GHz processing speed) we obtain
- 343 seconds – debug mode; database on the C drive
- 257 seconds – release mode; database on the C drive
Note the increase in velocity and the 25% difference in debug versus release.
For purposes of discussion our SAITO application software in these scenarios has two database tables of interest: one, which we will call Table N, has a natural primary key; the other table, Table G, uses a GUID as the primary key. The measures below are seconds of wall-clock time for 320,000 rows. The figures are an average of five runs – the individual runs did not vary much as we (by intent) “only” had anti-virus and the operating system running.
We needed to be well under 240 seconds so multi-threading was needed.
|Description||1 thread insert||1 thread select||16 thread insert||16 thread select|
|Table N disk (*)||514||292||306||213|
|Table G disk||398||366||212||236|
|Table N Optane||146||96||81||63|
|Table G Optane||116||157||55||77|
* = we measured on a Western Digital Passport Ultra (external), a Maxtor Personal Storage 3100 drive (external), a Seagate SRD0NF2 drive (external), two internal hard disk drives; and an Intel 520 Solid State Drive. The figures above are for a 5400 RPM 500 gigabyte internal drive. Our full statistics have 1,2,4,8, and 16 threads for each of the tables and the six drives.