, ,


Running on an inexpensive quad core laptop (1 GHz processing speed) we obtained the following results (averages) when loading 231,440 sensor measurements

  1. 712 seconds – debug mode; database on the C drive
  2. 622 seconds – release mode; database on the C drive
  3. 682 seconds – debug mode; database on an external drive (USB connection)
  4. 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

  1. 343 seconds – debug mode; database on the C drive
  2. 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.