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
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