ronanh / intcomp

Fast integer compression library
Apache License 2.0
84 stars 4 forks source link

Unroll bit length scans #2

Closed klauspost closed 1 year ago

klauspost commented 1 year ago

Unroll deltaBitLenAndSignUintXX and lazy merge result for better CPU pipelining.

benchmark                                                          old ns/op     new ns/op     delta
BenchmarkCompressDeltaBinPackInt32/nBits=0,_sign=0-32              228           80.2          -64.82%
BenchmarkCompressDeltaBinPackInt32/nBits=0,_sign=1-32              234           79.2          -66.12%
BenchmarkCompressDeltaBinPackInt32/nBits=1,_sign=0-32              288           140           -51.46%
BenchmarkCompressDeltaBinPackInt32/nBits=1,_sign=1-32              260           109           -57.84%
BenchmarkCompressDeltaBinPackInt32/nBits=2,_sign=0-32              285           138           -51.68%
BenchmarkCompressDeltaBinPackInt32/nBits=2,_sign=1-32              258           110           -57.64%
BenchmarkCompressDeltaBinPackInt32/nBits=3,_sign=0-32              291           156           -46.56%
BenchmarkCompressDeltaBinPackInt32/nBits=3,_sign=1-32              264           112           -57.78%
BenchmarkCompressDeltaBinPackInt32/nBits=4,_sign=0-32              291           147           -49.45%
BenchmarkCompressDeltaBinPackInt32/nBits=4,_sign=1-32              268           109           -59.45%
BenchmarkCompressDeltaBinPackInt32/nBits=5,_sign=0-32              315           144           -54.31%
BenchmarkCompressDeltaBinPackInt32/nBits=5,_sign=1-32              267           129           -51.61%
BenchmarkCompressDeltaBinPackInt32/nBits=6,_sign=0-32              294           142           -51.46%
BenchmarkCompressDeltaBinPackInt32/nBits=6,_sign=1-32              261           130           -50.42%
BenchmarkCompressDeltaBinPackInt32/nBits=7,_sign=0-32              296           149           -49.61%
BenchmarkCompressDeltaBinPackInt32/nBits=7,_sign=1-32              264           127           -51.99%
BenchmarkCompressDeltaBinPackInt32/nBits=8,_sign=0-32              281           134           -52.42%
BenchmarkCompressDeltaBinPackInt32/nBits=8,_sign=1-32              258           110           -57.24%
BenchmarkCompressDeltaBinPackInt32/nBits=9,_sign=0-32              299           169           -43.43%
BenchmarkCompressDeltaBinPackInt32/nBits=9,_sign=1-32              269           117           -56.42%
BenchmarkCompressDeltaBinPackInt32/nBits=10,_sign=0-32             302           155           -48.77%
BenchmarkCompressDeltaBinPackInt32/nBits=10,_sign=1-32             268           117           -56.32%
BenchmarkCompressDeltaBinPackInt32/nBits=11,_sign=0-32             320           153           -52.16%
BenchmarkCompressDeltaBinPackInt32/nBits=11,_sign=1-32             271           120           -55.63%
BenchmarkCompressDeltaBinPackInt32/nBits=12,_sign=0-32             304           150           -50.76%
BenchmarkCompressDeltaBinPackInt32/nBits=12,_sign=1-32             274           117           -57.36%
BenchmarkCompressDeltaBinPackInt32/nBits=13,_sign=0-32             311           171           -45.07%
BenchmarkCompressDeltaBinPackInt32/nBits=13,_sign=1-32             274           131           -52.05%
BenchmarkCompressDeltaBinPackInt32/nBits=14,_sign=0-32             305           178           -41.75%
BenchmarkCompressDeltaBinPackInt32/nBits=14,_sign=1-32             271           138           -49.04%
BenchmarkCompressDeltaBinPackInt32/nBits=15,_sign=0-32             321           161           -49.81%
BenchmarkCompressDeltaBinPackInt32/nBits=15,_sign=1-32             273           135           -50.64%
BenchmarkCompressDeltaBinPackInt32/nBits=16,_sign=0-32             284           131           -53.85%
BenchmarkCompressDeltaBinPackInt32/nBits=16,_sign=1-32             258           109           -57.53%
BenchmarkCompressDeltaBinPackInt32/nBits=17,_sign=0-32             310           164           -47.00%
BenchmarkCompressDeltaBinPackInt32/nBits=17,_sign=1-32             281           126           -55.31%
BenchmarkCompressDeltaBinPackInt32/nBits=18,_sign=0-32             313           189           -39.58%
BenchmarkCompressDeltaBinPackInt32/nBits=18,_sign=1-32             283           126           -55.57%
BenchmarkCompressDeltaBinPackInt32/nBits=19,_sign=0-32             333           174           -47.67%
BenchmarkCompressDeltaBinPackInt32/nBits=19,_sign=1-32             279           127           -54.50%
BenchmarkCompressDeltaBinPackInt32/nBits=20,_sign=0-32             318           164           -48.67%
BenchmarkCompressDeltaBinPackInt32/nBits=20,_sign=1-32             281           127           -54.79%
BenchmarkCompressDeltaBinPackInt32/nBits=21,_sign=0-32             321           191           -40.60%
BenchmarkCompressDeltaBinPackInt32/nBits=21,_sign=1-32             283           150           -47.19%
BenchmarkCompressDeltaBinPackInt32/nBits=22,_sign=0-32             319           194           -39.07%
BenchmarkCompressDeltaBinPackInt32/nBits=22,_sign=1-32             277           141           -49.24%
BenchmarkCompressDeltaBinPackInt32/nBits=23,_sign=0-32             341           176           -48.33%
BenchmarkCompressDeltaBinPackInt32/nBits=23,_sign=1-32             288           130           -54.82%
BenchmarkCompressDeltaBinPackInt32/nBits=24,_sign=0-32             311           163           -47.73%
BenchmarkCompressDeltaBinPackInt32/nBits=24,_sign=1-32             273           124           -54.75%
BenchmarkCompressDeltaBinPackInt32/nBits=25,_sign=0-32             328           197           -39.99%
BenchmarkCompressDeltaBinPackInt32/nBits=25,_sign=1-32             285           133           -53.21%
BenchmarkCompressDeltaBinPackInt32/nBits=26,_sign=0-32             340           188           -44.69%
BenchmarkCompressDeltaBinPackInt32/nBits=26,_sign=1-32             284           133           -53.20%
BenchmarkCompressDeltaBinPackInt32/nBits=27,_sign=0-32             336           183           -45.46%
BenchmarkCompressDeltaBinPackInt32/nBits=27,_sign=1-32             291           162           -44.31%
BenchmarkCompressDeltaBinPackInt32/nBits=28,_sign=0-32             330           196           -40.75%
BenchmarkCompressDeltaBinPackInt32/nBits=28,_sign=1-32             293           135           -54.00%
BenchmarkCompressDeltaBinPackInt32/nBits=29,_sign=0-32             348           213           -38.76%
BenchmarkCompressDeltaBinPackInt32/nBits=29,_sign=1-32             295           139           -52.97%
BenchmarkCompressDeltaBinPackInt32/nBits=30,_sign=0-32             337           188           -44.08%
BenchmarkCompressDeltaBinPackInt32/nBits=30,_sign=1-32             284           139           -51.23%
BenchmarkCompressDeltaBinPackInt32/nBits=31,_sign=0-32             342           214           -37.41%
BenchmarkCompressDeltaBinPackInt32/nBits=31,_sign=1-32             286           137           -52.04%
BenchmarkCompressDeltaBinPackInt32/nBits=32,_sign=0-32             342           217           -36.76%
BenchmarkCompressDeltaBinPackInt32/nBits=32,_sign=1-32             234           87.1          -62.81%
BenchmarkCompressDeltaBinPackUint32/nBits=0,_sign=0-32             218           78.6          -64.00%
BenchmarkCompressDeltaBinPackUint32/nBits=0,_sign=1-32             217           80.0          -63.19%
BenchmarkCompressDeltaBinPackUint32/nBits=1,_sign=0-32             278           156           -43.60%
BenchmarkCompressDeltaBinPackUint32/nBits=1,_sign=1-32             249           128           -48.54%
BenchmarkCompressDeltaBinPackUint32/nBits=2,_sign=0-32             278           141           -49.08%
BenchmarkCompressDeltaBinPackUint32/nBits=2,_sign=1-32             254           122           -52.07%
BenchmarkCompressDeltaBinPackUint32/nBits=3,_sign=0-32             295           143           -51.37%
BenchmarkCompressDeltaBinPackUint32/nBits=3,_sign=1-32             254           112           -55.97%
BenchmarkCompressDeltaBinPackUint32/nBits=4,_sign=0-32             278           136           -50.86%
BenchmarkCompressDeltaBinPackUint32/nBits=4,_sign=1-32             251           111           -55.59%
BenchmarkCompressDeltaBinPackUint32/nBits=5,_sign=0-32             281           144           -48.82%
BenchmarkCompressDeltaBinPackUint32/nBits=5,_sign=1-32             256           114           -55.50%
BenchmarkCompressDeltaBinPackUint32/nBits=6,_sign=0-32             296           165           -44.10%
BenchmarkCompressDeltaBinPackUint32/nBits=6,_sign=1-32             251           114           -54.85%
BenchmarkCompressDeltaBinPackUint32/nBits=7,_sign=0-32             285           164           -42.51%
BenchmarkCompressDeltaBinPackUint32/nBits=7,_sign=1-32             255           116           -54.66%
BenchmarkCompressDeltaBinPackUint32/nBits=8,_sign=0-32             275           137           -50.24%
BenchmarkCompressDeltaBinPackUint32/nBits=8,_sign=1-32             247           110           -55.62%
BenchmarkCompressDeltaBinPackUint32/nBits=9,_sign=0-32             293           151           -48.43%
BenchmarkCompressDeltaBinPackUint32/nBits=9,_sign=1-32             255           119           -53.37%
BenchmarkCompressDeltaBinPackUint32/nBits=10,_sign=0-32            292           151           -48.29%
BenchmarkCompressDeltaBinPackUint32/nBits=10,_sign=1-32            260           140           -45.96%
BenchmarkCompressDeltaBinPackUint32/nBits=11,_sign=0-32            299           180           -40.05%
BenchmarkCompressDeltaBinPackUint32/nBits=11,_sign=1-32            261           136           -47.82%
BenchmarkCompressDeltaBinPackUint32/nBits=12,_sign=0-32            291           169           -41.86%
BenchmarkCompressDeltaBinPackUint32/nBits=12,_sign=1-32            257           122           -52.66%
BenchmarkCompressDeltaBinPackUint32/nBits=13,_sign=0-32            300           158           -47.25%
BenchmarkCompressDeltaBinPackUint32/nBits=13,_sign=1-32            263           122           -53.47%
BenchmarkCompressDeltaBinPackUint32/nBits=14,_sign=0-32            293           158           -46.14%
BenchmarkCompressDeltaBinPackUint32/nBits=14,_sign=1-32            261           122           -53.18%
BenchmarkCompressDeltaBinPackUint32/nBits=15,_sign=0-32            298           160           -46.36%
BenchmarkCompressDeltaBinPackUint32/nBits=15,_sign=1-32            261           123           -52.82%
BenchmarkCompressDeltaBinPackUint32/nBits=16,_sign=0-32            273           152           -44.27%
BenchmarkCompressDeltaBinPackUint32/nBits=16,_sign=1-32            246           108           -55.96%
BenchmarkCompressDeltaBinPackUint32/nBits=17,_sign=0-32            305           178           -41.57%
BenchmarkCompressDeltaBinPackUint32/nBits=17,_sign=1-32            267           127           -52.51%
BenchmarkCompressDeltaBinPackUint32/nBits=18,_sign=0-32            314           165           -47.53%
BenchmarkCompressDeltaBinPackUint32/nBits=18,_sign=1-32            269           145           -46.23%
BenchmarkCompressDeltaBinPackUint32/nBits=19,_sign=0-32            312           170           -45.66%
BenchmarkCompressDeltaBinPackUint32/nBits=19,_sign=1-32            269           146           -45.82%
BenchmarkCompressDeltaBinPackUint32/nBits=20,_sign=0-32            316           183           -42.17%
BenchmarkCompressDeltaBinPackUint32/nBits=20,_sign=1-32            266           126           -52.73%
BenchmarkCompressDeltaBinPackUint32/nBits=21,_sign=0-32            312           176           -43.67%
BenchmarkCompressDeltaBinPackUint32/nBits=21,_sign=1-32            269           129           -52.05%
BenchmarkCompressDeltaBinPackUint32/nBits=22,_sign=0-32            311           175           -43.80%
BenchmarkCompressDeltaBinPackUint32/nBits=22,_sign=1-32            268           129           -51.81%
BenchmarkCompressDeltaBinPackUint32/nBits=23,_sign=0-32            314           199           -36.58%
BenchmarkCompressDeltaBinPackUint32/nBits=23,_sign=1-32            269           132           -51.12%
BenchmarkCompressDeltaBinPackUint32/nBits=24,_sign=0-32            314           187           -40.44%
BenchmarkCompressDeltaBinPackUint32/nBits=24,_sign=1-32            264           142           -46.31%
BenchmarkCompressDeltaBinPackUint32/nBits=25,_sign=0-32            325           182           -44.05%
BenchmarkCompressDeltaBinPackUint32/nBits=25,_sign=1-32            282           158           -43.73%
BenchmarkCompressDeltaBinPackUint32/nBits=26,_sign=0-32            323           180           -44.36%
BenchmarkCompressDeltaBinPackUint32/nBits=26,_sign=1-32            280           134           -51.93%
BenchmarkCompressDeltaBinPackUint32/nBits=27,_sign=0-32            342           210           -38.52%
BenchmarkCompressDeltaBinPackUint32/nBits=27,_sign=1-32            276           135           -51.09%
BenchmarkCompressDeltaBinPackUint32/nBits=28,_sign=0-32            319           187           -41.50%
BenchmarkCompressDeltaBinPackUint32/nBits=28,_sign=1-32            273           149           -45.50%
BenchmarkCompressDeltaBinPackUint32/nBits=29,_sign=0-32            324           188           -42.12%
BenchmarkCompressDeltaBinPackUint32/nBits=29,_sign=1-32            276           137           -50.52%
BenchmarkCompressDeltaBinPackUint32/nBits=30,_sign=0-32            328           208           -36.63%
BenchmarkCompressDeltaBinPackUint32/nBits=30,_sign=1-32            290           164           -43.36%
BenchmarkCompressDeltaBinPackUint32/nBits=31,_sign=0-32            335           201           -39.92%
BenchmarkCompressDeltaBinPackUint32/nBits=31,_sign=1-32            280           142           -49.38%
BenchmarkCompressDeltaBinPackUint32/nBits=32,_sign=0-32            338           200           -40.94%
BenchmarkCompressDeltaBinPackUint32/nBits=32,_sign=1-32            228           89.0          -61.07%
BenchmarkCompressDeltaBinPackInt64/nBits=0,_ntz=0,_sign=0-32       433           150           -65.45%
BenchmarkCompressDeltaBinPackInt64/nBits=0,_ntz=0,_sign=1-32       435           150           -65.59%
BenchmarkCompressDeltaBinPackInt64/nBits=0,_ntz=31,_sign=0-32      429           151           -64.89%
BenchmarkCompressDeltaBinPackInt64/nBits=0,_ntz=31,_sign=1-32      428           148           -65.30%
BenchmarkCompressDeltaBinPackInt64/nBits=0,_ntz=62,_sign=0-32      450           150           -66.69%
BenchmarkCompressDeltaBinPackInt64/nBits=0,_ntz=62,_sign=1-32      434           149           -65.65%
BenchmarkCompressDeltaBinPackInt64/nBits=1,_ntz=0,_sign=0-32       574           332           -42.09%
BenchmarkCompressDeltaBinPackInt64/nBits=1,_ntz=0,_sign=1-32       519           246           -52.55%
BenchmarkCompressDeltaBinPackInt64/nBits=1,_ntz=31,_sign=0-32      527           243           -53.92%
BenchmarkCompressDeltaBinPackInt64/nBits=1,_ntz=31,_sign=1-32      524           243           -53.61%
BenchmarkCompressDeltaBinPackInt64/nBits=1,_ntz=62,_sign=0-32      588           322           -45.26%
BenchmarkCompressDeltaBinPackInt64/nBits=1,_ntz=62,_sign=1-32      592           361           -39.07%
BenchmarkCompressDeltaBinPackInt64/nBits=2,_ntz=0,_sign=0-32       582           299           -48.71%
BenchmarkCompressDeltaBinPackInt64/nBits=2,_ntz=0,_sign=1-32       524           277           -47.23%
BenchmarkCompressDeltaBinPackInt64/nBits=2,_ntz=31,_sign=0-32      532           279           -47.61%
BenchmarkCompressDeltaBinPackInt64/nBits=2,_ntz=31,_sign=1-32      527           278           -47.17%
BenchmarkCompressDeltaBinPackInt64/nBits=2,_ntz=62,_sign=0-32      894           610           -31.85%
BenchmarkCompressDeltaBinPackInt64/nBits=2,_ntz=62,_sign=1-32      468           172           -63.17%
BenchmarkCompressDeltaBinPackInt64/nBits=3,_ntz=0,_sign=0-32       587           346           -41.11%
BenchmarkCompressDeltaBinPackInt64/nBits=3,_ntz=0,_sign=1-32       531           273           -48.49%
BenchmarkCompressDeltaBinPackInt64/nBits=3,_ntz=31,_sign=0-32      531           273           -48.60%
BenchmarkCompressDeltaBinPackInt64/nBits=3,_ntz=31,_sign=1-32      529           274           -48.16%
BenchmarkCompressDeltaBinPackInt64/nBits=4,_ntz=0,_sign=0-32       571           319           -44.03%
BenchmarkCompressDeltaBinPackInt64/nBits=4,_ntz=0,_sign=1-32       523           266           -49.10%
BenchmarkCompressDeltaBinPackInt64/nBits=4,_ntz=31,_sign=0-32      525           266           -49.27%
BenchmarkCompressDeltaBinPackInt64/nBits=4,_ntz=31,_sign=1-32      526           267           -49.26%
BenchmarkCompressDeltaBinPackInt64/nBits=5,_ntz=0,_sign=0-32       608           323           -46.81%
BenchmarkCompressDeltaBinPackInt64/nBits=5,_ntz=0,_sign=1-32       545           286           -47.54%
BenchmarkCompressDeltaBinPackInt64/nBits=5,_ntz=31,_sign=0-32      541           284           -47.55%
BenchmarkCompressDeltaBinPackInt64/nBits=5,_ntz=31,_sign=1-32      530           284           -46.38%
BenchmarkCompressDeltaBinPackInt64/nBits=6,_ntz=0,_sign=0-32       604           341           -43.63%
BenchmarkCompressDeltaBinPackInt64/nBits=6,_ntz=0,_sign=1-32       534           254           -52.51%
BenchmarkCompressDeltaBinPackInt64/nBits=6,_ntz=31,_sign=0-32      533           250           -53.05%
BenchmarkCompressDeltaBinPackInt64/nBits=6,_ntz=31,_sign=1-32      528           252           -52.37%
BenchmarkCompressDeltaBinPackInt64/nBits=7,_ntz=0,_sign=0-32       591           350           -40.77%
BenchmarkCompressDeltaBinPackInt64/nBits=7,_ntz=0,_sign=1-32       534           301           -43.66%
BenchmarkCompressDeltaBinPackInt64/nBits=7,_ntz=31,_sign=0-32      536           301           -43.81%
BenchmarkCompressDeltaBinPackInt64/nBits=7,_ntz=31,_sign=1-32      538           299           -44.32%
BenchmarkCompressDeltaBinPackInt64/nBits=8,_ntz=0,_sign=0-32       574           302           -47.43%
BenchmarkCompressDeltaBinPackInt64/nBits=8,_ntz=0,_sign=1-32       524           241           -54.08%
BenchmarkCompressDeltaBinPackInt64/nBits=8,_ntz=31,_sign=0-32      525           243           -53.75%
BenchmarkCompressDeltaBinPackInt64/nBits=8,_ntz=31,_sign=1-32      529           243           -54.16%
BenchmarkCompressDeltaBinPackInt64/nBits=9,_ntz=0,_sign=0-32       599           364           -39.28%
BenchmarkCompressDeltaBinPackInt64/nBits=9,_ntz=0,_sign=1-32       549           290           -47.10%
BenchmarkCompressDeltaBinPackInt64/nBits=9,_ntz=31,_sign=0-32      554           289           -47.74%
BenchmarkCompressDeltaBinPackInt64/nBits=9,_ntz=31,_sign=1-32      550           290           -47.21%
BenchmarkCompressDeltaBinPackInt64/nBits=10,_ntz=0,_sign=0-32      603           362           -39.96%
BenchmarkCompressDeltaBinPackInt64/nBits=10,_ntz=0,_sign=1-32      539           263           -51.21%
BenchmarkCompressDeltaBinPackInt64/nBits=10,_ntz=31,_sign=0-32     539           263           -51.20%
BenchmarkCompressDeltaBinPackInt64/nBits=10,_ntz=31,_sign=1-32     545           262           -51.84%
BenchmarkCompressDeltaBinPackInt64/nBits=11,_ntz=0,_sign=0-32      600           351           -41.43%
BenchmarkCompressDeltaBinPackInt64/nBits=11,_ntz=0,_sign=1-32      549           312           -43.27%
BenchmarkCompressDeltaBinPackInt64/nBits=11,_ntz=31,_sign=0-32     550           309           -43.74%
BenchmarkCompressDeltaBinPackInt64/nBits=11,_ntz=31,_sign=1-32     550           311           -43.45%
BenchmarkCompressDeltaBinPackInt64/nBits=12,_ntz=0,_sign=0-32      599           339           -43.48%
BenchmarkCompressDeltaBinPackInt64/nBits=12,_ntz=0,_sign=1-32      537           257           -52.11%
BenchmarkCompressDeltaBinPackInt64/nBits=12,_ntz=31,_sign=0-32     538           255           -52.62%
BenchmarkCompressDeltaBinPackInt64/nBits=12,_ntz=31,_sign=1-32     544           256           -52.88%
BenchmarkCompressDeltaBinPackInt64/nBits=13,_ntz=0,_sign=0-32      650           379           -41.79%
BenchmarkCompressDeltaBinPackInt64/nBits=13,_ntz=0,_sign=1-32      553           322           -41.72%
BenchmarkCompressDeltaBinPackInt64/nBits=13,_ntz=31,_sign=0-32     552           322           -41.61%
BenchmarkCompressDeltaBinPackInt64/nBits=13,_ntz=31,_sign=1-32     552           323           -41.47%
BenchmarkCompressDeltaBinPackInt64/nBits=14,_ntz=0,_sign=0-32      610           369           -39.49%
BenchmarkCompressDeltaBinPackInt64/nBits=14,_ntz=0,_sign=1-32      550           300           -45.52%
BenchmarkCompressDeltaBinPackInt64/nBits=14,_ntz=31,_sign=0-32     555           297           -46.54%
BenchmarkCompressDeltaBinPackInt64/nBits=14,_ntz=31,_sign=1-32     546           298           -45.41%
BenchmarkCompressDeltaBinPackInt64/nBits=15,_ntz=0,_sign=0-32      617           369           -40.19%
BenchmarkCompressDeltaBinPackInt64/nBits=15,_ntz=0,_sign=1-32      562           301           -46.44%
BenchmarkCompressDeltaBinPackInt64/nBits=15,_ntz=31,_sign=0-32     557           304           -45.46%
BenchmarkCompressDeltaBinPackInt64/nBits=15,_ntz=31,_sign=1-32     560           305           -45.44%
BenchmarkCompressDeltaBinPackInt64/nBits=16,_ntz=0,_sign=0-32      606           290           -52.14%
BenchmarkCompressDeltaBinPackInt64/nBits=16,_ntz=0,_sign=1-32      523           242           -53.73%
BenchmarkCompressDeltaBinPackInt64/nBits=16,_ntz=31,_sign=0-32     522           243           -53.44%
BenchmarkCompressDeltaBinPackInt64/nBits=16,_ntz=31,_sign=1-32     516           242           -53.10%
BenchmarkCompressDeltaBinPackInt64/nBits=17,_ntz=0,_sign=0-32      663           396           -40.35%
BenchmarkCompressDeltaBinPackInt64/nBits=17,_ntz=0,_sign=1-32      558           307           -44.91%
BenchmarkCompressDeltaBinPackInt64/nBits=17,_ntz=31,_sign=0-32     561           308           -45.16%
BenchmarkCompressDeltaBinPackInt64/nBits=17,_ntz=31,_sign=1-32     558           310           -44.37%
BenchmarkCompressDeltaBinPackInt64/nBits=18,_ntz=0,_sign=0-32      617           374           -39.30%
BenchmarkCompressDeltaBinPackInt64/nBits=18,_ntz=0,_sign=1-32      570           310           -45.59%
BenchmarkCompressDeltaBinPackInt64/nBits=18,_ntz=31,_sign=0-32     567           312           -45.03%
BenchmarkCompressDeltaBinPackInt64/nBits=18,_ntz=31,_sign=1-32     563           309           -45.16%
BenchmarkCompressDeltaBinPackInt64/nBits=19,_ntz=0,_sign=0-32      636           384           -39.68%
BenchmarkCompressDeltaBinPackInt64/nBits=19,_ntz=0,_sign=1-32      567           282           -50.29%
BenchmarkCompressDeltaBinPackInt64/nBits=19,_ntz=31,_sign=0-32     574           284           -50.59%
BenchmarkCompressDeltaBinPackInt64/nBits=19,_ntz=31,_sign=1-32     568           284           -49.99%
BenchmarkCompressDeltaBinPackInt64/nBits=20,_ntz=0,_sign=0-32      637           375           -41.19%
BenchmarkCompressDeltaBinPackInt64/nBits=20,_ntz=0,_sign=1-32      555           300           -45.89%
BenchmarkCompressDeltaBinPackInt64/nBits=20,_ntz=31,_sign=0-32     555           303           -45.48%
BenchmarkCompressDeltaBinPackInt64/nBits=20,_ntz=31,_sign=1-32     558           300           -46.34%
BenchmarkCompressDeltaBinPackInt64/nBits=21,_ntz=0,_sign=0-32      629           402           -36.06%
BenchmarkCompressDeltaBinPackInt64/nBits=21,_ntz=0,_sign=1-32      566           318           -43.73%
BenchmarkCompressDeltaBinPackInt64/nBits=21,_ntz=31,_sign=0-32     581           321           -44.81%
BenchmarkCompressDeltaBinPackInt64/nBits=21,_ntz=31,_sign=1-32     568           320           -43.63%
BenchmarkCompressDeltaBinPackInt64/nBits=22,_ntz=0,_sign=0-32      632           405           -35.91%
BenchmarkCompressDeltaBinPackInt64/nBits=22,_ntz=0,_sign=1-32      578           320           -44.72%
BenchmarkCompressDeltaBinPackInt64/nBits=22,_ntz=31,_sign=0-32     573           319           -44.36%
BenchmarkCompressDeltaBinPackInt64/nBits=22,_ntz=31,_sign=1-32     571           321           -43.82%
BenchmarkCompressDeltaBinPackInt64/nBits=23,_ntz=0,_sign=0-32      647           400           -38.09%
BenchmarkCompressDeltaBinPackInt64/nBits=23,_ntz=0,_sign=1-32      571           322           -43.72%
BenchmarkCompressDeltaBinPackInt64/nBits=23,_ntz=31,_sign=0-32     567           324           -42.80%
BenchmarkCompressDeltaBinPackInt64/nBits=23,_ntz=31,_sign=1-32     571           323           -43.41%
BenchmarkCompressDeltaBinPackInt64/nBits=24,_ntz=0,_sign=0-32      610           361           -40.79%
BenchmarkCompressDeltaBinPackInt64/nBits=24,_ntz=0,_sign=1-32      546           282           -48.34%
BenchmarkCompressDeltaBinPackInt64/nBits=24,_ntz=31,_sign=0-32     547           275           -49.74%
BenchmarkCompressDeltaBinPackInt64/nBits=24,_ntz=31,_sign=1-32     546           278           -49.12%
BenchmarkCompressDeltaBinPackInt64/nBits=25,_ntz=0,_sign=0-32      655           425           -35.09%
BenchmarkCompressDeltaBinPackInt64/nBits=25,_ntz=0,_sign=1-32      577           330           -42.76%
BenchmarkCompressDeltaBinPackInt64/nBits=25,_ntz=31,_sign=0-32     581           328           -43.60%
BenchmarkCompressDeltaBinPackInt64/nBits=25,_ntz=31,_sign=1-32     587           322           -45.12%
BenchmarkCompressDeltaBinPackInt64/nBits=26,_ntz=0,_sign=0-32      651           421           -35.38%
BenchmarkCompressDeltaBinPackInt64/nBits=26,_ntz=0,_sign=1-32      582           329           -43.39%
BenchmarkCompressDeltaBinPackInt64/nBits=26,_ntz=31,_sign=0-32     576           331           -42.60%
BenchmarkCompressDeltaBinPackInt64/nBits=26,_ntz=31,_sign=1-32     572           332           -42.05%
BenchmarkCompressDeltaBinPackInt64/nBits=27,_ntz=0,_sign=0-32      655           403           -38.52%
BenchmarkCompressDeltaBinPackInt64/nBits=27,_ntz=0,_sign=1-32      584           363           -37.88%
BenchmarkCompressDeltaBinPackInt64/nBits=27,_ntz=31,_sign=0-32     582           358           -38.39%
BenchmarkCompressDeltaBinPackInt64/nBits=27,_ntz=31,_sign=1-32     584           364           -37.68%
BenchmarkCompressDeltaBinPackInt64/nBits=28,_ntz=0,_sign=0-32      649           370           -43.04%
BenchmarkCompressDeltaBinPackInt64/nBits=28,_ntz=0,_sign=1-32      579           307           -47.05%
BenchmarkCompressDeltaBinPackInt64/nBits=28,_ntz=31,_sign=0-32     570           309           -45.77%
BenchmarkCompressDeltaBinPackInt64/nBits=28,_ntz=31,_sign=1-32     578           304           -47.52%
BenchmarkCompressDeltaBinPackInt64/nBits=29,_ntz=0,_sign=0-32      708           445           -37.16%
BenchmarkCompressDeltaBinPackInt64/nBits=29,_ntz=0,_sign=1-32      594           367           -38.19%
BenchmarkCompressDeltaBinPackInt64/nBits=29,_ntz=31,_sign=0-32     589           364           -38.24%
BenchmarkCompressDeltaBinPackInt64/nBits=29,_ntz=31,_sign=1-32     591           374           -36.73%
BenchmarkCompressDeltaBinPackInt64/nBits=30,_ntz=0,_sign=0-32      692           440           -36.34%
BenchmarkCompressDeltaBinPackInt64/nBits=30,_ntz=0,_sign=1-32      587           323           -45.01%
BenchmarkCompressDeltaBinPackInt64/nBits=30,_ntz=31,_sign=0-32     583           323           -44.68%
BenchmarkCompressDeltaBinPackInt64/nBits=30,_ntz=31,_sign=1-32     586           322           -45.15%
BenchmarkCompressDeltaBinPackInt64/nBits=31,_ntz=0,_sign=0-32      694           408           -41.27%
BenchmarkCompressDeltaBinPackInt64/nBits=31,_ntz=0,_sign=1-32      593           359           -39.50%
BenchmarkCompressDeltaBinPackInt64/nBits=31,_ntz=31,_sign=0-32     599           358           -40.15%
BenchmarkCompressDeltaBinPackInt64/nBits=31,_ntz=31,_sign=1-32     596           363           -38.99%
BenchmarkCompressDeltaBinPackInt64/nBits=32,_ntz=0,_sign=0-32      578           324           -43.86%
BenchmarkCompressDeltaBinPackInt64/nBits=32,_ntz=0,_sign=1-32      524           246           -53.10%
BenchmarkCompressDeltaBinPackInt64/nBits=32,_ntz=31,_sign=0-32     518           250           -51.75%
BenchmarkCompressDeltaBinPackInt64/nBits=32,_ntz=31,_sign=1-32     520           243           -53.24%
BenchmarkCompressDeltaBinPackInt64/nBits=33,_ntz=0,_sign=0-32      732           424           -42.01%
BenchmarkCompressDeltaBinPackInt64/nBits=33,_ntz=0,_sign=1-32      603           319           -47.05%
BenchmarkCompressDeltaBinPackInt64/nBits=33,_ntz=31,_sign=0-32     891           600           -32.67%
BenchmarkCompressDeltaBinPackInt64/nBits=33,_ntz=31,_sign=1-32     450           174           -61.28%
BenchmarkCompressDeltaBinPackInt64/nBits=34,_ntz=0,_sign=0-32      710           452           -36.38%
BenchmarkCompressDeltaBinPackInt64/nBits=34,_ntz=0,_sign=1-32      601           334           -44.46%
BenchmarkCompressDeltaBinPackInt64/nBits=35,_ntz=0,_sign=0-32      722           465           -35.66%
BenchmarkCompressDeltaBinPackInt64/nBits=35,_ntz=0,_sign=1-32      608           357           -41.27%
BenchmarkCompressDeltaBinPackInt64/nBits=36,_ntz=0,_sign=0-32      710           444           -37.51%
BenchmarkCompressDeltaBinPackInt64/nBits=36,_ntz=0,_sign=1-32      590           365           -38.08%
BenchmarkCompressDeltaBinPackInt64/nBits=37,_ntz=0,_sign=0-32      713           487           -31.62%
BenchmarkCompressDeltaBinPackInt64/nBits=37,_ntz=0,_sign=1-32      610           350           -42.58%
BenchmarkCompressDeltaBinPackInt64/nBits=38,_ntz=0,_sign=0-32      730           452           -38.11%
BenchmarkCompressDeltaBinPackInt64/nBits=38,_ntz=0,_sign=1-32      606           349           -42.48%
BenchmarkCompressDeltaBinPackInt64/nBits=39,_ntz=0,_sign=0-32      733           476           -35.12%
BenchmarkCompressDeltaBinPackInt64/nBits=39,_ntz=0,_sign=1-32      609           379           -37.77%
BenchmarkCompressDeltaBinPackInt64/nBits=40,_ntz=0,_sign=0-32      655           438           -33.10%
BenchmarkCompressDeltaBinPackInt64/nBits=40,_ntz=0,_sign=1-32      578           318           -44.95%
BenchmarkCompressDeltaBinPackInt64/nBits=41,_ntz=0,_sign=0-32      721           468           -35.09%
BenchmarkCompressDeltaBinPackInt64/nBits=41,_ntz=0,_sign=1-32      618           350           -43.26%
BenchmarkCompressDeltaBinPackInt64/nBits=42,_ntz=0,_sign=0-32      784           442           -43.57%
BenchmarkCompressDeltaBinPackInt64/nBits=42,_ntz=0,_sign=1-32      622           348           -44.01%
BenchmarkCompressDeltaBinPackInt64/nBits=43,_ntz=0,_sign=0-32      754           499           -33.77%
BenchmarkCompressDeltaBinPackInt64/nBits=43,_ntz=0,_sign=1-32      622           389           -37.49%
BenchmarkCompressDeltaBinPackInt64/nBits=44,_ntz=0,_sign=0-32      730           484           -33.68%
BenchmarkCompressDeltaBinPackInt64/nBits=44,_ntz=0,_sign=1-32      603           337           -44.14%
BenchmarkCompressDeltaBinPackInt64/nBits=45,_ntz=0,_sign=0-32      796           535           -32.83%
BenchmarkCompressDeltaBinPackInt64/nBits=45,_ntz=0,_sign=1-32      641           365           -43.01%
BenchmarkCompressDeltaBinPackInt64/nBits=46,_ntz=0,_sign=0-32      778           509           -34.66%
BenchmarkCompressDeltaBinPackInt64/nBits=46,_ntz=0,_sign=1-32      734           368           -49.85%
BenchmarkCompressDeltaBinPackInt64/nBits=47,_ntz=0,_sign=0-32      763           512           -32.94%
BenchmarkCompressDeltaBinPackInt64/nBits=47,_ntz=0,_sign=1-32      625           394           -37.01%
BenchmarkCompressDeltaBinPackInt64/nBits=48,_ntz=0,_sign=0-32      804           418           -47.97%
BenchmarkCompressDeltaBinPackInt64/nBits=48,_ntz=0,_sign=1-32      574           291           -49.31%
BenchmarkCompressDeltaBinPackInt64/nBits=49,_ntz=0,_sign=0-32      877           442           -49.58%
BenchmarkCompressDeltaBinPackInt64/nBits=49,_ntz=0,_sign=1-32      634           401           -36.74%
BenchmarkCompressDeltaBinPackInt64/nBits=50,_ntz=0,_sign=0-32      778           539           -30.72%
BenchmarkCompressDeltaBinPackInt64/nBits=50,_ntz=0,_sign=1-32      644           372           -42.27%
BenchmarkCompressDeltaBinPackInt64/nBits=51,_ntz=0,_sign=0-32      853           513           -39.82%
BenchmarkCompressDeltaBinPackInt64/nBits=51,_ntz=0,_sign=1-32      637           431           -32.35%
BenchmarkCompressDeltaBinPackInt64/nBits=52,_ntz=0,_sign=0-32      738           495           -32.91%
BenchmarkCompressDeltaBinPackInt64/nBits=52,_ntz=0,_sign=1-32      620           358           -42.30%
BenchmarkCompressDeltaBinPackInt64/nBits=53,_ntz=0,_sign=0-32      836           566           -32.29%
BenchmarkCompressDeltaBinPackInt64/nBits=53,_ntz=0,_sign=1-32      666           381           -42.76%
BenchmarkCompressDeltaBinPackInt64/nBits=54,_ntz=0,_sign=0-32      792           557           -29.67%
BenchmarkCompressDeltaBinPackInt64/nBits=54,_ntz=0,_sign=1-32      674           430           -36.17%
BenchmarkCompressDeltaBinPackInt64/nBits=55,_ntz=0,_sign=0-32      887           480           -45.85%
BenchmarkCompressDeltaBinPackInt64/nBits=55,_ntz=0,_sign=1-32      672           456           -32.09%
BenchmarkCompressDeltaBinPackInt64/nBits=56,_ntz=0,_sign=0-32      745           491           -34.02%
BenchmarkCompressDeltaBinPackInt64/nBits=56,_ntz=0,_sign=1-32      608           369           -39.25%
BenchmarkCompressDeltaBinPackInt64/nBits=57,_ntz=0,_sign=0-32      855           584           -31.66%
BenchmarkCompressDeltaBinPackInt64/nBits=57,_ntz=0,_sign=1-32      654           459           -29.82%
BenchmarkCompressDeltaBinPackInt64/nBits=58,_ntz=0,_sign=0-32      786           578           -26.50%
BenchmarkCompressDeltaBinPackInt64/nBits=58,_ntz=0,_sign=1-32      662           393           -40.69%
BenchmarkCompressDeltaBinPackInt64/nBits=59,_ntz=0,_sign=0-32      836           557           -33.37%
BenchmarkCompressDeltaBinPackInt64/nBits=59,_ntz=0,_sign=1-32      700           405           -42.14%
BenchmarkCompressDeltaBinPackInt64/nBits=60,_ntz=0,_sign=0-32      849           554           -34.76%
BenchmarkCompressDeltaBinPackInt64/nBits=60,_ntz=0,_sign=1-32      664           446           -32.73%
BenchmarkCompressDeltaBinPackInt64/nBits=61,_ntz=0,_sign=0-32      857           601           -29.87%
BenchmarkCompressDeltaBinPackInt64/nBits=61,_ntz=0,_sign=1-32      704           473           -32.76%
BenchmarkCompressDeltaBinPackInt64/nBits=62,_ntz=0,_sign=0-32      841           571           -32.04%
BenchmarkCompressDeltaBinPackInt64/nBits=62,_ntz=0,_sign=1-32      682           408           -40.16%
BenchmarkCompressDeltaBinPackInt64/nBits=63,_ntz=0,_sign=0-32      898           603           -32.84%
BenchmarkCompressDeltaBinPackInt64/nBits=63,_ntz=0,_sign=1-32      725           411           -43.33%
BenchmarkCompressDeltaBinPackInt64/nBits=64,_ntz=0,_sign=0-32      890           605           -32.03%
BenchmarkCompressDeltaBinPackInt64/nBits=64,_ntz=0,_sign=1-32      458           172           -62.52%
BenchmarkCompressDeltaBinPackUint64/nBits=0,_sign=0-32             382           141           -63.04%
BenchmarkCompressDeltaBinPackUint64/nBits=0,_sign=1-32             380           142           -62.68%
BenchmarkCompressDeltaBinPackUint64/nBits=1,_sign=0-32             502           270           -46.21%
BenchmarkCompressDeltaBinPackUint64/nBits=1,_sign=1-32             448           207           -53.84%
BenchmarkCompressDeltaBinPackUint64/nBits=2,_sign=0-32             504           291           -42.29%
BenchmarkCompressDeltaBinPackUint64/nBits=2,_sign=1-32             453           204           -55.08%
BenchmarkCompressDeltaBinPackUint64/nBits=3,_sign=0-32             514           266           -48.22%
BenchmarkCompressDeltaBinPackUint64/nBits=3,_sign=1-32             453           224           -50.57%
BenchmarkCompressDeltaBinPackUint64/nBits=4,_sign=0-32             506           295           -41.68%
BenchmarkCompressDeltaBinPackUint64/nBits=4,_sign=1-32             447           213           -52.33%
BenchmarkCompressDeltaBinPackUint64/nBits=5,_sign=0-32             512           267           -47.88%
BenchmarkCompressDeltaBinPackUint64/nBits=5,_sign=1-32             449           207           -53.98%
BenchmarkCompressDeltaBinPackUint64/nBits=6,_sign=0-32             508           303           -40.34%
BenchmarkCompressDeltaBinPackUint64/nBits=6,_sign=1-32             452           227           -49.71%
BenchmarkCompressDeltaBinPackUint64/nBits=7,_sign=0-32             510           280           -45.17%
BenchmarkCompressDeltaBinPackUint64/nBits=7,_sign=1-32             451           226           -49.80%
BenchmarkCompressDeltaBinPackUint64/nBits=8,_sign=0-32             499           292           -41.46%
BenchmarkCompressDeltaBinPackUint64/nBits=8,_sign=1-32             443           208           -52.99%
BenchmarkCompressDeltaBinPackUint64/nBits=9,_sign=0-32             516           287           -44.34%
BenchmarkCompressDeltaBinPackUint64/nBits=9,_sign=1-32             459           235           -48.80%
BenchmarkCompressDeltaBinPackUint64/nBits=10,_sign=0-32            613           305           -50.28%
BenchmarkCompressDeltaBinPackUint64/nBits=10,_sign=1-32            456           214           -52.96%
BenchmarkCompressDeltaBinPackUint64/nBits=11,_sign=0-32            520           313           -39.72%
BenchmarkCompressDeltaBinPackUint64/nBits=11,_sign=1-32            455           212           -53.35%
BenchmarkCompressDeltaBinPackUint64/nBits=12,_sign=0-32            508           267           -47.42%
BenchmarkCompressDeltaBinPackUint64/nBits=12,_sign=1-32            447           234           -47.75%
BenchmarkCompressDeltaBinPackUint64/nBits=13,_sign=0-32            521           318           -38.90%
BenchmarkCompressDeltaBinPackUint64/nBits=13,_sign=1-32            456           242           -46.82%
BenchmarkCompressDeltaBinPackUint64/nBits=14,_sign=0-32            520           292           -43.84%
BenchmarkCompressDeltaBinPackUint64/nBits=14,_sign=1-32            451           216           -52.22%
BenchmarkCompressDeltaBinPackUint64/nBits=15,_sign=0-32            526           320           -39.19%
BenchmarkCompressDeltaBinPackUint64/nBits=15,_sign=1-32            462           245           -46.87%
BenchmarkCompressDeltaBinPackUint64/nBits=16,_sign=0-32            497           293           -41.14%
BenchmarkCompressDeltaBinPackUint64/nBits=16,_sign=1-32            449           208           -53.79%
BenchmarkCompressDeltaBinPackUint64/nBits=17,_sign=0-32            524           366           -30.24%
BenchmarkCompressDeltaBinPackUint64/nBits=17,_sign=1-32            468           219           -53.22%
BenchmarkCompressDeltaBinPackUint64/nBits=18,_sign=0-32            529           316           -40.34%
BenchmarkCompressDeltaBinPackUint64/nBits=18,_sign=1-32            459           248           -46.08%
BenchmarkCompressDeltaBinPackUint64/nBits=19,_sign=0-32            528           319           -39.62%
BenchmarkCompressDeltaBinPackUint64/nBits=19,_sign=1-32            458           225           -50.93%
BenchmarkCompressDeltaBinPackUint64/nBits=20,_sign=0-32            524           313           -40.36%
BenchmarkCompressDeltaBinPackUint64/nBits=20,_sign=1-32            465           235           -49.39%
BenchmarkCompressDeltaBinPackUint64/nBits=21,_sign=0-32            537           325           -39.44%
BenchmarkCompressDeltaBinPackUint64/nBits=21,_sign=1-32            462           243           -47.37%
BenchmarkCompressDeltaBinPackUint64/nBits=22,_sign=0-32            529           326           -38.45%
BenchmarkCompressDeltaBinPackUint64/nBits=22,_sign=1-32            470           235           -49.95%
BenchmarkCompressDeltaBinPackUint64/nBits=23,_sign=0-32            551           305           -44.70%
BenchmarkCompressDeltaBinPackUint64/nBits=23,_sign=1-32            466           243           -47.88%
BenchmarkCompressDeltaBinPackUint64/nBits=24,_sign=0-32            525           328           -37.60%
BenchmarkCompressDeltaBinPackUint64/nBits=24,_sign=1-32            464           221           -52.32%
BenchmarkCompressDeltaBinPackUint64/nBits=25,_sign=0-32            545           331           -39.26%
BenchmarkCompressDeltaBinPackUint64/nBits=25,_sign=1-32            473           255           -45.98%
BenchmarkCompressDeltaBinPackUint64/nBits=26,_sign=0-32            543           313           -42.28%
BenchmarkCompressDeltaBinPackUint64/nBits=26,_sign=1-32            468           225           -51.83%
klauspost commented 1 year ago

(benchmarks are a bit noisy on my machine, but trend should be clear)