Speed Tests

Once I run some benchmars to get an idea of the actual NoSQL speed with respect to other similar packages, and below are the results. These tests were run a few years ago, where computing power was much more limited than it is nowadays, and when the internals of the involved NoSQL operators were different, i.e. those commands were less efficient than today.

     Input table: 
 
       No. of fields  = 18
       No. of records = 21000
       Total size     = 3.4 MB
 
       Column names:
 
         seq
         NAME
         PREF
         EXTENSION
         DEPT
         BLDNG
         TOWN
         NODE
         USERID
         DEPTT
         CAPIN
         EMPTYPE
         EMPNUM
         ADDITIONAL
         MGRCC
         PHONE
         MGR
         MGRNUM
 
     Machine: P200, 64MB RAM, 1GB Wide-SCSI HD
     OS: Debian GNU/Linux 2.0 (kernel 2.0.35)
     RDB (Perl):
 
       time col BLDNG NAME PREF USERID < table.rdb |
            col BLDNG NAME PREF | col NAME >/dev/null
 
       real    0m13.937s
       user    0m10.340s
       sys     0m0.440s
 
     NoSQL (AWK):
 
       time getcolumn BLDNG NAME PREF USERID < table.nosql |
           getcolumn BLDNG NAME PREF | getcolumn NAME >/dev/null
 
       real    0m3.910s
       user    0m3.250s
       sys     0m0.280s
 
     Starbase (ANSI-C):
 
       time column BLDNG NAME PREF USERID < table.starbase |
         column BLDNG NAME PREF | column NAME >/dev/null
 
       real    0m1.230s
       user    0m0.720s
       sys     0m0.170s

     Input tables:
 
       join1:
 
         No. of fields  = 4
         No. of records = 21000
         Total size     = 660 KB
 
         Column names:
 
           NAME
           PREF
           EXTENSION
           DEPT
 
       join2:
 
         No. of fields  = 4
         No. of records = 21000
         Total size     = 700 KB
 
         Column names:
 
           NAME
           BLDNG
           TOWN
           NODE
 
     Machine: P-II 233, 32MB RAM, 3GB EIDE U-DMA HD
     OS: Debian GNU/Linux 2.0 (kernel 2.0.35)
     RDB (Perl):
 
       time jointbl -md < join1.rdb NAME join2.rdb >/dev/null
 
       real    0m10.630s
       user    0m10.540s
       sys     0m0.020s
 
     NoSQL (AWK):
 
       time jointable -a 1 -j NAME - join2.nosql < join1.nosql >/dev/null
 
       real    0m1.198s
       user    0m1.140s
       sys     0m0.030s
 
     Starbase (C):
 
       time jointable -A1 -j NAME join1.starbase join2.starbase >/dev/null
 
       real    0m0.881s
       user    0m0.860s
       sys     0m0.020s


Trackbacks (2) | New trackback | Comments (0) | Print