arrow -DARROW_SIMD_LEVEL=NONE \ -DARROW_RUNTIME_SIMD_LEVEL=NONE \ ============================================================================ [...]mon/tests/BitPackDecoderBenchmark.cpp relative time/iter iters/s ============================================================================ velox_unpack_fullrows_1_8 641.10us 1.56K legacy_unpack_naive_fullrows_1_8 5.1033% 12.56ms 79.60 legacy_unpack_fast_fullrows_1_8 15.546% 4.12ms 242.49 fastpforlib_unpack_fullrows_1_8 13.967% 4.59ms 217.86 arrow_unpack_fullrows_1_8 15.297% 4.19ms 238.60 duckdb_unpack_fullrows_1_8 9.0905% 7.05ms 141.79 ---------------------------------------------------------------------------- velox_unpack_fullrows_2_8 641.12us 1.56K legacy_unpack_naive_fullrows_2_8 5.1285% 12.50ms 79.99 legacy_unpack_fast_fullrows_2_8 15.538% 4.13ms 242.36 fastpforlib_unpack_fullrows_2_8 12.966% 4.94ms 202.24 arrow_unpack_fullrows_2_8 20.284% 3.16ms 316.39 duckdb_unpack_fullrows_2_8 7.6894% 8.34ms 119.94 ---------------------------------------------------------------------------- velox_unpack_fullrows_3_8 642.45us 1.56K legacy_unpack_naive_fullrows_3_8 5.1347% 12.51ms 79.92 legacy_unpack_fast_fullrows_3_8 15.240% 4.22ms 237.22 fastpforlib_unpack_fullrows_3_8 11.663% 5.51ms 181.54 arrow_unpack_fullrows_3_8 13.728% 4.68ms 213.69 duckdb_unpack_fullrows_3_8 6.4653% 9.94ms 100.63 ---------------------------------------------------------------------------- velox_unpack_fullrows_4_8 641.22us 1.56K legacy_unpack_naive_fullrows_4_8 5.1550% 12.44ms 80.39 legacy_unpack_fast_fullrows_4_8 15.074% 4.25ms 235.09 fastpforlib_unpack_fullrows_4_8 12.890% 4.97ms 201.02 arrow_unpack_fullrows_4_8 18.784% 3.41ms 292.94 duckdb_unpack_fullrows_4_8 5.0009% 12.82ms 77.99 ---------------------------------------------------------------------------- velox_unpack_fullrows_5_8 649.02us 1.54K legacy_unpack_naive_fullrows_5_8 5.2101% 12.46ms 80.28 legacy_unpack_fast_fullrows_5_8 14.784% 4.39ms 227.79 fastpforlib_unpack_fullrows_5_8 10.200% 6.36ms 157.17 arrow_unpack_fullrows_5_8 15.630% 4.15ms 240.82 duckdb_unpack_fullrows_5_8 5.3002% 12.25ms 81.66 ---------------------------------------------------------------------------- velox_unpack_fullrows_6_8 603.82us 1.66K legacy_unpack_naive_fullrows_6_8 4.8485% 12.45ms 80.30 legacy_unpack_fast_fullrows_6_8 13.630% 4.43ms 225.73 fastpforlib_unpack_fullrows_6_8 9.6602% 6.25ms 159.98 arrow_unpack_fullrows_6_8 14.086% 4.29ms 233.28 duckdb_unpack_fullrows_6_8 4.0958% 14.74ms 67.83 ---------------------------------------------------------------------------- velox_unpack_fullrows_7_8 633.72us 1.58K legacy_unpack_naive_fullrows_7_8 5.0827% 12.47ms 80.20 legacy_unpack_fast_fullrows_7_8 14.053% 4.51ms 221.76 fastpforlib_unpack_fullrows_7_8 8.9994% 7.04ms 142.01 arrow_unpack_fullrows_7_8 12.201% 5.19ms 192.52 duckdb_unpack_fullrows_7_8 4.7640% 13.30ms 75.17 ---------------------------------------------------------------------------- velox_unpack_fullrows_8_8 643.92us 1.55K legacy_unpack_naive_fullrows_8_8 5.1732% 12.45ms 80.34 legacy_unpack_fast_fullrows_8_8 13.848% 4.65ms 215.05 fastpforlib_unpack_fullrows_8_8 22.037% 2.92ms 342.23 arrow_unpack_fullrows_8_8 16.598% 3.88ms 257.77 duckdb_unpack_fullrows_8_8 10.038% 6.41ms 155.90 ---------------------------------------------------------------------------- velox_unpack_fullrows_1_16 1.12ms 893.01 legacy_unpack_naive_fullrows_1_16 8.9703% 12.48ms 80.11 legacy_unpack_fast_fullrows_1_16 27.401% 4.09ms 244.70 fastpforlib_unpack_fullrows_1_16 17.892% 6.26ms 159.78 arrow_unpack_fullrows_1_16 26.835% 4.17ms 239.64 duckdb_unpack_fullrows_1_16 13.434% 8.34ms 119.97 velox_unpack_fullrows_2_16 1.13ms 887.77 legacy_unpack_naive_fullrows_2_16 9.0105% 12.50ms 79.99 legacy_unpack_fast_fullrows_2_16 27.086% 4.16ms 240.47 fastpforlib_unpack_fullrows_2_16 16.372% 6.88ms 145.35 arrow_unpack_fullrows_2_16 35.055% 3.21ms 311.21 duckdb_unpack_fullrows_2_16 12.545% 8.98ms 111.38 velox_unpack_fullrows_3_16 1.15ms 867.25 legacy_unpack_naive_fullrows_3_16 9.2299% 12.49ms 80.05 legacy_unpack_fast_fullrows_3_16 27.229% 4.23ms 236.14 fastpforlib_unpack_fullrows_3_16 17.133% 6.73ms 148.58 arrow_unpack_fullrows_3_16 24.683% 4.67ms 214.06 duckdb_unpack_fullrows_3_16 10.899% 10.58ms 94.52 velox_unpack_fullrows_4_16 1.16ms 861.99 legacy_unpack_naive_fullrows_4_16 9.3088% 12.46ms 80.24 legacy_unpack_fast_fullrows_4_16 26.842% 4.32ms 231.38 fastpforlib_unpack_fullrows_4_16 16.408% 7.07ms 141.44 arrow_unpack_fullrows_4_16 32.710% 3.55ms 281.96 duckdb_unpack_fullrows_4_16 10.051% 11.54ms 86.64 velox_unpack_fullrows_5_16 11.45ms 87.33 legacy_unpack_naive_fullrows_5_16 91.635% 12.50ms 80.03 legacy_unpack_fast_fullrows_5_16 258.07% 4.44ms 225.38 fastpforlib_unpack_fullrows_5_16 178.12% 6.43ms 155.56 arrow_unpack_fullrows_5_16 270.22% 4.24ms 235.99 duckdb_unpack_fullrows_5_16 96.493% 11.87ms 84.27 velox_unpack_fullrows_6_16 11.45ms 87.34 legacy_unpack_naive_fullrows_6_16 91.866% 12.46ms 80.23 legacy_unpack_fast_fullrows_6_16 254.06% 4.51ms 221.89 fastpforlib_unpack_fullrows_6_16 173.77% 6.59ms 151.76 arrow_unpack_fullrows_6_16 263.93% 4.34ms 230.51 duckdb_unpack_fullrows_6_16 87.785% 13.04ms 76.67 velox_unpack_fullrows_7_16 11.51ms 86.91 legacy_unpack_naive_fullrows_7_16 92.020% 12.50ms 79.98 legacy_unpack_fast_fullrows_7_16 252.55% 4.56ms 219.50 fastpforlib_unpack_fullrows_7_16 159.22% 7.23ms 138.38 arrow_unpack_fullrows_7_16 221.14% 5.20ms 192.20 duckdb_unpack_fullrows_7_16 80.928% 14.22ms 70.34 velox_unpack_fullrows_8_16 1.34ms 747.39 legacy_unpack_naive_fullrows_8_16 10.697% 12.51ms 79.94 legacy_unpack_fast_fullrows_8_16 28.522% 4.69ms 213.17 fastpforlib_unpack_fullrows_8_16 91.966% 1.45ms 687.34 arrow_unpack_fullrows_8_16 33.650% 3.98ms 251.49 duckdb_unpack_fullrows_8_16 8.6888% 15.40ms 64.94 velox_unpack_fullrows_9_16 17.41ms 57.44 legacy_unpack_naive_fullrows_9_16 138.82% 12.54ms 79.75 legacy_unpack_fast_fullrows_9_16 348.69% 4.99ms 200.30 fastpforlib_unpack_fullrows_9_16 188.76% 9.22ms 108.43 arrow_unpack_fullrows_9_16 304.83% 5.71ms 175.10 duckdb_unpack_fullrows_9_16 106.37% 16.37ms 61.10 velox_unpack_fullrows_10_16 17.50ms 57.16 legacy_unpack_naive_fullrows_10_16 139.39% 12.55ms 79.67 legacy_unpack_fast_fullrows_10_16 352.14% 4.97ms 201.28 fastpforlib_unpack_fullrows_10_16 231.54% 7.56ms 132.35 arrow_unpack_fullrows_10_16 334.41% 5.23ms 191.15 duckdb_unpack_fullrows_10_16 101.03% 17.32ms 57.75 velox_unpack_fullrows_11_16 17.41ms 57.43 legacy_unpack_naive_fullrows_11_16 139.30% 12.50ms 80.00 legacy_unpack_fast_fullrows_11_16 349.53% 4.98ms 200.75 fastpforlib_unpack_fullrows_11_16 188.79% 9.22ms 108.43 arrow_unpack_fullrows_11_16 275.41% 6.32ms 158.18 duckdb_unpack_fullrows_11_16 95.254% 18.28ms 54.71 velox_unpack_fullrows_12_16 17.66ms 56.63 legacy_unpack_naive_fullrows_12_16 136.57% 12.93ms 77.34 legacy_unpack_fast_fullrows_12_16 321.74% 5.49ms 182.19 fastpforlib_unpack_fullrows_12_16 191.20% 9.24ms 108.27 arrow_unpack_fullrows_12_16 362.29% 4.87ms 205.15 duckdb_unpack_fullrows_12_16 91.753% 19.25ms 51.96 velox_unpack_fullrows_13_16 17.46ms 57.29 legacy_unpack_naive_fullrows_13_16 138.95% 12.56ms 79.60 legacy_unpack_fast_fullrows_13_16 341.22% 5.12ms 195.47 fastpforlib_unpack_fullrows_13_16 174.14% 10.02ms 99.76 arrow_unpack_fullrows_13_16 330.33% 5.28ms 189.23 duckdb_unpack_fullrows_13_16 86.386% 20.21ms 49.49 velox_unpack_fullrows_14_16 17.48ms 57.21 legacy_unpack_naive_fullrows_14_16 139.30% 12.55ms 79.69 legacy_unpack_fast_fullrows_14_16 337.54% 5.18ms 193.10 fastpforlib_unpack_fullrows_14_16 173.22% 10.09ms 99.10 arrow_unpack_fullrows_14_16 331.15% 5.28ms 189.44 duckdb_unpack_fullrows_14_16 82.589% 21.17ms 47.25 velox_unpack_fullrows_15_16 12.08ms 82.76 legacy_unpack_naive_fullrows_15_16 96.362% 12.54ms 79.75 legacy_unpack_fast_fullrows_15_16 224.52% 5.38ms 185.81 fastpforlib_unpack_fullrows_15_16 182.51% 6.62ms 151.05 arrow_unpack_fullrows_15_16 221.35% 5.46ms 183.19 duckdb_unpack_fullrows_15_16 54.607% 22.13ms 45.19 velox_unpack_fullrows_16_16 2.79ms 358.78 legacy_unpack_naive_fullrows_16_16 22.288% 12.51ms 79.96 legacy_unpack_fast_fullrows_16_16 32.031% 8.70ms 114.92 fastpforlib_unpack_fullrows_16_16 196.11% 1.42ms 703.58 arrow_unpack_fullrows_16_16 47.885% 5.82ms 171.80 duckdb_unpack_fullrows_16_16 12.071% 23.09ms 43.31 velox_unpack_fullrows_1_32 2.98ms 335.98 legacy_unpack_naive_fullrows_1_32 23.806% 12.50ms 79.98 legacy_unpack_fast_fullrows_1_32 70.504% 4.22ms 236.88 fastpforlib_unpack_fullrows_1_32 75.012% 3.97ms 252.03 arrow_unpack_fullrows_1_32 76.700% 3.88ms 257.70 duckdb_unpack_fullrows_1_32 34.189% 8.71ms 114.87 velox_unpack_fullrows_2_32 2.94ms 339.97 legacy_unpack_naive_fullrows_2_32 23.422% 12.56ms 79.63 legacy_unpack_fast_fullrows_2_32 69.419% 4.24ms 236.01 fastpforlib_unpack_fullrows_2_32 71.447% 4.12ms 242.90 arrow_unpack_fullrows_2_32 83.569% 3.52ms 284.11 duckdb_unpack_fullrows_2_32 30.503% 9.64ms 103.70 velox_unpack_fullrows_3_32 2.92ms 341.97 legacy_unpack_naive_fullrows_3_32 23.391% 12.50ms 79.99 legacy_unpack_fast_fullrows_3_32 67.727% 4.32ms 231.61 fastpforlib_unpack_fullrows_3_32 68.099% 4.29ms 232.88 arrow_unpack_fullrows_3_32 65.269% 4.48ms 223.20 duckdb_unpack_fullrows_3_32 25.293% 11.56ms 86.49 velox_unpack_fullrows_4_32 3.02ms 331.19 legacy_unpack_naive_fullrows_4_32 24.201% 12.48ms 80.15 legacy_unpack_fast_fullrows_4_32 69.642% 4.34ms 230.65 fastpforlib_unpack_fullrows_4_32 58.136% 5.19ms 192.54 arrow_unpack_fullrows_4_32 66.949% 4.51ms 221.73 duckdb_unpack_fullrows_4_32 23.504% 12.85ms 77.84 velox_unpack_fullrows_5_32 3.03ms 329.62 legacy_unpack_naive_fullrows_5_32 24.268% 12.50ms 79.99 legacy_unpack_fast_fullrows_5_32 68.742% 4.41ms 226.59 fastpforlib_unpack_fullrows_5_32 61.451% 4.94ms 202.56 arrow_unpack_fullrows_5_32 71.498% 4.24ms 235.67 duckdb_unpack_fullrows_5_32 23.530% 12.89ms 77.56 velox_unpack_fullrows_6_32 3.05ms 327.97 legacy_unpack_naive_fullrows_6_32 24.411% 12.49ms 80.06 legacy_unpack_fast_fullrows_6_32 67.817% 4.50ms 222.42 fastpforlib_unpack_fullrows_6_32 61.211% 4.98ms 200.75 arrow_unpack_fullrows_6_32 70.445% 4.33ms 231.04 duckdb_unpack_fullrows_6_32 21.512% 14.17ms 70.55 velox_unpack_fullrows_7_32 3.12ms 320.29 legacy_unpack_naive_fullrows_7_32 24.993% 12.49ms 80.05 legacy_unpack_fast_fullrows_7_32 68.656% 4.55ms 219.90 fastpforlib_unpack_fullrows_7_32 62.175% 5.02ms 199.14 arrow_unpack_fullrows_7_32 62.059% 5.03ms 198.77 duckdb_unpack_fullrows_7_32 20.208% 15.45ms 64.73 velox_unpack_fullrows_8_32 3.32ms 300.93 legacy_unpack_naive_fullrows_8_32 26.600% 12.49ms 80.05 legacy_unpack_fast_fullrows_8_32 70.573% 4.71ms 212.37 fastpforlib_unpack_fullrows_8_32 60.326% 5.51ms 181.54 arrow_unpack_fullrows_8_32 68.211% 4.87ms 205.27 duckdb_unpack_fullrows_8_32 19.870% 16.72ms 59.79 velox_unpack_fullrows_9_32 11.69ms 85.58 legacy_unpack_naive_fullrows_9_32 93.331% 12.52ms 79.87 legacy_unpack_fast_fullrows_9_32 241.41% 4.84ms 206.59 fastpforlib_unpack_fullrows_9_32 232.09% 5.03ms 198.62 arrow_unpack_fullrows_9_32 220.22% 5.31ms 188.46 duckdb_unpack_fullrows_9_32 65.477% 17.85ms 56.03 velox_unpack_fullrows_10_32 11.71ms 85.37 legacy_unpack_naive_fullrows_10_32 93.595% 12.52ms 79.90 legacy_unpack_fast_fullrows_10_32 238.83% 4.90ms 203.89 fastpforlib_unpack_fullrows_10_32 232.48% 5.04ms 198.47 arrow_unpack_fullrows_10_32 235.71% 4.97ms 201.22 duckdb_unpack_fullrows_10_32 61.776% 18.96ms 52.74 velox_unpack_fullrows_11_32 11.77ms 84.98 legacy_unpack_naive_fullrows_11_32 93.914% 12.53ms 79.81 legacy_unpack_fast_fullrows_11_32 234.89% 5.01ms 199.61 fastpforlib_unpack_fullrows_11_32 233.64% 5.04ms 198.55 arrow_unpack_fullrows_11_32 209.51% 5.62ms 178.04 duckdb_unpack_fullrows_11_32 58.588% 20.09ms 49.79 velox_unpack_fullrows_13_32 11.79ms 84.80 legacy_unpack_naive_fullrows_13_32 94.128% 12.53ms 79.82 legacy_unpack_fast_fullrows_13_32 230.12% 5.12ms 195.15 fastpforlib_unpack_fullrows_13_32 226.59% 5.20ms 192.16 arrow_unpack_fullrows_13_32 225.43% 5.23ms 191.18 duckdb_unpack_fullrows_13_32 53.195% 22.17ms 45.11 velox_unpack_fullrows_15_32 11.76ms 85.06 legacy_unpack_naive_fullrows_15_32 93.301% 12.60ms 79.36 legacy_unpack_fast_fullrows_15_32 217.23% 5.41ms 184.77 fastpforlib_unpack_fullrows_15_32 217.84% 5.40ms 185.29 arrow_unpack_fullrows_15_32 211.70% 5.55ms 180.06 duckdb_unpack_fullrows_15_32 48.177% 24.40ms 40.98 velox_unpack_fullrows_17_32 12.55ms 79.69 legacy_unpack_naive_fullrows_17_32 100.02% 12.55ms 79.70 legacy_unpack_fast_fullrows_17_32 93.024% 13.49ms 74.13 fastpforlib_unpack_fullrows_17_32 226.96% 5.53ms 180.86 arrow_unpack_fullrows_17_32 224.22% 5.60ms 178.67 duckdb_unpack_fullrows_17_32 47.088% 26.65ms 37.52 velox_unpack_fullrows_19_32 12.71ms 78.70 legacy_unpack_naive_fullrows_19_32 101.20% 12.56ms 79.65 legacy_unpack_fast_fullrows_19_32 93.251% 13.63ms 73.39 fastpforlib_unpack_fullrows_19_32 216.87% 5.86ms 170.69 arrow_unpack_fullrows_19_32 217.10% 5.85ms 170.87 duckdb_unpack_fullrows_19_32 44.469% 28.57ms 35.00 velox_unpack_fullrows_21_32 12.61ms 79.30 legacy_unpack_naive_fullrows_21_32 100.33% 12.57ms 79.56 legacy_unpack_fast_fullrows_21_32 92.952% 13.57ms 73.71 fastpforlib_unpack_fullrows_21_32 202.41% 6.23ms 160.50 arrow_unpack_fullrows_21_32 194.03% 6.50ms 153.86 duckdb_unpack_fullrows_21_32 41.298% 30.54ms 32.75 velox_unpack_fullrows_24_32 6.80ms 146.99 legacy_unpack_naive_fullrows_24_32 53.407% 12.74ms 78.51 legacy_unpack_fast_fullrows_24_32 59.870% 11.36ms 88.01 fastpforlib_unpack_fullrows_24_32 101.98% 6.67ms 149.90 arrow_unpack_fullrows_24_32 121.40% 5.60ms 178.46 duckdb_unpack_fullrows_24_32 20.336% 33.45ms 29.89 velox_unpack_fullrows_28_32 13.07ms 76.52 legacy_unpack_naive_fullrows_28_32 96.285% 13.57ms 73.68 legacy_unpack_fast_fullrows_28_32 103.80% 12.59ms 79.43 fastpforlib_unpack_fullrows_28_32 174.63% 7.48ms 133.62 arrow_unpack_fullrows_28_32 200.97% 6.50ms 153.78 duckdb_unpack_fullrows_28_32 34.647% 37.72ms 26.51 velox_unpack_fullrows_30_32 13.16ms 75.97 legacy_unpack_naive_fullrows_30_32 101.86% 12.92ms 77.38 legacy_unpack_fast_fullrows_30_32 110.43% 11.92ms 83.89 fastpforlib_unpack_fullrows_30_32 165.66% 7.95ms 125.85 arrow_unpack_fullrows_30_32 167.36% 7.87ms 127.14 duckdb_unpack_fullrows_30_32 33.022% 39.86ms 25.09 velox_unpack_fullrows_32_32 6.42ms 155.65 legacy_unpack_naive_fullrows_32_32 47.841% 13.43ms 74.47 legacy_unpack_fast_fullrows_32_32 51.341% 12.51ms 79.91 fastpforlib_unpack_fullrows_32_32 183.82% 3.49ms 286.13 arrow_unpack_fullrows_32_32 67.343% 9.54ms 104.82 duckdb_unpack_fullrows_32_32 15.218% 42.22ms 23.69