fallintoplace opened a new pull request, #1281:
URL: https://github.com/apache/arrow-go/pull/1281
## What does this PR do?\n\n- Adds ARM64 NEON min/max implementations for ,
, , and .\n- Uses the existing ASIMD dispatch path.\n- Keeps the pure Go
fallback for CPUs without ASIMD and builds.\n- Adds boundary, no-extrema,
differential, and focused benchmark coverage.\n\n## Why?\n\nThe ARM64
implementation already used NEON for 32-bit and 64-bit integers, but the four
narrow integer types still used the scalar implementation. This fills that gap
without changing the public API.\n\n## Benchmark\n\nApple M1 Pro, goos: darwin
goarch: arm64
pkg: github.com/apache/arrow-go/v18/internal/utils
cpu: Apple M1 Pro
BenchmarkAdd/int/8192_+_8192-8 22069305 5.136
ns/op
BenchmarkAdd/int/8192_+_8192-8 24308306 3.883
ns/op
BenchmarkAdd/int/8192_+_8192-8 27812118 6.578
ns/op
BenchmarkAdd/int/MaxInt16_+_1-8 27857312 5.513
ns/op
BenchmarkAdd/int/MaxInt16_+_1-8 19744414 3.116
ns/op
BenchmarkAdd/int/MaxInt16_+_1-8 27898866 4.273
ns/op
BenchmarkAdd/int/MaxInt16_+_5-8 8110848 25.10
ns/op
BenchmarkAdd/int/MaxInt16_+_5-8 26819142 2.409
ns/op
BenchmarkAdd/int/MaxInt16_+_5-8 26668645 3.989
ns/op
BenchmarkAdd/int/MaxInt16_+_MaxInt16-8 13865625 7.942
ns/op
BenchmarkAdd/int/MaxInt16_+_MaxInt16-8 22751908 2.682
ns/op
BenchmarkAdd/int/MaxInt16_+_MaxInt16-8 25696844 3.480
ns/op
BenchmarkAdd/int/MaxInt32_+_1-8 21301779 4.104
ns/op
BenchmarkAdd/int/MaxInt32_+_1-8 27787965 2.281
ns/op
BenchmarkAdd/int/MaxInt32_+_1-8 18550006 5.167
ns/op
BenchmarkAdd/int/MaxInt32_+_5-8 25360639 2.695
ns/op
BenchmarkAdd/int/MaxInt32_+_5-8 22843723 2.289
ns/op
BenchmarkAdd/int/MaxInt32_+_5-8 23199236 7.918
ns/op
BenchmarkAdd/int/MaxInt32_+_MaxInt32-8 19726024 2.827
ns/op
BenchmarkAdd/int/MaxInt32_+_MaxInt32-8 21179268 2.542
ns/op
BenchmarkAdd/int/MaxInt32_+_MaxInt32-8 22878931 8.005
ns/op
BenchmarkAdd/int/MaxInt_+_MaxInt-8 24577243 2.387
ns/op
BenchmarkAdd/int/MaxInt_+_MaxInt-8 25351401 2.415
ns/op
BenchmarkAdd/int/MaxInt_+_MaxInt-8 25140103 2.622
ns/op
BenchmarkMul/int/8192_×_8192-8 28339195 2.149
ns/op
BenchmarkMul/int/8192_×_8192-8 27875107 2.317
ns/op
BenchmarkMul/int/8192_×_8192-8 25173526 2.364
ns/op
BenchmarkMul/int/MaxInt16_×_1-8 22230793 2.256
ns/op
BenchmarkMul/int/MaxInt16_×_1-8 24486048 2.232
ns/op
BenchmarkMul/int/MaxInt16_×_1-8 27840069 2.298
ns/op
BenchmarkMul/int/MaxInt16_×_5-8 27775642 2.232
ns/op
BenchmarkMul/int/MaxInt16_×_5-8 23078031 2.226
ns/op
BenchmarkMul/int/MaxInt16_×_5-8 27509256 2.228
ns/op
BenchmarkMul/int/MaxInt16_×_MaxInt16-8 27127336
2.398 ns/op
BenchmarkMul/int/MaxInt16_×_MaxInt16-8 25684468
2.389 ns/op
BenchmarkMul/int/MaxInt16_×_MaxInt16-8 22766794
2.405 ns/op
BenchmarkMul/int/MaxInt32_×_1-8 22482090
2.385 ns/op
BenchmarkMul/int/MaxInt32_×_1-8 28117860
2.287 ns/op
BenchmarkMul/int/MaxInt32_×_1-8 27881040
2.197 ns/op
BenchmarkMul/int/MaxInt32_×_5-8 23324376
2.431 ns/op
BenchmarkMul/int/MaxInt32_×_5-8 28036294
2.374 ns/op
BenchmarkMul/int/MaxInt32_×_5-8 24701522
2.443 ns/op
BenchmarkMul/int/MaxInt32_×_MaxInt32-8 21462105
2.419 ns/op
BenchmarkMul/int/MaxInt32_×_MaxInt32-8 23548268
2.455 ns/op
BenchmarkMul/int/MaxInt32_×_MaxInt32-8 26557003
2.594 ns/op
BenchmarkMul/int/MaxInt_×_MaxInt-8 23571775
2.462 ns/op
BenchmarkMul/int/MaxInt_×_MaxInt-8 26786706
2.390 ns/op
BenchmarkMul/int/MaxInt_×_MaxInt-8 24587221
2.570 ns/op
BenchmarkMul64/int64/8192_×_8192-8 21628768
2.470 ns/op
BenchmarkMul64/int64/8192_×_8192-8 26523733
2.382 ns/op
BenchmarkMul64/int64/8192_×_8192-8 23318320
2.461 ns/op
BenchmarkMul64/int64/MaxInt16_×_1-8 27424922
2.563 ns/op
BenchmarkMul64/int64/MaxInt16_×_1-8 27733377
2.434 ns/op
BenchmarkMul64/int64/MaxInt16_×_1-8 24568766
2.517 ns/op
BenchmarkMul64/int64/MaxInt16_×_5-8 24156202
2.509 ns/op
BenchmarkMul64/int64/MaxInt16_×_5-8 25406676
2.463 ns/op
BenchmarkMul64/int64/MaxInt16_×_5-8 27847615
2.514 ns/op
BenchmarkMul64/int64/MaxInt16_×_MaxInt16-8 26905322
2.318 ns/op
BenchmarkMul64/int64/MaxInt16_×_MaxInt16-8 21090556
2.403 ns/op
BenchmarkMul64/int64/MaxInt16_×_MaxInt16-8 24456454
2.467 ns/op
BenchmarkMul64/int64/MaxInt32_×_1-8 22148394
2.442 ns/op
BenchmarkMul64/int64/MaxInt32_×_1-8 26501274
2.470 ns/op
BenchmarkMul64/int64/MaxInt32_×_1-8 27979632
2.155 ns/op
BenchmarkMul64/int64/MaxInt32_×_5-8 27270148
2.234 ns/op
BenchmarkMul64/int64/MaxInt32_×_5-8 19127821
2.870 ns/op
BenchmarkMul64/int64/MaxInt32_×_5-8 19920602
2.851 ns/op
BenchmarkMul64/int64/MaxInt32_×_MaxInt32-8 25521054
2.701 ns/op
BenchmarkMul64/int64/MaxInt32_×_MaxInt32-8 19588100
3.277 ns/op
BenchmarkMul64/int64/MaxInt32_×_MaxInt32-8 18224283
3.055 ns/op
BenchmarkMul64/int64/MaxInt_×_MaxInt-8 24463174
2.614 ns/op
BenchmarkMul64/int64/MaxInt_×_MaxInt-8 23083581
3.078 ns/op
BenchmarkMul64/int64/MaxInt_×_MaxInt-8 19999719
11.76 ns/op
BenchmarkMinMaxInt8/n=0-8 11563572
5.072 ns/op
BenchmarkMinMaxInt8/n=0-8 12088041
12.47 ns/op
BenchmarkMinMaxInt8/n=0-8 20145212
6.279 ns/op
BenchmarkMinMaxInt8/n=1-8 13235172
4.174 ns/op 239.59 MB/s
BenchmarkMinMaxInt8/n=1-8 19707403
3.506 ns/op 285.23 MB/s
BenchmarkMinMaxInt8/n=1-8 19539200
3.267 ns/op 306.12 MB/s
BenchmarkMinMaxInt8/n=7-8 9202227
10.87 ns/op 644.15 MB/s
BenchmarkMinMaxInt8/n=7-8 9641560
9.958 ns/op 702.93 MB/s
BenchmarkMinMaxInt8/n=7-8 7365654
9.230 ns/op 758.39 MB/s
BenchmarkMinMaxInt8/n=8-8 8388321
9.757 ns/op 819.91 MB/s
BenchmarkMinMaxInt8/n=8-8 8139685
6.995 ns/op 1143.60 MB/s
BenchmarkMinMaxInt8/n=8-8 8888779
6.984 ns/op 1145.40 MB/s
BenchmarkMinMaxInt8/n=15-8 4852748
12.19 ns/op 1230.15 MB/s
BenchmarkMinMaxInt8/n=15-8 5015568
15.52 ns/op 966.49 MB/s
BenchmarkMinMaxInt8/n=15-8 4660616
12.51 ns/op 1198.86 MB/s
BenchmarkMinMaxInt8/n=16-8 4671956
13.08 ns/op 1223.44 MB/s
BenchmarkMinMaxInt8/n=16-8 4656260
13.00 ns/op 1230.57 MB/s
BenchmarkMinMaxInt8/n=16-8 4601314
13.17 ns/op 1214.74 MB/s
BenchmarkMinMaxInt8/n=31-8 2204290
27.51 ns/op 1126.95 MB/s
BenchmarkMinMaxInt8/n=31-8 2215431
27.26 ns/op 1137.14 MB/s
BenchmarkMinMaxInt8/n=31-8 2187993
27.41 ns/op 1130.99 MB/s
BenchmarkMinMaxInt8/n=32-8 17660911
3.398 ns/op 9415.99 MB/s
BenchmarkMinMaxInt8/n=32-8 17527203
3.975 ns/op 8050.05 MB/s
BenchmarkMinMaxInt8/n=32-8 17250673
3.399 ns/op 9413.17 MB/s
BenchmarkMinMaxInt8/n=64-8 15934489
3.737 ns/op 17125.90 MB/s
BenchmarkMinMaxInt8/n=64-8 16016370
3.711 ns/op 17246.16 MB/s
BenchmarkMinMaxInt8/n=64-8 15833047
3.738 ns/op 17120.64 MB/s
BenchmarkMinMaxInt8/n=256-8 9952311
8.334 ns/op 30716.62 MB/s
BenchmarkMinMaxInt8/n=256-8 10081491
5.990 ns/op 42739.85 MB/s
BenchmarkMinMaxInt8/n=256-8 9535160
6.052 ns/op 42299.85 MB/s
BenchmarkMinMaxInt8/n=1024-8 3689884
16.15 ns/op 63389.35 MB/s
BenchmarkMinMaxInt8/n=1024-8 3310732
18.07 ns/op 56669.94 MB/s
BenchmarkMinMaxInt8/n=1024-8 4065567
24.90 ns/op 41125.14 MB/s
BenchmarkMinMaxInt8/n=8192-8 298723
299.7 ns/op 27333.88 MB/s
BenchmarkMinMaxInt8/n=8192-8 289231
339.0 ns/op 24163.76 MB/s
BenchmarkMinMaxInt8/n=8192-8 361408
833.3 ns/op 9830.32 MB/s
BenchmarkMinMaxInt8/n=65536-8 43167
5012 ns/op 13075.77 MB/s
BenchmarkMinMaxInt8/n=65536-8 40866
10520 ns/op 6229.88 MB/s
BenchmarkMinMaxInt8/n=65536-8 42211
2804 ns/op 23373.24 MB/s
BenchmarkMinMaxUint8/n=0-8 12315164
10.69 ns/op
BenchmarkMinMaxUint8/n=0-8 21709303
3.682 ns/op
BenchmarkMinMaxUint8/n=0-8 17257996
16.89 ns/op
BenchmarkMinMaxUint8/n=1-8 18043755
7.725 ns/op 129.45 MB/s
BenchmarkMinMaxUint8/n=1-8 15845565
5.754 ns/op 173.79 MB/s
BenchmarkMinMaxUint8/n=1-8 17488458
3.241 ns/op 308.52 MB/s
BenchmarkMinMaxUint8/n=7-8 9498618
23.90 ns/op 292.94 MB/s
BenchmarkMinMaxUint8/n=7-8 7340871
7.734 ns/op 905.13 MB/s
BenchmarkMinMaxUint8/n=7-8 9298720
12.24 ns/op 571.68 MB/s
BenchmarkMinMaxUint8/n=8-8 6078648
31.96 ns/op 250.29 MB/s
BenchmarkMinMaxUint8/n=8-8 6505146
48.56 ns/op 164.73 MB/s
BenchmarkMinMaxUint8/n=8-8 8562712
14.25 ns/op 561.25 MB/s
BenchmarkMinMaxUint8/n=15-8 4697024
18.58 ns/op 807.44 MB/s
BenchmarkMinMaxUint8/n=15-8 4646374
17.35 ns/op 864.30 MB/s
BenchmarkMinMaxUint8/n=15-8 3410695
19.36 ns/op 774.85 MB/s
BenchmarkMinMaxUint8/n=16-8 3537405
28.33 ns/op 564.85 MB/s
BenchmarkMinMaxUint8/n=16-8 4301331
13.73 ns/op 1165.42 MB/s
BenchmarkMinMaxUint8/n=16-8 3261384
27.52 ns/op 581.49 MB/s
BenchmarkMinMaxUint8/n=31-8 2035260
27.04 ns/op 1146.33 MB/s
BenchmarkMinMaxUint8/n=31-8 2047352
34.98 ns/op 886.22 MB/s
BenchmarkMinMaxUint8/n=31-8 1935777
48.14 ns/op 643.97 MB/s
BenchmarkMinMaxUint8/n=32-8 16084173
3.848 ns/op 8316.43 MB/s
BenchmarkMinMaxUint8/n=32-8 17682595
4.701 ns/op 6807.00 MB/s
BenchmarkMinMaxUint8/n=32-8 16680228
5.204 ns/op 6149.49 MB/s
BenchmarkMinMaxUint8/n=64-8 15522685
3.839 ns/op 16671.31 MB/s
BenchmarkMinMaxUint8/n=64-8 16228096
3.697 ns/op 17309.03 MB/s
BenchmarkMinMaxUint8/n=64-8 16425044
3.910 ns/op 16367.77 MB/s
BenchmarkMinMaxUint8/n=256-8 10152858
7.056 ns/op 36280.35 MB/s
BenchmarkMinMaxUint8/n=256-8 9582686
6.270 ns/op 40830.16 MB/s
BenchmarkMinMaxUint8/n=256-8 9783273
6.098 ns/op 41978.21 MB/s
BenchmarkMinMaxUint8/n=1024-8 3917642
16.50 ns/op 62050.38 MB/s
BenchmarkMinMaxUint8/n=1024-8 3703170
15.23 ns/op 67235.75 MB/s
BenchmarkMinMaxUint8/n=1024-8 3971109
15.02 ns/op 68170.69 MB/s
BenchmarkMinMaxUint8/n=8192-8 361191
166.1 ns/op 49330.03 MB/s
BenchmarkMinMaxUint8/n=8192-8 357115
214.6 ns/op 38174.41 MB/s
BenchmarkMinMaxUint8/n=8192-8 361653
167.0 ns/op 49053.56 MB/s
BenchmarkMinMaxUint8/n=65536-8 42540
1426 ns/op 45957.86 MB/s
BenchmarkMinMaxUint8/n=65536-8 42306
1428 ns/op 45896.16 MB/s
BenchmarkMinMaxUint8/n=65536-8 42409
1423 ns/op 46051.93 MB/s
BenchmarkMinMaxInt16/n=0-8 20810448
2.841 ns/op
BenchmarkMinMaxInt16/n=0-8 21310284
2.851 ns/op
BenchmarkMinMaxInt16/n=0-8 21692302
3.869 ns/op
BenchmarkMinMaxInt16/n=1-8 19597435
3.060 ns/op 653.68 MB/s
BenchmarkMinMaxInt16/n=1-8 19720080
3.072 ns/op 651.03 MB/s
BenchmarkMinMaxInt16/n=1-8 19454205
3.081 ns/op 649.12 MB/s
BenchmarkMinMaxInt16/n=7-8 9471814
6.331 ns/op 2211.38 MB/s
BenchmarkMinMaxInt16/n=7-8 9391935
6.318 ns/op 2215.92 MB/s
BenchmarkMinMaxInt16/n=7-8 9335978
6.299 ns/op 2222.51 MB/s
BenchmarkMinMaxInt16/n=8-8 8134856
7.011 ns/op 2281.97 MB/s
BenchmarkMinMaxInt16/n=8-8 8649895
7.023 ns/op 2278.17 MB/s
BenchmarkMinMaxInt16/n=8-8 8666868
7.015 ns/op 2280.80 MB/s
BenchmarkMinMaxInt16/n=15-8 4906754
12.33 ns/op 2432.52 MB/s
BenchmarkMinMaxInt16/n=15-8 4957482
12.29 ns/op 2440.47 MB/s
BenchmarkMinMaxInt16/n=15-8 4943102
13.28 ns/op 2259.07 MB/s
BenchmarkMinMaxInt16/n=16-8 16631052
3.464 ns/op 9236.63 MB/s
BenchmarkMinMaxInt16/n=16-8 17794474
3.463 ns/op 9241.72 MB/s
BenchmarkMinMaxInt16/n=16-8 17088538
3.462 ns/op 9243.24 MB/s
BenchmarkMinMaxInt16/n=31-8 4266261
13.87 ns/op 4471.14 MB/s
BenchmarkMinMaxInt16/n=31-8 4348179
14.14 ns/op 4383.42 MB/s
BenchmarkMinMaxInt16/n=31-8 3554659
14.09 ns/op 4400.51 MB/s
BenchmarkMinMaxInt16/n=32-8 13746229
3.732 ns/op 17147.76 MB/s
BenchmarkMinMaxInt16/n=32-8 16101796
4.440 ns/op 14412.86 MB/s
BenchmarkMinMaxInt16/n=32-8 11427742
11.36 ns/op 5635.98 MB/s
BenchmarkMinMaxInt16/n=64-8 10309720
6.267 ns/op 20423.75 MB/s
BenchmarkMinMaxInt16/n=64-8 13858412
4.473 ns/op 28613.70 MB/s
BenchmarkMinMaxInt16/n=64-8 13590417
4.580 ns/op 27949.89 MB/s
BenchmarkMinMaxInt16/n=256-8 6541617
9.332 ns/op 54865.91 MB/s
BenchmarkMinMaxInt16/n=256-8 6352987
8.984 ns/op 56992.56 MB/s
BenchmarkMinMaxInt16/n=256-8 6810152
9.050 ns/op 56576.04 MB/s
BenchmarkMinMaxInt16/n=1024-8 1815474
33.68 ns/op 60809.05 MB/s
BenchmarkMinMaxInt16/n=1024-8 1796523
38.75 ns/op 52847.54 MB/s
BenchmarkMinMaxInt16/n=1024-8 1670575
35.37 ns/op 57900.33 MB/s
BenchmarkMinMaxInt16/n=8192-8 169424
341.6 ns/op 47962.24 MB/s
BenchmarkMinMaxInt16/n=8192-8 174860
346.6 ns/op 47264.27 MB/s
BenchmarkMinMaxInt16/n=8192-8 175242
348.1 ns/op 47060.63 MB/s
BenchmarkMinMaxInt16/n=65536-8 20626
2934 ns/op 44680.39 MB/s
BenchmarkMinMaxInt16/n=65536-8 20202
3046 ns/op 43034.77 MB/s
BenchmarkMinMaxInt16/n=65536-8 20972
2805 ns/op 46719.88 MB/s
BenchmarkMinMaxUint16/n=0-8 20740905
2.707 ns/op
BenchmarkMinMaxUint16/n=0-8 22123550
2.685 ns/op
BenchmarkMinMaxUint16/n=0-8 22131033
2.742 ns/op
BenchmarkMinMaxUint16/n=1-8 19756884
3.099 ns/op 645.27 MB/s
BenchmarkMinMaxUint16/n=1-8 18585756
3.123 ns/op 640.45 MB/s
BenchmarkMinMaxUint16/n=1-8 19924734
3.288 ns/op 608.36 MB/s
BenchmarkMinMaxUint16/n=7-8 9542048
6.306 ns/op 2220.22 MB/s
BenchmarkMinMaxUint16/n=7-8 9720140
6.273 ns/op 2231.71 MB/s
BenchmarkMinMaxUint16/n=7-8 9501625
6.257 ns/op 2237.42 MB/s
BenchmarkMinMaxUint16/n=8-8 7703829
6.864 ns/op 2330.96 MB/s
BenchmarkMinMaxUint16/n=8-8 8410478
6.865 ns/op 2330.82 MB/s
BenchmarkMinMaxUint16/n=8-8 8736061
6.879 ns/op 2325.77 MB/s
BenchmarkMinMaxUint16/n=15-8 4874811
12.69 ns/op 2364.07 MB/s
BenchmarkMinMaxUint16/n=15-8 4941355
12.07 ns/op 2486.43 MB/s
BenchmarkMinMaxUint16/n=15-8 4139619
13.05 ns/op 2299.50 MB/s
BenchmarkMinMaxUint16/n=16-8 17129192
3.479 ns/op 9199.29 MB/s
BenchmarkMinMaxUint16/n=16-8 17404965
3.590 ns/op 8913.04 MB/s
BenchmarkMinMaxUint16/n=16-8 16019222
4.536 ns/op 7054.26 MB/s
BenchmarkMinMaxUint16/n=31-8 4304133
15.04 ns/op 4122.85 MB/s
BenchmarkMinMaxUint16/n=31-8 4306348
13.90 ns/op 4460.36 MB/s
BenchmarkMinMaxUint16/n=31-8 3771746
14.39 ns/op 4309.01 MB/s
BenchmarkMinMaxUint16/n=32-8 16446871
3.747 ns/op 17081.96 MB/s
BenchmarkMinMaxUint16/n=32-8 16486723
3.811 ns/op 16792.56 MB/s
BenchmarkMinMaxUint16/n=32-8 16161205
3.755 ns/op 17044.11 MB/s
BenchmarkMinMaxUint16/n=64-8 13501602
4.524 ns/op 28291.56 MB/s
BenchmarkMinMaxUint16/n=64-8 12137865
4.464 ns/op 28673.22 MB/s
BenchmarkMinMaxUint16/n=64-8 11967586
4.461 ns/op 28694.50 MB/s
BenchmarkMinMaxUint16/n=256-8 6676093
9.182 ns/op 55762.27 MB/s
BenchmarkMinMaxUint16/n=256-8 6367370
9.012 ns/op 56810.69 MB/s
BenchmarkMinMaxUint16/n=256-8 6762086
10.00 ns/op 51199.17 MB/s
BenchmarkMinMaxUint16/n=1024-8 1845892
32.21 ns/op 63573.80 MB/s
BenchmarkMinMaxUint16/n=1024-8 1824643
31.92 ns/op 64163.82 MB/s
BenchmarkMinMaxUint16/n=1024-8 1704147
41.51 ns/op 49340.66 MB/s
BenchmarkMinMaxUint16/n=8192-8 147284
350.2 ns/op 46791.33 MB/s
BenchmarkMinMaxUint16/n=8192-8 163435
394.4 ns/op 41538.02 MB/s
BenchmarkMinMaxUint16/n=8192-8 168367
416.6 ns/op 39327.63 MB/s
BenchmarkMinMaxUint16/n=65536-8 19074
2906 ns/op 45100.26 MB/s
BenchmarkMinMaxUint16/n=65536-8 19357
3318 ns/op 39498.54 MB/s
BenchmarkMinMaxUint16/n=65536-8 21181
2963 ns/op 44234.82 MB/s
BenchmarkMinMaxInt32/n=64-8 10201478
5.893 ns/op 43443.73 MB/s
BenchmarkMinMaxInt32/n=64-8 10181354
6.005 ns/op 42632.09 MB/s
BenchmarkMinMaxInt32/n=64-8 9890449
5.975 ns/op 42843.66 MB/s
BenchmarkMinMaxInt32/n=256-8 4094036
14.83 ns/op 69066.44 MB/s
BenchmarkMinMaxInt32/n=256-8 3972786
15.03 ns/op 68150.35 MB/s
BenchmarkMinMaxInt32/n=256-8 3883724
14.79 ns/op 69217.23 MB/s
BenchmarkMinMaxInt32/n=1024-8 691874
77.24 ns/op 53029.78 MB/s
BenchmarkMinMaxInt32/n=1024-8 780148
78.07 ns/op 52468.35 MB/s
BenchmarkMinMaxInt32/n=1024-8 766894
81.92 ns/op 49999.87 MB/s
BenchmarkMinMaxInt32/n=8192-8 83611
689.8 ns/op 47504.58 MB/s
BenchmarkMinMaxInt32/n=8192-8 79612
694.1 ns/op 47206.29 MB/s
BenchmarkMinMaxInt32/n=8192-8 87092
705.2 ns/op 46464.66 MB/s
BenchmarkMinMaxInt32/n=65536-8 10370
5821 ns/op 45034.20 MB/s
BenchmarkMinMaxInt32/n=65536-8 10000
9768 ns/op 26837.00 MB/s
BenchmarkMinMaxInt32/n=65536-8 10000
6049 ns/op 43337.32 MB/s
BenchmarkMinMaxUint32/n=64-8 10145559
5.999 ns/op 42670.39 MB/s
BenchmarkMinMaxUint32/n=64-8 10347874
5.991 ns/op 42732.51 MB/s
BenchmarkMinMaxUint32/n=64-8 10132780
6.110 ns/op 41896.89 MB/s
BenchmarkMinMaxUint32/n=256-8 3948266
14.85 ns/op 68943.83 MB/s
BenchmarkMinMaxUint32/n=256-8 3985375
14.96 ns/op 68465.56 MB/s
BenchmarkMinMaxUint32/n=256-8 3962586
15.07 ns/op 67942.70 MB/s
BenchmarkMinMaxUint32/n=1024-8 763520
78.67 ns/op 52064.65 MB/s
BenchmarkMinMaxUint32/n=1024-8 747043
78.12 ns/op 52428.86 MB/s
BenchmarkMinMaxUint32/n=1024-8 760014
77.73 ns/op 52693.53 MB/s
BenchmarkMinMaxUint32/n=8192-8 83266
713.2 ns/op 45944.47 MB/s
BenchmarkMinMaxUint32/n=8192-8 87817
708.3 ns/op 46262.16 MB/s
BenchmarkMinMaxUint32/n=8192-8 84286
702.9 ns/op 46621.05 MB/s
BenchmarkMinMaxUint32/n=65536-8 10000
5775 ns/op 45391.30 MB/s
BenchmarkMinMaxUint32/n=65536-8 10000
5746 ns/op 45620.01 MB/s
BenchmarkMinMaxUint32/n=65536-8 10000
5778 ns/op 45372.18 MB/s
BenchmarkMinMaxInt64/n=64-8 4188675
14.54 ns/op 35202.87 MB/s
BenchmarkMinMaxInt64/n=64-8 4169755
14.63 ns/op 34986.41 MB/s
BenchmarkMinMaxInt64/n=64-8 4064145
14.64 ns/op 34965.72 MB/s
BenchmarkMinMaxInt64/n=256-8 741579
77.33 ns/op 26484.71 MB/s
BenchmarkMinMaxInt64/n=256-8 746113
77.36 ns/op 26474.46 MB/s
BenchmarkMinMaxInt64/n=256-8 766365
77.20 ns/op 26527.96 MB/s
BenchmarkMinMaxInt64/n=1024-8 173620
348.6 ns/op 23497.99 MB/s
BenchmarkMinMaxInt64/n=1024-8 170079
349.9 ns/op 23411.54 MB/s
BenchmarkMinMaxInt64/n=1024-8 169849
344.2 ns/op 23799.72 MB/s
BenchmarkMinMaxInt64/n=8192-8 20943
2812 ns/op 23308.84 MB/s
BenchmarkMinMaxInt64/n=8192-8 20738
2851 ns/op 22988.64 MB/s
BenchmarkMinMaxInt64/n=8192-8 21012
2816 ns/op 23274.83 MB/s
BenchmarkMinMaxInt64/n=65536-8 2695
22461 ns/op 23342.20 MB/s
BenchmarkMinMaxInt64/n=65536-8 2632
22619 ns/op 23179.45 MB/s
BenchmarkMinMaxInt64/n=65536-8 2631
22459 ns/op 23344.28 MB/s
BenchmarkMinMaxUint64/n=64-8 4185680
14.43 ns/op 35481.55 MB/s
BenchmarkMinMaxUint64/n=64-8 4166557
14.55 ns/op 35195.70 MB/s
BenchmarkMinMaxUint64/n=64-8 4091059
14.66 ns/op 34927.96 MB/s
BenchmarkMinMaxUint64/n=256-8 784698
78.34 ns/op 26142.26 MB/s
BenchmarkMinMaxUint64/n=256-8 786111
77.95 ns/op 26274.21 MB/s
BenchmarkMinMaxUint64/n=256-8 788608
77.29 ns/op 26498.06 MB/s
BenchmarkMinMaxUint64/n=1024-8 174849
348.8 ns/op 23483.09 MB/s
BenchmarkMinMaxUint64/n=1024-8 172340
351.9 ns/op 23277.32 MB/s
BenchmarkMinMaxUint64/n=1024-8 173004
349.2 ns/op 23458.85 MB/s
BenchmarkMinMaxUint64/n=8192-8 20894
2851 ns/op 22986.38 MB/s
BenchmarkMinMaxUint64/n=8192-8 21198
2830 ns/op 23153.71 MB/s
BenchmarkMinMaxUint64/n=8192-8 21061
2821 ns/op 23228.30 MB/s
BenchmarkMinMaxUint64/n=65536-8 2654
22599 ns/op 23199.80 MB/s
BenchmarkMinMaxUint64/n=65536-8 2706
22285 ns/op 23526.92 MB/s
BenchmarkMinMaxUint64/n=65536-8 2631
22485 ns/op 23317.10 MB/s
BenchmarkTransposeASM-8 119439
501.2 ns/op
BenchmarkTransposeASM-8 119874
512.2 ns/op
BenchmarkTransposeASM-8 117806
516.2 ns/op
PASS
ok github.com/apache/arrow-go/v18/internal/utils 27.141s.\n\nFor , the
SIMD implementations run at about 45-46 GB/s. The scalar path is about 0.8-1.9
GB/s depending on element width.\n\n## Tests\n\n- ok
github.com/apache/arrow-go/v18/internal/utils 3.219s\n- ok
github.com/apache/arrow-go/v18/internal/utils 2.601s\n- ok
github.com/apache/arrow-go/v18/arrow/array 3.067s
ok github.com/apache/arrow-go/v18/parquet/metadata 3.026s
ok github.com/apache/arrow-go/v18/parquet/internal/encoding 5.536s
--- FAIL: TestArrowReaderAdHocReadDecimals (0.00s)
panic: please point PARQUET_TEST_DATA env var to the test data directory
[recovered, repanicked]
goroutine 1213 [running]:
testing.tRunner.func1.2({0x103fd0f80, 0x104258760})
/opt/homebrew/Cellar/go/1.26.3/libexec/src/testing/testing.go:1974
+0x1a0
testing.tRunner.func1()
/opt/homebrew/Cellar/go/1.26.3/libexec/src/testing/testing.go:1977
+0x318
panic({0x103fd0f80?, 0x104258760?})
/opt/homebrew/Cellar/go/1.26.3/libexec/src/runtime/panic.go:860 +0x12c
github.com/apache/arrow-go/v18/parquet/pqarrow_test.getDataDir(...)
/Users/hoangvu/Code/OSS/arrow-go-neon-minmax/parquet/pqarrow/file_reader_test.go:46
github.com/apache/arrow-go/v18/parquet/pqarrow_test.TestArrowReaderAdHocReadDecimals(0x2e3d5b59c908)
/Users/hoangvu/Code/OSS/arrow-go-neon-minmax/parquet/pqarrow/file_reader_test.go:63
+0x220
testing.tRunner(0x2e3d5b59c908, 0x104253a88)
/opt/homebrew/Cellar/go/1.26.3/libexec/src/testing/testing.go:2036 +0xc4
created by testing.(*T).Run in goroutine 1
/opt/homebrew/Cellar/go/1.26.3/libexec/src/testing/testing.go:2101
+0x3a8
FAIL github.com/apache/arrow-go/v18/parquet/pqarrow 4.467s
FAIL\n- Linux amd64 and arm64 compile checks
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]