Next Previous Contents

11. 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
        NOME
        PREF
        INTERNO
        REP
        POSTO
        CITTA
        NODO
        USERID
        DEPTT
        CAPIN
        EMPTYPE
        EMPNUM
        ADDITIONAL
        MGRCC
        TELEFONO
        MGR
        MGRNUM


    Machine: P200, 64MB RAM, 1GB Wide-SCSI HD

    OS: Debian GNU/Linux 2.0 (kernel 2.0.35)


    RDB (Perl):

      time col POSTO NOME PREF USERID < table.rdb |
        col POSTO NOME PREF | col NOME >/dev/null

      real    0m13.937s
      user    0m10.340s
      sys     0m0.440s


    NoSQL (awk):

      time nosql column POSTO NOME PREF USERID < table.rdb |
          nosql column POSTO NOME PREF | nosql column NOME >/dev/null

      real    0m3.910s
      user    0m3.250s
      sys     0m0.280s


    Starbase (C):

      time column POSTO NOME PREF USERID < table.rdb |
        column POSTO NOME PREF | column NOME >/dev/null

      real    0m1.230s
      user    0m0.720s
      sys     0m0.170s


                        -------------------

    Input tables:

      join1.rdb:

        No. of fields  = 4
        No. of records = 21000
        Total size     = 660 KB

        Column names:

          NOME
          PREF
          INTERNO
          REP


      join2.rdb:

        No. of fields  = 4
        No. of records = 21000
        Total size     = 700 KB

        Column names:

          NOME
          POSTO
          CITTA
          NODO


    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 NOME join2.rdb >/dev/null

      real    0m10.630s
      user    0m10.540s
      sys     0m0.020s


    NoSQL (awk):

      time nosql join -a 1 -j NOME - join2.rdb < join1.rdb >/dev/null

      real    0m1.402s
      user    0m1.340s
      sys     0m0.060s


    Starbase (C):

      time jointable -A1 -j NOME join1.rdb join2.rdb >/dev/null

      real    0m0.881s
      user    0m0.860s
      sys     0m0.020s

  


Next Previous Contents