AidAim Software presents comparison between SQLMemTable and two other in-memory tables.
Testing was done using the benchmark application available for download with the source code.
Feel free to download it and perform tests on your own machine.
Performance Benchmark Results
Benchmark Specifications
Download Benchmark Program (Source Code)
Download Benchmark Program (Binary)
Performance Benchmark Results
Diagram 1 presents comparison of total speed for all tested products.
The values are calculated as percentage from leader's value.
Table 1summarizes the total running time of all tests.
Table 2 shows the results of inserting 100,000 records.
Table 3 displays the results of editing 100,000 records.
Table 4 presents the results of deleting 100,000 records.
Table 5 shows the results of locating 1,000 records.
Diagram 1. Relative speed of database engines.
Table 1. Total running time of all tests.
Test |
SQLMemTable |
kbmMemTable |
DBISAM |
Total running time |
38,204 ms |
1,129,291 ms |
2,116,310 ms |
Table 2. Time of inserting 100,000 records.
Test |
SQLMemTable |
kbmMemTable |
DBISAM |
Inserting time with non-indexed table |
2,629 ms |
8,540 ms |
24,839 ms |
Inserting time with indexed table |
9,361 ms |
31,075 ms |
116,638 ms |
Table 3. Time of editing 100,000 records.
Test |
SQLMemTable |
kbmMemTable |
DBISAM |
Editing time with non-indexed table |
1,374 ms |
456,196 ms |
5,642 ms |
Editing time with indexed table |
13,747 ms |
509,432 ms |
45,862 ms |
Table 4. Time of deleting 100,000 records.
Test |
SQLMemTable |
kbmMemTable |
DBISAM |
Deleting time with non-indexed table |
656 ms |
11,657 ms |
12,000 ms |
Deleting time with indexed table |
7,953 ms |
38,453 ms |
36,922 ms |
Table 5. Time of locating 1,000 records.
Test |
SQLMemTable |
kbmMemTable |
DBISAM |
Locating time with non-indexed table by AutoInc field |
484 ms |
735 ms |
617,078 ms |
Locating time with non-indexed table by Integer field |
469 ms |
672 ms |
611,828 ms |
Locating time with non-indexed table by String field |
1,000 ms |
1,328 ms |
645,204 ms |
Locating time with indexed table by AutoInc field |
125 ms |
484 ms |
63 ms |
Locating time with indexed table by Integer field |
156 ms |
70,187 ms |
125 ms |
Locating time with indexed table by String field |
250 ms |
532 ms |
109 ms |
Benchmark Specifications
The following database systems were tested: SQLMemTable 1.02, kbmMemTable 3.14 and
DBISAM 3.24 (in-memory mode).
All tests were done on the same machine, Intel Pentium IV 2.400 MHz, 512 MB RAM, 60 GB HDD,
OS Microsoft Windows XP. Time measurement precision is 0.001 sec.
In any case, with any publishing of any investigations using the materials presented here,
you must refer to AidAim Software as the author and the article itself.
(c) AidAim Software, 2001-2003.
|