powturbo/TurboPFor-Integer-Compression

Benchmark: TurboPFor Integer Compression ARM A73-ODROID-N2 1.8GHz

powturbo opened this issue · 0 comments

TurboPFor: IcApp Integer Compression Benchmark ARM A73-ODROID-N2 1.8GHz

Inverted index testdata

docs: Document Ids

	./icapp test_collection.docs

file: max bits histogram:
00: 0.002%
01:## 1.7%
02:# 0.7%
03: 0.4%
04: 0.2%
05: 0.2%
06:# 0.5%
07:# 1.4%
08:## 1.6%
09:#### 3.6%
10:###### 6.4%
11:######## 8.1%
12:################# 17%
13:############################################# 45%
14:############# 13%

  E MB/s     size     ratio   D MB/s  function (integer size=32 bits)
  363.95    3017800  21.93%   860.74 vszenc32         TurboVSimple zigzag
  342.10    3147043  22.87%   918.90 p4nzenc128v32    TurboPForV   zigzag
  337.64    3147043  22.87%   802.48 p4nzenc32        TurboPFor    zigzag
  311.39    3186374  23.15%   802.15 p4nzzenc128v32   TurboPFor zzag/delta
   68.69    3190622  23.18%    82.02 bitshuffleZ+lz   Transpose+zigzag+lz
  282.14    3228322  23.46%   542.80 tpnibbleZ+lz     Transpose+zigzag+lz
  321.63    3239377  23.54%   995.61 p4nd1enc128v32   TurboPForV   delta1
  319.97    3239377  23.54%   868.51 p4nd1enc32       TurboPFor    delta1
  282.14    3277684  23.81%   604.98 tpbyteZ+lz       Transpose+zigzag+lz
  334.27    3357179  24.39%  1029.96 p4ndenc128v32    TurboPForV   delta
  357.76    3357179  24.39%   946.45 p4ndenc32        TurboPFor    delta
  630.16    3515568  25.54%   757.64 vbddenc32        TurboVByte zzag delt
  347.56    3531916  25.66%   463.71 bvzzenc32        bitio zigzag/delta
  290.61    3673765  26.69%   703.59 tpnibble+lz      Transpose+lz
  290.51    3676694  26.71%   792.91 tpbyte+lz        Transpose+lz
  263.52    3701675  26.90%   541.95 tpnibbleX+lz     Transpose+xor+lz
  268.20    3738684  27.16%   660.43 tpbyteX+lz       Transpose+xor+lz
 1457.05    3925193  28.52%  1964.78 v8nd1enc128v32   TByte+TPackV delta1
 1706.13    3945921  28.67%  2083.77 v8ndenc128v32    TByte+TPackV delta
 1040.31    3948726  28.69%  1175.05 vbzenc32         TurboVByte zigzag
 1271.56    4014799  29.17%  1743.96 v8nzenc128v32    TByte+TPackV zigzag
 1144.65    4180490  30.37%  1303.84 vbd1enc32        TurboVByte delta1
 1247.24    4181163  30.38%  1413.51 vbdenc32         TurboVByte delta
   68.63    4228629  30.72%    82.93 bitshuffleX+lz   Transpose+xor+lz
   70.33    4260129  30.95%    86.04 bitshuffle+lz    Transpose+lz
  346.33    4329918  31.46%   513.06 bvzenc32         bitio zigzag
 1541.42    4406850  32.02%  1699.80 bitnzpack128v32  TurboPackV   zigzag
 1231.07    4406850  32.02%  1548.00 bitnzpack32      TurboPack    zigzag
 1702.75    4724718  34.33%  2228.52 v8zenc32         TurboByte zigzag
  734.63    4724718  34.33%  1160.19 streamvbyte zzag StreamVByte zigzag*
 1762.95    4889190  35.52%  2551.60 v8d1enc32        TurboByte delta1
  778.78    4889479  35.53%   827.47 streamvbyte delt StreamVByte delta*
 1882.81    4889479  35.53%  2793.45 v8denc32         TurboByte delta
  110.53    5050551  36.70%   117.81 SPDP             SPDP Floating Point*
  505.37    5265005  38.25%  1337.54 fpxenc32         TurboFloat XOR
  396.96    5265005  38.25%   463.69 fpfcmenc32       TurboFloat FCM
  375.79    5310026  38.58%   445.96 fpgenc32         bitio TurboGorilla
  489.19    5552401  40.34%  1348.02 p4nenc128v32     TurboPForV
  490.20    5552401  40.34%  1091.29 p4nenc32         TurboPFor
 1401.27    5653941  41.08%  1464.96 v8nenc128v32     TurboByte+TbPackV
 3249.13    5661003  41.13%  1419.34 bitnpack128v32   TurboPackV
 2705.05    5661003  41.13%   949.46 bitnpack32       TurboPack
  469.37    6226583  45.24%  2044.46 vsenc32          TurboVSimple
  216.40    6577162  47.79%   381.73 fpdfcmenc32      TurboFloat DFCM
  217.09    6655645  48.36%   379.77 fp2dfcmenc32     TurboFloat DFCM 2D
 1276.51    6682141  48.55%  1103.98 vbenc32          TurboVByte scalar
 1503.53    6790511  49.34%  2060.99 bitnd1pack32     TurboPack    delta1
 1836.09    6790511  49.34%  2000.77 bitnd1pack128v32 TurboPackV   delta1
 1873.83    6816223  49.52%  2227.79 bitndpack32      TurboPack    delta
 1965.63    6816223  49.52%  2152.20 bitndpack128v32  TurboPackV   delta
 1926.83    7511530  54.58%  4486.09 v8enc32          TurboByte SIMD
 1347.23    7511530  54.58%  3263.77 streamvbyte      StreamVByte SIMD*
  129.33    9044107  65.71%   913.17 lz               lz
  549.52   10833105  78.71%   918.17 srlez32          TurboRLE32 ESC zzag
  527.51   13712109  99.63%  1268.04 srlex32          TurboRLE32 ESC xor
 4050.42   13763312 100.00%  4135.61 memcpy           memcpy
  562.11   13763312 100.00%  4128.17 srle32           TurboRLE32 ESC
  112.36   13763312 100.00%  4121.99 trle             TurboRLE
   79.66   13763312 100.00%  4118.29 trlex            TurboRLE   xor
   69.91   13763312 100.00%  4118.29 trlez            TurboRLE   zigzag
 1360.01   13763312 100.00%  2218.82 tp4enc           Nibble transpose
 1774.54   13763312 100.00%  3416.91 tpenc            Byte transpose
   87.95   13763312 100.00%    90.10 bitshuffle       Bit transpose
                                                      * : external library

freqs: Term Frequencies

	./icapp test_collection.freqs

file: max bits histogram:
00: 0.001%
01:########################### 27%
02:############ 12%
03:###### 6.0%
04:### 3.1%
05:## 1.6%
06:# 1.0%
07:# 1.0%
08:# 0.9%
09:## 1.9%
10:### 3.2%
11:#### 4.1%
12:######## 8.5%
13:####################### 23%
14:###### 6.5%

  E MB/s     size     ratio   D MB/s  function (integer size=32 bits)
  428.07    1722849  12.52%  1974.37 vsenc32          TurboVSimple
  420.52    1730336  12.57%  1524.34 p4nenc32         TurboPFor
  427.48    1730336  12.57%  1359.47 p4nenc128v32     TurboPForV
  423.36    1907705  13.86%   934.50 tpnibble+lz      Transpose+lz
  314.49    1922544  13.97%   962.94 vszenc32         TurboVSimple zigzag
  383.56    1955547  14.21%   656.15 tpnibbleX+lz     Transpose+xor+lz
   72.45    1958057  14.23%    83.00 bitshuffleX+lz   Transpose+xor+lz
   74.52    1962095  14.26%    86.33 bitshuffle+lz    Transpose+lz
  338.18    1996059  14.50%   960.12 p4nzenc128v32    TurboPForV   zigzag
  336.61    1996059  14.50%   801.40 p4nzenc32        TurboPFor    zigzag
  326.98    2130744  15.48%   932.79 fpxenc32         TurboFloat XOR
  277.91    2130744  15.48%   402.28 fpfcmenc32       TurboFloat FCM
  351.60    2145784  15.59%   562.34 tpnibbleZ+lz     Transpose+zigzag+lz
  375.51    2219138  16.12%   977.37 tpbyte+lz        Transpose+lz
  388.77    2259515  16.42%   513.15 bvzenc32         bitio zigzag
   73.34    2300817  16.72%    83.59 bitshuffleZ+lz   Transpose+zigzag+lz
  321.11    2381520  17.30%   702.96 tpbyteX+lz       Transpose+xor+lz
  325.91    2398296  17.43%   815.65 p4nzzenc128v32   TurboPFor zzag/delta
  326.45    2407923  17.50%   602.12 tpbyteZ+lz       Transpose+zigzag+lz
  367.16    2764046  20.08%   499.67 bvzzenc32        bitio zigzag/delta
 3449.45    2784387  20.23%  1747.06 v8nenc128v32     TurboByte+TbPackV
 2828.46    2804702  20.38%  2064.70 bitnpack32       TurboPack
 3340.61    2804702  20.38%  1735.16 bitnpack128v32   TurboPackV
  738.89    2883341  20.95%   909.79 vbddenc32        TurboVByte zzag delt
  472.07    3029119  22.01%   503.62 fpgenc32         bitio TurboGorilla
 1507.65    3146929  22.86%  1760.24 v8nzenc128v32    TByte+TPackV zigzag
 1576.91    3189535  23.17%  1773.85 bitnzpack128v32  TurboPackV   zigzag
 1242.85    3189535  23.17%  1511.45 bitnzpack32      TurboPack    zigzag
 2596.85    3451880  25.08%  2620.08 vbenc32          TurboVByte scalar
 1428.47    3475286  25.25%  1662.03 vbzenc32         TurboVByte zigzag
  354.90    3925934  28.52%  1038.90 lz               lz
 2179.81    4307847  31.30%  4552.86 v8enc32          TurboByte SIMD
 1369.07    4307847  31.30%  3289.51 streamvbyte      StreamVByte SIMD*
 1702.33    4323652  31.41%  2237.57 v8zenc32         TurboByte zigzag
  734.98    4323652  31.41%  1158.43 streamvbyte zzag StreamVByte zigzag*
  269.10    5742202  41.72%   991.38 p4ndenc128v32    TurboPForV   delta
  271.95    5742202  41.72%   832.53 p4ndenc32        TurboPFor    delta
 1744.18    7227089  52.51%  2805.97 v8denc32         TurboByte delta
  525.42    7227089  52.51%   619.72 streamvbyte delt StreamVByte delta*
 1217.67    7234307  52.56%  1996.42 v8ndenc128v32    TByte+TPackV delta
  707.26    7343213  53.35%   732.71 vbdenc32         TurboVByte delta
  583.04   10319134  74.98%  1371.67 srle32           TurboRLE32 ESC
  192.83   10350497  75.20%   385.57 fpdfcmenc32      TurboFloat DFCM
  191.72   10690588  77.67%   383.11 fp2dfcmenc32     TurboFloat DFCM 2D
  477.76   10963622  79.66%   904.17 srlex32          TurboRLE32 ESC xor
  241.74   10981857  79.79%   858.44 p4nd1enc128v32   TurboPForV   delta1
  244.88   10981857  79.79%   703.11 p4nd1enc32       TurboPFor    delta1
  528.46   11113500  80.75%   910.03 srlez32          TurboRLE32 ESC zzag
   70.58   11621965  84.44%    71.31 SPDP             SPDP Floating Point*
  790.72   11667495  84.77%  1868.49 v8nd1enc128v32   TByte+TPackV delta1
 1043.94   11716644  85.13%  2462.57 v8d1enc32        TurboByte delta1
  534.52   13329244  96.85%   545.36 vbd1enc32        TurboVByte delta1
 1899.70   13727224  99.74%  2905.49 bitndpack32      TurboPack    delta
 1614.84   13727224  99.74%  2089.78 bitndpack128v32  TurboPackV   delta
 4155.59   13763304 100.00%  4040.90 memcpy           memcpy
 1693.11   13763304 100.00%  3253.74 tpenc            Byte transpose
 1328.63   13763304 100.00%  2247.44 tp4enc           Nibble transpose
  122.10   13763304 100.00%  4042.09 trlex            TurboRLE   xor
   83.47   13763304 100.00%  4042.09 trlez            TurboRLE   zigzag
  152.58   13763304 100.00%  4043.27 trle             TurboRLE
   88.06   13763304 100.00%    90.70 bitshuffle       Bit transpose
 1179.37   13790184 100.20%  3577.67 bitnd1pack32     TurboPack    delta1
 1952.24   13790184 100.20%  1982.33 bitnd1pack128v32 TurboPackV   delta1

sizes: Number of terms

	./icapp test_collection.sizes

file: max bits histogram:
00: 0.001%
01:########################### 27%
02:############ 12%
03:###### 6.0%
04:### 3.1%
05:## 1.6%
06:# 1.0%
07:# 1.1%
08:# 1.0%
09:## 1.9%
10:### 3.2%
11:#### 4.1%
12:######## 8.5%
13:####################### 23%
14:###### 6.5%
15: 0.002%
16: 0.001%

  E MB/s     size     ratio   D MB/s  function (integer size=32 bits)
  380.99      15077  37.69%  1904.95 p4nenc128v32     TurboPForV
  377.40      15077  37.69%  1538.62 p4nenc32         TurboPFor
  373.87      15485  38.71%  1600.16 vsenc32          TurboVSimple
   79.22      15970  39.92%    89.29 bitshuffle+lz    Transpose+lz
   77.23      15984  39.96%    87.54 bitshuffleX+lz   Transpose+xor+lz
  333.37      16009  40.02%  1025.74 p4nzenc128v32    TurboPForV   zigzag
  330.61      16009  40.02%   833.42 p4nzenc32        TurboPFor    zigzag
  493.88      16101  40.25%   930.33 tpnibble+lz      Transpose+lz
  400.04      16159  40.25%   769.31 tpnibbleX+lz     Transpose+xor+lz
  327.90      16268  40.67%   909.18 vszenc32         TurboVSimple zigzag
  373.87      16918  42.29%   678.03 tpnibbleZ+lz     Transpose+zigzag+lz
   77.23      17022  42.55%    85.85 bitshuffleZ+lz   Transpose+zigzag+lz
  312.53      17254  43.13%   930.33 p4nzzenc128v32   TurboPFor zzag/delta
  701.82      17391  43.47%   769.31 vbzenc32         TurboVByte zigzag
  459.82      17399  43.49%  1111.22 tpbyte+lz        Transpose+lz
 1481.63      17467  43.66%  5714.86 v8nenc128v32     TurboByte+TbPackV
  380.99      17625  44.06%   909.18 tpbyteX+lz       Transpose+xor+lz
 1176.59      17632  44.08%  1000.10 vbenc32          TurboVByte scalar
 3636.73      17899  44.74%  6667.33 bitnpack128v32   TurboPackV
 3333.67      17899  44.74%  5714.86 bitnpack32       TurboPack
  465.16      17958  44.89%  1666.83 fpxenc32         TurboFloat XOR
  370.41      17958  44.89%   465.16 fpfcmenc32       TurboFloat FCM
  412.41      18004  45.01%   519.53 fpgenc32         bitio TurboGorilla
  380.99      18141  45.35%   833.42 tpbyteZ+lz       Transpose+zigzag+lz
  888.98      18225  45.56%  2000.20 v8nzenc128v32    TByte+TPackV zigzag
 1739.30      18768  46.92%  2222.44 v8zenc32         TurboByte zigzag
  740.81      18768  46.92%  1142.97 streamvbyte zzag StreamVByte zigzag*
 2222.44      18909  47.27%  5000.50 v8enc32          TurboByte SIMD
 1428.71      18909  47.27%  3333.67 streamvbyte      StreamVByte SIMD*
 1250.12      19101  47.75%  2222.44 bitnzpack32      TurboPack    zigzag
 1481.63      19101  47.75%  1818.36 bitnzpack128v32  TurboPackV   zigzag
  597.07      20093  50.23%   625.06 vbddenc32        TurboVByte zzag delt
  300.78      20339  50.84%   408.20 bvzenc32         bitio zigzag
  287.80      22371  55.92%   400.04 bvzzenc32        bitio zigzag/delta
  136.53      28940  72.34%   655.80 lz               lz
  266.69      29111  72.77%  1052.74 p4ndenc128v32    TurboPForV   delta
  270.30      29111  72.77%   816.41 p4ndenc32        TurboPFor    delta
 2000.20      29559  73.89%  2857.43 v8denc32         TurboByte delta
  400.04      29559  73.89%   454.59 streamvbyte delt StreamVByte delta*
  264.93      29583  73.95%  1000.10 p4nd1enc128v32   TurboPForV   delta1
  268.48      29583  73.95%   754.79 p4nd1enc32       TurboPFor    delta1
 1250.12      29637  74.09%  2666.93 v8ndenc128v32    TByte+TPackV delta
 1818.36      30085  75.20%  2666.93 v8d1enc32        TurboByte delta1
 1111.22      30163  75.40%  2353.18 v8nd1enc128v32   TByte+TPackV delta1
  519.53      32431  81.07%   512.87 vbdenc32         TurboVByte delta
  493.88      33131  82.82%   519.53 vbd1enc32        TurboVByte delta1
   80.82      38749  96.86%    80.65 SPDP             SPDP Floating Point*
  645.23      39842  99.60%  3077.23 srle32           TurboRLE32 ESC
  526.37      39884  99.70%  1818.36 srlex32          TurboRLE32 ESC xor
  548.00      39891  99.72%  1250.12 srlez32          TurboRLE32 ESC zzag
10001.00      40004 100.00% 10001.00 memcpy           memcpy
  115.95      40004 100.00% 10001.00 trle             TurboRLE
   85.85      40004 100.00% 10001.00 trlex            TurboRLE   xor
   71.56      40004 100.00% 10001.00 trlez            TurboRLE   zigzag
 5000.50      40004 100.00%  8000.80 tpenc            Byte transpose
 1818.36      40004 100.00%  2353.18 tp4enc           Nibble transpose
   92.18      40004 100.00%    92.60 bitshuffle       Bit transpose
  256.44      40063 100.15%   416.71 fpdfcmenc32      TurboFloat DFCM
 2353.18      40081 100.19%  5714.86 bitndpack32      TurboPack    delta
 2000.20      40081 100.19%  2666.93 bitnd1pack128v32 TurboPackV   delta1
 2222.44      40081 100.19%  3077.23 bitndpack128v32  TurboPackV   delta
 1739.30      40081 100.19%  4000.40 bitnd1pack32     TurboPack    delta1
  259.77      40124 100.30%   421.09 fp2dfcmenc32     TurboFloat DFCM 2D