Next Previous Contents

10. More on speed

I have done some benchmarking, though not at all exhaustive, to assess the actual NoSQL speed with respect to other similar packages, and here are the results:


    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 column BLDNG NAME PREF USERID < table.nosql |
          column BLDNG NAME PREF | column 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

  


Next Previous Contents