Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Benchmark: TurboPFor Integer Compression on APPLE M1 #105

Open
powturbo opened this issue May 9, 2023 · 0 comments
Open

Benchmark: TurboPFor Integer Compression on APPLE M1 #105

powturbo opened this issue May 9, 2023 · 0 comments

Comments

@powturbo
Copy link
Owner

powturbo commented May 9, 2023

icapp ZIPF

zipf alpha=1.50 range[0..255].n=1000000
  bits histogram:
00:######################################## 40%
01:############## 14%
02:############# 13%
03:########## 10%
04:######## 7.7%
05:###### 5.7%
06:#### 4.1%
07:### 2.9%
08:## 2.1%
      size   ratio     E MB/s   D MB/s   function integer size=32 bits (lz=,0) unsorted -1
    633599  15.84%    1525.51  8032.58   1:p4nenc32         TurboPFor            	
    633599  15.84%    1664.21 10515.40   2:p4nenc128v32     TurboPFor128         	
   2312836  57.82%    1233.51  5328.54   4:p4ndenc32        TurboPFor    delta   	
   2312836  57.82%    1276.88  7617.02   5:p4ndenc128v32    TurboPFor128 delta   	
   2919062  72.98%     947.46  3907.80   7:p4nd1enc32       TurboPFor    delta1  	
   2919062  72.98%     968.51  5663.58   8:p4nd1enc128v32   TurboPFor128 delta1  	
    854911  21.37%    1576.86  5321.71  10:p4nzenc32        TurboPFor    zigzag  	
    854911  21.37%    1673.48  6746.09  11:p4nzenc128v32    TurboPFor128 zigzag  	
   1006002  25.15%    1504.31  3995.13  13:p4nzzenc128v32   TurboPFor zzag/delta 	
    999245  24.98%   20650.55 26847.12  20:bitnpack32       TurboPack            	
    999245  24.98%   33450.13 53614.11  21:bitnpack128v32   TurboPack128         	
   4007810 100.20%   15807.95 11967.66  23:bitndpack32      TurboPack    delta   	
   4007810 100.20%   22977.82 10905.65  24:bitndpack128v32  TurboPack128 delta   	
   4007810 100.20%   14041.01 11226.43  26:bitnd1pack32     TurboPack    delta1  	
   4007810 100.20%   19744.03  7713.89  27:bitnd1pack128v32 TurboPack128 delta1  	
   1123541  28.09%    7452.47 10869.93  29:bitnzpack32      TurboPack    zigzag  	
   1123541  28.09%   12002.27 11245.86  30:bitnzpack128v32  TurboPack128 zigzag  	
    999390  24.98%   25560.31 11432.08  36:bitnxpack128v32  TurboPack128 xor     	
    763425  19.09%    1253.75  3460.91  38:vsenc32          TurboVSimple         	
    892659  22.32%    1157.96  2462.85  39:vszenc32         TurboVSimple zigzag  	
   1014044  25.35%   12650.66  9266.57  40:vbenc32          TurboVByte scalar    	
   1072600  26.82%    5488.71  4834.31  41:vbzenc32         TurboVByte zigzag    	
   2622116  65.55%    1419.19  1308.16  42:vbdenc32         TurboVByte delta     	
   3399564  84.99%    1312.15  1192.74  43:vbd1enc32        TurboVByte delta1    	
   1178847  29.47%    2198.02  2365.85  44:vbddenc32        TurboVByte zzag delt 	
   1250000  31.25%   16719.93 28492.57  45:v8enc32          TurboByte SIMD       	
   2457230  61.43%   15023.68 11310.72  46:v8denc32         TurboByte delta      	
   3040463  76.01%   14286.63  7841.42  47:v8d1enc32        TurboByte delta1     	
   1250000  31.25%   15928.90 28202.45  48:v8xenc32         TurboByte xor        	
   1286873  32.17%   13426.32 11363.56  49:v8zenc32         TurboByte zigzag     	
    999245  24.98%   31691.54 53733.09  50:v8nenc128v32     TurboBitByte         	
   1123541  28.09%   11768.05 11316.69  51:v8nzenc128v32    TurboBitByte zigzag  	
   2465043  61.63%   10652.29  9210.60  52:v8ndenc128v32    TurboBitByte delta   	
   3048273  76.21%    9734.20  6745.48  53:v8nd1enc128v32   TurboBitByte delta1  	
    999390  24.98%   24531.59 11481.15  54:v8nxenc128v32    TurboBitByte xor     	
   1192016  29.80%    1040.83  1204.86  60:bvzzenc32        Zigzag/delta   bitio 	
    983330  24.58%    1081.34  1169.94  61:bvzenc32         Zigzag         bitio 	
    954893  23.87%    1752.12  1619.43  62:fpgenc32         TurboGorilla   bitio 	
   1103692  27.59%    1640.11  1184.05  63:fphenc32         Chimp  algo    bitio 	
    998253  24.96%     801.77   762.01  64:fpcenc32         TurboFloat LzX bitio 	
    946461  23.66%    1013.91  6449.42  65:fpxenc32         TurboFloat XOR       	
    946461  23.66%     828.29  1258.08  66:fpfcmenc32       TurboFloat FCM       	
   3877388  96.93%     726.71  1100.40  67:fpdfcmenc32      TurboFloat DFCM      	
   3882833  97.07%     723.76  1053.24  68:fp2dfcmenc32     TurboFloat DFCM 2D   	
   2393070  59.83%     535.98  1727.24  70:trle             TurboRLE             	
   2633131  65.83%     457.12  1080.35  71:trlex            TurboRLE xor         	
   2633662  65.84%     362.66  1015.61  72:trlez            TurboRLE zigzag      	
   3844565  96.11%    1691.25 10432.85  73:srle32           TurboRLE ESC         	
   3920520  98.01%    1451.95  5953.91  74:srlex32          TurboRLE ESC xor     	
   3937690  98.44%    2065.79  5474.20  75:srlez32          TurboRLE ESC zigzag  	
   1038578  25.96%    2908.18  3643.03 110:vlc              TurboVLC       bitio 	
   1110239  27.76%    1236.72   972.80 111:vlcz             TurboVLC zzag  bitio 	
    509274  12.73%    2128.08  1198.80 113:bitgenc          Gamma coding   bitio 	
    645384  16.13%    1349.74   763.01 114:bitrenc          Rice  coding   bitio 	
   4000000 100.00%   41016.43 59778.60 117:tpenc            Byte transpose       	
   4000000 100.00%   15246.53 12684.75 118:tp4enc           Nibble transpose     	
   4000000 100.00%   55021.25 49051.97 120:memcpy           memcpy               	
Best methods =113,2,1,114,38,10,11,39,66,65,62,61,64,50,21,20,36,54,13,40,110,41,63,111,30,29,51,44,60,48

Many thanks to Maris Ruskulis @fr3akX for providing the results of this benchmark

Repository owner locked and limited conversation to collaborators May 9, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant