Benchmark:

cd /home/o/orion/projects/aoprod/aocode-public
java -Xmx4096m -server -classpath /opt/netbeans-6.9.1/java/modules/ext/junit-3.8.2.jar:build/classes:build/test/classes junit.textui.TestRunner com.aoindustries.util.sort.IntegerRadixSortTest


Experimental: 8-bit:

256: Speedup (Old/Experimental): 0.208 / 1.036
512: Speedup (Old/Experimental): 0.388 / 1.972
1024: Speedup (Old/Experimental): 0.747 / 2.946
2048: Speedup (Old/Experimental): 1.168 / 3.034
4096: Speedup (Old/Experimental): 1.586 / 2.799
8192: Speedup (Old/Experimental): 1.795 / 2.321
16384: Speedup (Old/Experimental): 1.976 / 1.898
32768: Speedup (Old/Experimental): 2.132 / 2.575
65536: Speedup (Old/Experimental): 2.237 / 3.258
131072: Speedup (Old/Experimental): 2.342 / 3.296
262144: Speedup (Old/Experimental): 2.409 / 3.524
524288: Speedup (Old/Experimental): 1.228 / 6.632
1048576: Speedup (Old/Experimental): 1.537 / 4.798
2097152: Speedup (Old/Experimental): 1.618 / 5.637
4194304: Speedup (Old/Experimental): 1.663 / 4.689
8388608: Speedup (Old/Experimental): 1.703 / 4.724
16777216: Speedup (Old/Experimental): 1.383 / 5.276
33554432: Speedup (Old/Experimental): 1.561 / 5.025
67108864: Speedup (Old/Experimental): 1.332 / 4.800
Total Speedup (Old/Experimental): 1.412 / 4.734
Average Speedup (Old/Experimental): 1.527 / 3.696


Experimental: 6-bit:

256: Speedup (Old/Experimental): 0.216 / 0.698
512: Speedup (Old/Experimental): 0.419 / 1.413
1024: Speedup (Old/Experimental): 0.834 / 2.035
2048: Speedup (Old/Experimental): 1.178 / 2.007
4096: Speedup (Old/Experimental): 1.461 / 1.325
8192: Speedup (Old/Experimental): 1.622 / 1.413
16384: Speedup (Old/Experimental): 1.849 / 1.617
32768: Speedup (Old/Experimental): 2.040 / 2.232
65536: Speedup (Old/Experimental): 2.081 / 2.450
131072: Speedup (Old/Experimental): 2.098 / 2.623
262144: Speedup (Old/Experimental): 1.661 / 4.476
524288: Speedup (Old/Experimental): 1.433 / 4.255
1048576: Speedup (Old/Experimental): 1.501 / 5.701
2097152: Speedup (Old/Experimental): 1.607 / 5.941
4194304: Speedup (Old/Experimental): 1.667 / 6.326
8388608: Speedup (Old/Experimental): 1.595 / 6.283
16777216: Speedup (Old/Experimental): 1.636 / 6.342
33554432: Speedup (Old/Experimental): 1.573 / 6.263
67108864: Speedup (Old/Experimental): 1.230 / 6.130
Total Speedup (Old/Experimental): 1.374 / 5.620
Average Speedup (Old/Experimental): 1.457 / 3.659


Experimental: 4-bit:

256: Speedup (Old/Experimental): 0.211 / 1.019
512: Speedup (Old/Experimental): 0.420 / 1.691
1024: Speedup (Old/Experimental): 0.856 / 1.804
2048: Speedup (Old/Experimental): 1.168 / 2.116
4096: Speedup (Old/Experimental): 1.345 / 2.021
8192: Speedup (Old/Experimental): 1.912 / 2.190
16384: Speedup (Old/Experimental): 1.903 / 1.325
32768: Speedup (Old/Experimental): 2.020 / 4.730
65536: Speedup (Old/Experimental): 2.123 / 5.336
131072: Speedup (Old/Experimental): 1.444 / 5.193
262144: Speedup (Old/Experimental): 1.963 / 4.843
524288: Speedup (Old/Experimental): 1.525 / 4.732
1048576: Speedup (Old/Experimental): 1.464 / 5.416
2097152: Speedup (Old/Experimental): 1.603 / 5.406
4194304: Speedup (Old/Experimental): 1.568 / 6.048
8388608: Speedup (Old/Experimental): 1.636 / 7.185
16777216: Speedup (Old/Experimental): 1.665 / 6.532
33554432: Speedup (Old/Experimental): 1.583 / 7.442
67108864: Speedup (Old/Experimental): 1.369 / 7.148
Total Speedup (Old/Experimental): 1.460 / 6.490
Average Speedup (Old/Experimental): 1.462 / 4.325


Experimental: 3-bit:

256: Speedup (Old/Experimental): 0.234 / 0.846
512: Speedup (Old/Experimental): 0.378 / 1.214
1024: Speedup (Old/Experimental): 0.829 / 1.368
2048: Speedup (Old/Experimental): 1.225 / 1.446
4096: Speedup (Old/Experimental): 1.559 / 1.175
8192: Speedup (Old/Experimental): 1.816 / 1.805
16384: Speedup (Old/Experimental): 2.004 / 2.259
32768: Speedup (Old/Experimental): 2.052 / 2.864
65536: Speedup (Old/Experimental): 2.120 / 3.516
131072: Speedup (Old/Experimental): 2.305 / 3.675
262144: Speedup (Old/Experimental): 1.867 / 3.934
524288: Speedup (Old/Experimental): 1.397 / 4.927
1048576: Speedup (Old/Experimental): 1.416 / 4.989
2097152: Speedup (Old/Experimental): 1.669 / 5.380
4194304: Speedup (Old/Experimental): 1.682 / 5.581
8388608: Speedup (Old/Experimental): 1.713 / 5.644
16777216: Speedup (Old/Experimental): 1.508 / 5.833
33554432: Speedup (Old/Experimental): 1.559 / 5.940
67108864: Speedup (Old/Experimental): 1.371 / 5.796
Total Speedup (Old/Experimental): 1.447 / 5.342
Average Speedup (Old/Experimental): 1.510 / 3.589


Experimental: 2-bit:

256: Speedup (Old/Experimental): 0.201 / 0.838
512: Speedup (Old/Experimental): 0.485 / 1.326
1024: Speedup (Old/Experimental): 0.794 / 1.288
2048: Speedup (Old/Experimental): 1.150 / 1.268
4096: Speedup (Old/Experimental): 1.516 / 1.016
8192: Speedup (Old/Experimental): 1.658 / 1.143
16384: Speedup (Old/Experimental): 1.933 / 2.236
32768: Speedup (Old/Experimental): 2.013 / 3.448
65536: Speedup (Old/Experimental): 1.762 / 3.484
131072: Speedup (Old/Experimental): 1.247 / 3.423
262144: Speedup (Old/Experimental): 1.706 / 3.381
524288: Speedup (Old/Experimental): 1.417 / 3.971
1048576: Speedup (Old/Experimental): 1.452 / 4.126
2097152: Speedup (Old/Experimental): 1.366 / 3.600
4194304: Speedup (Old/Experimental): 1.593 / 4.228
8388608: Speedup (Old/Experimental): 1.640 / 4.410
16777216: Speedup (Old/Experimental): 1.632 / 4.373
33554432: Speedup (Old/Experimental): 1.431 / 4.286
67108864: Speedup (Old/Experimental): 1.183 / 4.400
Total Speedup (Old/Experimental): 1.313 / 4.064
Average Speedup (Old/Experimental): 1.377 / 2.960


Experimental: 2-bit, 8-bit:

256: Speedup (Old/Experimental): 0.201 / 0.653
512: Speedup (Old/Experimental): 0.373 / 0.799
1024: Speedup (Old/Experimental): 0.820 / 0.968
2048: Speedup (Old/Experimental): 1.073 / 1.260
4096: Speedup (Old/Experimental): 1.364 / 0.874
8192: Speedup (Old/Experimental): 1.544 / 1.334
16384: Speedup (Old/Experimental): 1.840 / 2.213
32768: Speedup (Old/Experimental): 1.809 / 3.507
65536: Speedup (Old/Experimental): 1.739 / 3.796
131072: Speedup (Old/Experimental): 1.340 / 4.338
262144: Speedup (Old/Experimental): 1.471 / 4.271
524288: Speedup (Old/Experimental): 1.533 / 3.870
1048576: Speedup (Old/Experimental): 1.526 / 4.924
2097152: Speedup (Old/Experimental): 1.535 / 6.055
4194304: Speedup (Old/Experimental): 1.565 / 5.085
8388608: Speedup (Old/Experimental): 1.709 / 5.942
16777216: Speedup (Old/Experimental): 1.693 / 5.893
33554432: Speedup (Old/Experimental): 1.412 / 5.916
67108864: Speedup (Old/Experimental): 1.276 / 5.415
Total Speedup (Old/Experimental): 1.369 / 5.005
Average Speedup (Old/Experimental): 1.359 / 3.532


Experimental: 2-bit, 2-bit, 2-bit, 2-bit, 8-bit...:

256: Speedup (Old/Experimental): 0.229 / 0.574
512: Speedup (Old/Experimental): 0.340 / 0.845
1024: Speedup (Old/Experimental): 0.758 / 1.664
2048: Speedup (Old/Experimental): 1.036 / 1.984
4096: Speedup (Old/Experimental): 1.331 / 1.140
8192: Speedup (Old/Experimental): 1.559 / 1.609
16384: Speedup (Old/Experimental): 1.699 / 1.880
32768: Speedup (Old/Experimental): 1.805 / 1.916
65536: Speedup (Old/Experimental): 1.837 / 2.020
131072: Speedup (Old/Experimental): 1.867 / 2.391
262144: Speedup (Old/Experimental): 2.104 / 3.364
524288: Speedup (Old/Experimental): 1.467 / 3.257
1048576: Speedup (Old/Experimental): 1.401 / 5.965
2097152: Speedup (Old/Experimental): 1.418 / 5.974
4194304: Speedup (Old/Experimental): 1.262 / 6.172
8388608: Speedup (Old/Experimental): 1.625 / 6.031
16777216: Speedup (Old/Experimental): 1.548 / 5.328
33554432: Speedup (Old/Experimental): 1.466 / 4.576
67108864: Speedup (Old/Experimental): 1.293 / 6.539
Total Speedup (Old/Experimental): 1.367 / 5.136
Average Speedup (Old/Experimental): 1.370 / 3.327


Experimental: 4-bit, 4-bit, 8-bit..., 2^10 min:

256: Speedup (Old/Experimental): 0.185 / 0.621
512: Speedup (Old/Experimental): 0.429 / 1.393
1024: Speedup (Old/Experimental): 0.692 / 1.303
2048: Speedup (Old/Experimental): 0.999 / 1.856
4096: Speedup (Old/Experimental): 1.348 / 2.464
8192: Speedup (Old/Experimental): 1.627 / 2.648
16384: Speedup (Old/Experimental): 1.768 / 2.031
32768: Speedup (Old/Experimental): 1.832 / 3.703
65536: Speedup (Old/Experimental): 1.545 / 4.495
131072: Speedup (Old/Experimental): 1.317 / 5.696
262144: Speedup (Old/Experimental): 1.989 / 4.207
524288: Speedup (Old/Experimental): 1.290 / 5.557
1048576: Speedup (Old/Experimental): 1.508 / 6.679
2097152: Speedup (Old/Experimental): 1.499 / 6.083
4194304: Speedup (Old/Experimental): 1.594 / 6.445
8388608: Speedup (Old/Experimental): 1.605 / 7.008
16777216: Speedup (Old/Experimental): 1.657 / 7.437
33554432: Speedup (Old/Experimental): 1.591 / 7.661
67108864: Speedup (Old/Experimental): 1.392 / 6.985
Total Speedup (Old/Experimental): 1.460 / 6.578
Average Speedup (Old/Experimental): 1.361 / 4.435


Experimental: 4-bit, 4-bit, 8-bit..., 2^9 min:

256: Speedup (Old/Experimental): 0.202 / 0.742
512: Speedup (Old/Experimental): 0.405 / 1.300
1024: Speedup (Old/Experimental): 0.811 / 1.363
2048: Speedup (Old/Experimental): 1.144 / 1.910
4096: Speedup (Old/Experimental): 1.549 / 2.452
8192: Speedup (Old/Experimental): 1.716 / 1.309
16384: Speedup (Old/Experimental): 1.859 / 2.385
32768: Speedup (Old/Experimental): 1.714 / 4.453
65536: Speedup (Old/Experimental): 1.699 / 5.537
131072: Speedup (Old/Experimental): 1.231 / 5.493
262144: Speedup (Old/Experimental): 1.704 / 3.561
524288: Speedup (Old/Experimental): 1.285 / 6.571
1048576: Speedup (Old/Experimental): 1.561 / 7.122
2097152: Speedup (Old/Experimental): 1.586 / 5.603
4194304: Speedup (Old/Experimental): 1.667 / 7.430
8388608: Speedup (Old/Experimental): 1.683 / 8.363
16777216: Speedup (Old/Experimental): 1.461 / 7.842
33554432: Speedup (Old/Experimental): 1.437 / 7.383
67108864: Speedup (Old/Experimental): 1.309 / 7.220
Total Speedup (Old/Experimental): 1.374 / 6.690
Average Speedup (Old/Experimental): 1.369 / 4.633


Experimental: 4-bit, 4-bit, 8-bit..., 2^8 min:

256: Speedup (Old/Experimental): 0.196 / 0.818
512: Speedup (Old/Experimental): 0.328 / 1.212
1024: Speedup (Old/Experimental): 0.776 / 1.296
2048: Speedup (Old/Experimental): 1.048 / 1.789
4096: Speedup (Old/Experimental): 1.378 / 0.979
8192: Speedup (Old/Experimental): 1.593 / 2.000
16384: Speedup (Old/Experimental): 1.752 / 3.097
32768: Speedup (Old/Experimental): 1.856 / 4.533
65536: Speedup (Old/Experimental): 1.731 / 4.712
131072: Speedup (Old/Experimental): 1.282 / 5.022
262144: Speedup (Old/Experimental): 1.611 / 4.702
524288: Speedup (Old/Experimental): 1.351 / 5.683
1048576: Speedup (Old/Experimental): 1.303 / 4.087
2097152: Speedup (Old/Experimental): 1.593 / 6.776
4194304: Speedup (Old/Experimental): 1.620 / 7.253
8388608: Speedup (Old/Experimental): 1.541 / 7.158
16777216: Speedup (Old/Experimental): 1.695 / 7.992
33554432: Speedup (Old/Experimental): 1.408 / 7.917
67108864: Speedup (Old/Experimental): 1.262 / 7.240
Total Speedup (Old/Experimental): 1.351 / 6.701
Average Speedup (Old/Experimental): 1.332 / 4.435


Experimental: 4-bit, 4-bit, 8-bit..., 2^7 min:

256: Speedup (Old/Experimental): 0.193 / 0.704
512: Speedup (Old/Experimental): 0.338 / 1.066
1024: Speedup (Old/Experimental): 0.817 / 1.183
2048: Speedup (Old/Experimental): 1.058 / 0.595
4096: Speedup (Old/Experimental): 1.491 / 1.568
8192: Speedup (Old/Experimental): 1.717 / 2.401
16384: Speedup (Old/Experimental): 1.929 / 4.351
32768: Speedup (Old/Experimental): 2.081 / 5.165
65536: Speedup (Old/Experimental): 1.911 / 6.264
131072: Speedup (Old/Experimental): 1.463 / 5.803
262144: Speedup (Old/Experimental): 1.749 / 5.478
524288: Speedup (Old/Experimental): 1.319 / 5.240
1048576: Speedup (Old/Experimental): 1.503 / 4.255
2097152: Speedup (Old/Experimental): 1.577 / 7.007
4194304: Speedup (Old/Experimental): 1.675 / 7.475
8388608: Speedup (Old/Experimental): 1.437 / 7.041
16777216: Speedup (Old/Experimental): 1.666 / 7.649
33554432: Speedup (Old/Experimental): 1.702 / 7.343
67108864: Speedup (Old/Experimental): 1.345 / 6.889
Total Speedup (Old/Experimental): 1.458 / 6.296
Average Speedup (Old/Experimental): 1.419 / 4.604


Trying to parallelize my algorithm:

USE_SORTED; false
RANDOM_FULL: true
MIN_CONCURRENCY_SIZE: 1 << 16
16-bit threshold: 0x80000


Concurrent import step:

256: Speedup (Old/New/Experimental): 0.232 / 0.212 / 0.676
512: Speedup (Old/New/Experimental): 0.388 / 0.378 / 1.086
1024: Speedup (Old/New/Experimental): 0.749 / 0.743 / 1.178
2048: Speedup (Old/New/Experimental): 0.987 / 0.998 / 1.699
4096: Speedup (Old/New/Experimental): 1.194 / 1.161 / 2.069
8192: Speedup (Old/New/Experimental): 1.348 / 1.330 / 1.304
16384: Speedup (Old/New/Experimental): 1.591 / 1.608 / 2.879
32768: Speedup (Old/New/Experimental): 1.646 / 1.568 / 3.849
65536: Speedup (Old/New/Experimental): 1.754 / 1.390 / 6.224
131072: Speedup (Old/New/Experimental): 1.651 / 1.409 / 5.194
262144: Speedup (Old/New/Experimental): 2.032 / 1.617 / 4.387
524288: Speedup (Old/New/Experimental): 1.383 / 1.992 / 6.606
1048576: Speedup (Old/New/Experimental): 1.495 / 2.466 / 4.522
2097152: Speedup (Old/New/Experimental): 1.727 / 2.720 / 4.944
4194304: Speedup (Old/New/Experimental): 1.631 / 2.267 / 6.228
8388608: Speedup (Old/New/Experimental): 1.664 / 2.327 / 7.494
16777216: Speedup (Old/New/Experimental): 1.662 / 1.990 / 8.077
33554432: Speedup (Old/New/Experimental): 1.464 / 1.512 / 7.708
67108864: Speedup (Old/New/Experimental): 1.169 / 1.318 / 6.406
Total Speedup (Old/New/Experimental): 1.314 / 1.470 / 6.250
Average Speedup (Old/New/Experimental): 1.356 / 1.526 / 4.343


Current export step:

256: Speedup (Old/New/Experimental): 0.234 / 0.228 / 0.754
512: Speedup (Old/New/Experimental): 0.428 / 0.424 / 1.294
1024: Speedup (Old/New/Experimental): 0.755 / 0.748 / 1.323
2048: Speedup (Old/New/Experimental): 1.049 / 1.035 / 1.907
4096: Speedup (Old/New/Experimental): 1.298 / 1.233 / 2.374
8192: Speedup (Old/New/Experimental): 1.542 / 1.449 / 1.335
16384: Speedup (Old/New/Experimental): 1.715 / 1.690 / 2.272
32768: Speedup (Old/New/Experimental): 1.745 / 1.771 / 4.002
65536: Speedup (Old/New/Experimental): 1.554 / 1.140 / 5.324
131072: Speedup (Old/New/Experimental): 1.784 / 1.436 / 5.155
262144: Speedup (Old/New/Experimental): 2.181 / 1.743 / 3.745
524288: Speedup (Old/New/Experimental): 1.528 / 2.234 / 6.519
1048576: Speedup (Old/New/Experimental): 1.573 / 1.835 / 4.579
2097152: Speedup (Old/New/Experimental): 1.525 / 2.503 / 4.734
4194304: Speedup (Old/New/Experimental): 1.650 / 2.333 / 4.690
8388608: Speedup (Old/New/Experimental): 1.646 / 2.373 / 8.264
16777216: Speedup (Old/New/Experimental): 1.699 / 1.827 / 7.951
33554432: Speedup (Old/New/Experimental): 1.507 / 1.674 / 7.839
67108864: Speedup (Old/New/Experimental): 1.262 / 1.389 / 6.505
Total Speedup (Old/New/Experimental): 1.383 / 1.537 / 6.318
Average Speedup (Old/New/Experimental): 1.403 / 1.529 / 4.240


Switched back to dynamic 8-bit/16-bit mode based on size (kicks-in at 524288):

256: Speedup (Old/New/Experimental): 0.237 / 0.246 / 0.783
512: Speedup (Old/New/Experimental): 0.426 / 0.421 / 1.245
1024: Speedup (Old/New/Experimental): 0.851 / 0.843 / 1.296
2048: Speedup (Old/New/Experimental): 1.189 / 1.195 / 1.937
4096: Speedup (Old/New/Experimental): 1.491 / 1.437 / 2.390
8192: Speedup (Old/New/Experimental): 1.655 / 1.647 / 1.419
16384: Speedup (Old/New/Experimental): 1.799 / 1.738 / 2.722
32768: Speedup (Old/New/Experimental): 1.838 / 1.766 / 4.338
65536: Speedup (Old/New/Experimental): 1.640 / 1.088 / 5.568
131072: Speedup (Old/New/Experimental): 1.697 / 1.588 / 4.741
262144: Speedup (Old/New/Experimental): 2.174 / 1.856 / 4.720
524288: Speedup (Old/New/Experimental): 1.460 / 0.458 / 5.764
1048576: Speedup (Old/New/Experimental): 1.461 / 0.466 / 6.739
2097152: Speedup (Old/New/Experimental): 1.551 / 0.804 / 5.277
4194304: Speedup (Old/New/Experimental): 1.658 / 1.111 / 7.280
8388608: Speedup (Old/New/Experimental): 1.712 / 1.450 / 7.182
16777216: Speedup (Old/New/Experimental): 1.697 / 1.735 / 5.972
33554432: Speedup (Old/New/Experimental): 1.495 / 1.566 / 8.359
67108864: Speedup (Old/New/Experimental): 1.489 / 1.707 / 6.088
Total Speedup (Old/New/Experimental): 1.511 / 1.533 / 6.109
Average Speedup (Old/New/Experimental): 1.448 / 1.216 / 4.411


Dynamic 8-bit/16-bit mode now based on sizePerTask (kicks-in at 8388608):

256: Speedup (Old/New/Experimental): 0.292 / 0.276 / 0.803
512: Speedup (Old/New/Experimental): 0.439 / 0.444 / 1.228
1024: Speedup (Old/New/Experimental): 0.846 / 0.842 / 1.197
2048: Speedup (Old/New/Experimental): 1.217 / 1.208 / 1.784
4096: Speedup (Old/New/Experimental): 1.387 / 1.379 / 2.104
8192: Speedup (Old/New/Experimental): 1.608 / 1.529 / 1.454
16384: Speedup (Old/New/Experimental): 1.787 / 1.741 / 2.275
32768: Speedup (Old/New/Experimental): 1.734 / 1.591 / 4.579
65536: Speedup (Old/New/Experimental): 1.432 / 1.196 / 5.979
131072: Speedup (Old/New/Experimental): 1.376 / 1.339 / 5.072
262144: Speedup (Old/New/Experimental): 1.902 / 1.519 / 5.340
524288: Speedup (Old/New/Experimental): 1.369 / 2.222 / 6.329
1048576: Speedup (Old/New/Experimental): 1.414 / 2.719 / 6.767
2097152: Speedup (Old/New/Experimental): 1.549 / 2.194 / 4.652
4194304: Speedup (Old/New/Experimental): 1.681 / 2.289 / 6.311
8388608: Speedup (Old/New/Experimental): 1.706 / 1.454 / 6.579
16777216: Speedup (Old/New/Experimental): 1.537 / 1.641 / 7.394
33554432: Speedup (Old/New/Experimental): 1.463 / 1.494 / 7.505
67108864: Speedup (Old/New/Experimental): 1.452 / 1.736 / 6.321
Total Speedup (Old/New/Experimental): 1.464 / 1.620 / 6.142
Average Speedup (Old/New/Experimental): 1.378 / 1.516 / 4.403


Concurrent gather/scatter step:

256: Speedup (Old/New/Experimental): 0.233 / 0.225 / 0.757
512: Speedup (Old/New/Experimental): 0.436 / 0.432 / 1.343
1024: Speedup (Old/New/Experimental): 0.783 / 0.776 / 1.284
2048: Speedup (Old/New/Experimental): 1.041 / 1.030 / 1.855
4096: Speedup (Old/New/Experimental): 1.216 / 1.205 / 2.229
8192: Speedup (Old/New/Experimental): 1.551 / 1.463 / 1.296
16384: Speedup (Old/New/Experimental): 1.713 / 1.630 / 2.316
32768: Speedup (Old/New/Experimental): 1.902 / 1.891 / 3.907
65536: Speedup (Old/New/Experimental): 1.673 / 2.319 / 4.794
131072: Speedup (Old/New/Experimental): 1.991 / 4.039 / 4.856
262144: Speedup (Old/New/Experimental): 2.073 / 4.827 / 4.501
524288: Speedup (Old/New/Experimental): 1.089 / 5.995 / 5.773
1048576: Speedup (Old/New/Experimental): 1.402 / 7.062 / 6.906
2097152: Speedup (Old/New/Experimental): 1.627 / 6.722 / 5.104
4194304: Speedup (Old/New/Experimental): 1.600 / 8.913 / 7.344
8388608: Speedup (Old/New/Experimental): 1.568 / 2.655 / 8.061
16777216: Speedup (Old/New/Experimental): 1.722 / 2.671 / 8.412
33554432: Speedup (Old/New/Experimental): 1.418 / 2.156 / 8.135
67108864: Speedup (Old/New/Experimental): 1.272 / 2.351 / 6.337
Total Speedup (Old/New/Experimental): 1.365 / 2.335 / 6.393
Average Speedup (Old/New/Experimental): 1.384 / 3.071 / 4.484


Switched back to constant 8-bit mode:

256: Speedup (Old/New/Experimental): 0.206 / 0.219 / 0.724
512: Speedup (Old/New/Experimental): 0.434 / 0.430 / 1.340
1024: Speedup (Old/New/Experimental): 0.746 / 0.742 / 1.300
2048: Speedup (Old/New/Experimental): 0.975 / 0.982 / 1.925
4096: Speedup (Old/New/Experimental): 1.159 / 1.154 / 2.335
8192: Speedup (Old/New/Experimental): 1.403 / 1.320 / 1.608
16384: Speedup (Old/New/Experimental): 1.593 / 1.510 / 2.531
32768: Speedup (Old/New/Experimental): 1.808 / 1.740 / 4.812
65536: Speedup (Old/New/Experimental): 1.568 / 2.498 / 5.570
131072: Speedup (Old/New/Experimental): 1.170 / 3.813 / 5.607
262144: Speedup (Old/New/Experimental): 1.464 / 3.845 / 4.234
524288: Speedup (Old/New/Experimental): 1.331 / 6.609 / 6.630
1048576: Speedup (Old/New/Experimental): 1.375 / 7.099 / 6.937
2097152: Speedup (Old/New/Experimental): 1.558 / 6.744 / 5.559
4194304: Speedup (Old/New/Experimental): 1.651 / 4.247 / 7.759
8388608: Speedup (Old/New/Experimental): 1.644 / 8.159 / 4.948
16777216: Speedup (Old/New/Experimental): 1.505 / 7.684 / 8.474
33554432: Speedup (Old/New/Experimental): 1.424 / 5.527 / 8.259
67108864: Speedup (Old/New/Experimental): 1.415 / 5.064 / 6.773


Switched test to only have numbers range 0-255, Experimental failed so disabled concurrency on it:

256: Speedup (Old/New/Experimental): 0.537 / 0.422 / 0.401
512: Speedup (Old/New/Experimental): 0.921 / 0.970 / 0.550
1024: Speedup (Old/New/Experimental): 1.729 / 1.706 / 1.095
2048: Speedup (Old/New/Experimental): 2.747 / 2.709 / 1.466
4096: Speedup (Old/New/Experimental): 3.459 / 3.383 / 1.600
8192: Speedup (Old/New/Experimental): 3.459 / 3.389 / 1.581
16384: Speedup (Old/New/Experimental): 3.426 / 3.425 / 1.558
32768: Speedup (Old/New/Experimental): 3.388 / 3.458 / 1.558
65536: Speedup (Old/New/Experimental): 2.936 / 3.139 / 1.936
131072: Speedup (Old/New/Experimental): 2.875 / 3.277 / 1.472
262144: Speedup (Old/New/Experimental): 2.479 / 4.734 / 1.344
524288: Speedup (Old/New/Experimental): 2.268 / 8.331 / 1.357
1048576: Speedup (Old/New/Experimental): 1.814 / 8.436 / 1.251
2097152: Speedup (Old/New/Experimental): 2.353 / 9.172 / 1.161
4194304: Speedup (Old/New/Experimental): 2.341 / 8.703 / 1.013
8388608: Speedup (Old/New/Experimental): 2.148 / 8.352 / 0.979
16777216: Speedup (Old/New/Experimental): 2.024 / 8.090 / 0.986
33554432: Speedup (Old/New/Experimental): 1.181 / 6.382 / 0.973
67108864: Speedup (Old/New/Experimental): 1.393 / 5.439 / 0.953
Total Speedup (Old/New/Experimental): 1.486 / 5.380 / 0.988
Average Speedup (Old/New/Experimental): 2.288 / 4.921 / 1.222


Switched test to USE_SORTED=true, concurrency re-enabled on Experimental:

256: Speedup (Old/New/Experimental): 0.498 / 0.501 / 0.347
512: Speedup (Old/New/Experimental): 0.498 / 0.452 / 0.091
1024: Speedup (Old/New/Experimental): 0.627 / 0.573 / 0.231
2048: Speedup (Old/New/Experimental): 0.858 / 0.842 / 0.368
4096: Speedup (Old/New/Experimental): 0.943 / 0.885 / 0.520
8192: Speedup (Old/New/Experimental): 1.000 / 0.964 / 0.588
16384: Speedup (Old/New/Experimental): 1.080 / 1.028 / 0.659
32768: Speedup (Old/New/Experimental): 1.188 / 1.161 / 0.896
65536: Speedup (Old/New/Experimental): 1.222 / 2.138 / 1.109
131072: Speedup (Old/New/Experimental): 0.626 / 2.198 / 0.910
262144: Speedup (Old/New/Experimental): 0.546 / 1.994 / 0.819
524288: Speedup (Old/New/Experimental): 1.089 / 2.631 / 0.741
1048576: Speedup (Old/New/Experimental): 0.954 / 3.260 / 0.988
2097152: Speedup (Old/New/Experimental): 0.705 / 2.802 / 1.164
4194304: Speedup (Old/New/Experimental): 0.662 / 2.673 / 1.646
8388608: Speedup (Old/New/Experimental): 0.647 / 2.289 / 1.934
16777216: Speedup (Old/New/Experimental): 0.593 / 2.054 / 2.089
33554432: Speedup (Old/New/Experimental): 0.474 / 1.110 / 2.249
67108864: Speedup (Old/New/Experimental): 0.441 / 1.095 / 2.367
Total Speedup (Old/New/Experimental): 0.498 / 1.207 / 1.543
Average Speedup (Old/New/Experimental): 0.771 / 1.613 / 1.037


Switched test to USE_SORTED=false, RANDOM_FULL=true (to match the majority of tests above):

256: Speedup (Old/New/Experimental): 0.257 / 0.251 / 0.826
512: Speedup (Old/New/Experimental): 0.414 / 0.408 / 1.300
1024: Speedup (Old/New/Experimental): 0.759 / 0.738 / 1.332
2048: Speedup (Old/New/Experimental): 0.988 / 0.978 / 1.899
4096: Speedup (Old/New/Experimental): 1.214 / 1.202 / 2.364
8192: Speedup (Old/New/Experimental): 1.453 / 1.396 / 1.460
16384: Speedup (Old/New/Experimental): 1.654 / 1.587 / 2.496
32768: Speedup (Old/New/Experimental): 1.808 / 1.790 / 4.603
65536: Speedup (Old/New/Experimental): 1.501 / 2.800 / 6.299
131072: Speedup (Old/New/Experimental): 1.192 / 3.380 / 5.666
262144: Speedup (Old/New/Experimental): 1.722 / 5.268 / 5.003
524288: Speedup (Old/New/Experimental): 1.305 / 6.930 / 6.557
1048576: Speedup (Old/New/Experimental): 1.425 / 8.142 / 6.570
2097152: Speedup (Old/New/Experimental): 1.414 / 5.958 / 6.108
4194304: Speedup (Old/New/Experimental): 1.488 / 8.701 / 7.176
8388608: Speedup (Old/New/Experimental): 1.671 / 8.288 / 8.248
16777216: Speedup (Old/New/Experimental): 1.688 / 5.772 / 7.726
33554432: Speedup (Old/New/Experimental): 1.449 / 4.360 / 8.207
67108864: Speedup (Old/New/Experimental): 1.394 / 5.181 / 6.331
Total Speedup (Old/New/Experimental): 1.430 / 4.498 / 6.431
Average Speedup (Old/New/Experimental): 1.305 / 3.848 / 4.745


Switched test to START_TEST_SIZE=1:

1: Speedup (Old/New/Experimental): 0.905 / 0.818 / 0.902
2: Speedup (Old/New/Experimental): 0.892 / 0.824 / 0.863
4: Speedup (Old/New/Experimental): 0.981 / 0.928 / 1.009
8: Speedup (Old/New/Experimental): 0.985 / 0.952 / 0.996
16: Speedup (Old/New/Experimental): 0.992 / 0.902 / 0.971
32: Speedup (Old/New/Experimental): 0.989 / 0.992 / 0.966
64: Speedup (Old/New/Experimental): 0.990 / 0.991 / 0.980
128: Speedup (Old/New/Experimental): 0.993 / 0.992 / 0.991
256: Speedup (Old/New/Experimental): 0.993 / 0.968 / 0.960
512: Speedup (Old/New/Experimental): 0.995 / 0.989 / 2.114
1024: Speedup (Old/New/Experimental): 0.999 / 1.002 / 1.951
2048: Speedup (Old/New/Experimental): 1.607 / 1.579 / 2.944
4096: Speedup (Old/New/Experimental): 2.073 / 2.056 / 3.500
8192: Speedup (Old/New/Experimental): 2.340 / 2.355 / 1.869
16384: Speedup (Old/New/Experimental): 2.779 / 2.760 / 3.755
32768: Speedup (Old/New/Experimental): 2.792 / 2.708 / 5.684
65536: Speedup (Old/New/Experimental): 2.444 / 4.231 / 8.170
131072: Speedup (Old/New/Experimental): 1.741 / 5.488 / 8.192
262144: Speedup (Old/New/Experimental): 2.654 / 6.074 / 7.551
524288: Speedup (Old/New/Experimental): 2.212 / 10.221 / 6.676
1048576: Speedup (Old/New/Experimental): 2.501 / 12.721 / 10.893
2097152: Speedup (Old/New/Experimental): 2.637 / 9.115 / 7.762
4194304: Speedup (Old/New/Experimental): 2.702 / 9.284 / 11.228
8388608: Speedup (Old/New/Experimental): 2.279 / 12.265 / 12.086
16777216: Speedup (Old/New/Experimental): 2.864 / 11.870 / 12.315
33554432: Speedup (Old/New/Experimental): 2.461 / 6.737 / 12.346
67108864: Speedup (Old/New/Experimental): 2.410 / 7.894 / 10.509
Total Speedup (Old/New/Experimental): 2.412 / 6.940 / 9.461
Average Speedup (Old/New/Experimental): 1.822 / 4.359 / 5.117


Implemented T[] version:

1: Speedup (Old/New/Experimental): 0.907 / 0.874 / 0.893
2: Speedup (Old/New/Experimental): 0.915 / 0.880 / 0.904
4: Speedup (Old/New/Experimental): 0.998 / 0.967 / 0.993
8: Speedup (Old/New/Experimental): 0.983 / 0.988 / 0.983
16: Speedup (Old/New/Experimental): 1.028 / 1.024 / 1.026
32: Speedup (Old/New/Experimental): 0.993 / 0.994 / 0.991
64: Speedup (Old/New/Experimental): 1.001 / 0.997 / 0.988
128: Speedup (Old/New/Experimental): 1.005 / 1.002 / 1.000
256: Speedup (Old/New/Experimental): 0.984 / 0.955 / 0.986
512: Speedup (Old/New/Experimental): 1.024 / 1.019 / 0.982
1024: Speedup (Old/New/Experimental): 0.987 / 0.977 / 0.997
2048: Speedup (Old/New/Experimental): 1.700 / 1.674 / 1.672
4096: Speedup (Old/New/Experimental): 2.266 / 2.228 / 2.262
8192: Speedup (Old/New/Experimental): 2.519 / 2.467 / 2.426
16384: Speedup (Old/New/Experimental): 2.615 / 2.613 / 2.608
32768: Speedup (Old/New/Experimental): 2.919 / 2.886 / 2.794
65536: Speedup (Old/New/Experimental): 1.675 / 3.735 / 2.911
131072: Speedup (Old/New/Experimental): 1.410 / 4.167 / 1.838
262144: Speedup (Old/New/Experimental): 1.415 / 4.747 / 1.340
524288: Speedup (Old/New/Experimental): 1.402 / 6.127 / 1.398
1048576: Speedup (Old/New/Experimental): 1.763 / 5.684 / 1.784
2097152: Speedup (Old/New/Experimental): 0.713 / 7.735 / 1.582
4194304: Speedup (Old/New/Experimental): 1.633 / 6.445 / 1.687
8388608: Speedup (Old/New/Experimental): 2.262 / 7.664 / 2.280
16777216: Speedup (Old/New/Experimental): 2.655 / 8.664 / 2.674
33554432: Speedup (Old/New/Experimental): 1.937 / 3.215 / 2.035
67108864: Speedup (Old/New/Experimental): 0.644 / 1.609 / 1.641
Total Speedup (Old/New/Experimental): 0.968 / 2.327 / 1.854
Average Speedup (Old/New/Experimental): 1.494 / 3.049 / 1.617


T[] with RANDOM_FULL=false (RANDOM_RANGE still 0x100):

1: Speedup (Old/New/Experimental): 0.968 / 0.881 / 0.876
2: Speedup (Old/New/Experimental): 1.039 / 0.999 / 1.050
4: Speedup (Old/New/Experimental): 0.972 / 0.946 / 0.960
8: Speedup (Old/New/Experimental): 0.987 / 0.978 / 0.943
16: Speedup (Old/New/Experimental): 0.997 / 0.984 / 0.994
32: Speedup (Old/New/Experimental): 0.997 / 0.990 / 0.992
64: Speedup (Old/New/Experimental): 0.996 / 0.962 / 0.994
128: Speedup (Old/New/Experimental): 0.998 / 0.999 / 0.998
256: Speedup (Old/New/Experimental): 1.002 / 0.998 / 0.999
512: Speedup (Old/New/Experimental): 1.019 / 1.018 / 1.018
1024: Speedup (Old/New/Experimental): 1.000 / 0.998 / 1.000
2048: Speedup (Old/New/Experimental): 6.346 / 6.273 / 6.241
4096: Speedup (Old/New/Experimental): 9.894 / 9.810 / 8.990
8192: Speedup (Old/New/Experimental): 11.482 / 11.630 / 11.340
16384: Speedup (Old/New/Experimental): 10.869 / 12.095 / 12.169
32768: Speedup (Old/New/Experimental): 12.146 / 12.314 / 12.427
65536: Speedup (Old/New/Experimental): 10.609 / 10.747 / 14.458
131072: Speedup (Old/New/Experimental): 9.021 / 16.997 / 14.028
262144: Speedup (Old/New/Experimental): 6.133 / 21.887 / 12.119
524288: Speedup (Old/New/Experimental): 5.772 / 29.922 / 9.877
1048576: Speedup (Old/New/Experimental): 9.158 / 34.526 / 11.535
2097152: Speedup (Old/New/Experimental): 10.384 / 42.971 / 10.356
4194304: Speedup (Old/New/Experimental): 9.888 / 16.131 / 8.565
8388608: Speedup (Old/New/Experimental): 9.972 / 40.077 / 9.910
16777216: Speedup (Old/New/Experimental): 7.189 / 33.870 / 1.829
33554432: Speedup (Old/New/Experimental): 8.357 / 45.190 / 10.924
67108864: Speedup (Old/New/Experimental): 2.904 / 23.612 / 4.514
Total Speedup (Old/New/Experimental): 4.064 / 20.371 / 4.633
Average Speedup (Old/New/Experimental): 5.596 / 14.029 / 6.300


T[] with RANDOM_FULL=false (RANDOM_RANGE still 0x100)
on 24-core server (NUMA, JDK 1.6.0_37 64-bit):

1: Speedup (Old/New/Experimental): 0.988 / 0.969 / 0.978
2: Speedup (Old/New/Experimental): 0.975 / 0.975 / 0.994
4: Speedup (Old/New/Experimental): 0.982 / 0.972 / 0.982
8: Speedup (Old/New/Experimental): 0.836 / 0.837 / 0.826
16: Speedup (Old/New/Experimental): 0.979 / 0.973 / 0.963
32: Speedup (Old/New/Experimental): 0.915 / 0.915 / 0.906
64: Speedup (Old/New/Experimental): 1.019 / 1.016 / 0.987
128: Speedup (Old/New/Experimental): 0.974 / 0.964 / 0.922
256: Speedup (Old/New/Experimental): 0.919 / 0.897 / 0.875
512: Speedup (Old/New/Experimental): 0.917 / 0.913 / 0.891
1024: Speedup (Old/New/Experimental): 0.926 / 0.925 / 0.909
2048: Speedup (Old/New/Experimental): 4.410 / 4.422 / 4.402
4096: Speedup (Old/New/Experimental): 7.387 / 7.391 / 7.364
8192: Speedup (Old/New/Experimental): 8.599 / 8.583 / 8.574
16384: Speedup (Old/New/Experimental): 8.929 / 8.972 / 8.920
32768: Speedup (Old/New/Experimental): 9.185 / 9.108 / 9.048
65536: Speedup (Old/New/Experimental): 9.112 / 5.872 / 9.186
131072: Speedup (Old/New/Experimental): 9.562 / 13.525 / 9.953
262144: Speedup (Old/New/Experimental): 9.736 / 25.079 / 10.045
524288: Speedup (Old/New/Experimental): 9.097 / 36.774 / 2.786
1048576: Speedup (Old/New/Experimental): 8.428 / 51.681 / 8.442
2097152: Speedup (Old/New/Experimental): 7.540 / 5.016 / 8.177
4194304: Speedup (Old/New/Experimental): 7.580 / 74.774 / 7.549
8388608: Speedup (Old/New/Experimental): 7.062 / 1.989 / 7.736
16777216: Speedup (Old/New/Experimental): 7.199 / 79.224 / 1.701
33554432: Speedup (Old/New/Experimental): 6.492 / 4.067 / 6.332
67108864: Speedup (Old/New/Experimental): 6.666 / 3.528 / 6.034
Total Speedup (Old/New/Experimental): 5.853 / 3.763 / 4.490
Average Speedup (Old/New/Experimental): 5.089 / 12.976 / 4.684


T[] with RANDOM_FULL=true
on 24-core server (NUMA, JDK 1.6.0_37 64-bit):

1: Speedup (Old/New/Experimental): 0.986 / 0.948 / 0.980
2: Speedup (Old/New/Experimental): 0.995 / 0.965 / 0.998
4: Speedup (Old/New/Experimental): 0.996 / 0.968 / 0.998
8: Speedup (Old/New/Experimental): 0.846 / 0.827 / 0.841
16: Speedup (Old/New/Experimental): 0.867 / 0.852 / 0.869
32: Speedup (Old/New/Experimental): 0.902 / 0.888 / 0.885
64: Speedup (Old/New/Experimental): 0.948 / 0.934 / 0.917
128: Speedup (Old/New/Experimental): 0.942 / 0.926 / 0.851
256: Speedup (Old/New/Experimental): 0.910 / 0.897 / 0.840
512: Speedup (Old/New/Experimental): 0.924 / 0.917 / 0.883
1024: Speedup (Old/New/Experimental): 0.894 / 0.891 / 0.878
2048: Speedup (Old/New/Experimental): 1.484 / 1.484 / 1.467
4096: Speedup (Old/New/Experimental): 1.848 / 1.850 / 1.829
8192: Speedup (Old/New/Experimental): 1.850 / 1.843 / 1.855
16384: Speedup (Old/New/Experimental): 1.917 / 1.937 / 1.899
32768: Speedup (Old/New/Experimental): 2.006 / 2.059 / 2.055
65536: Speedup (Old/New/Experimental): 2.240 / 2.751 / 2.126
131072: Speedup (Old/New/Experimental): 1.773 / 5.792 / 1.747
262144: Speedup (Old/New/Experimental): 1.179 / 6.596 / 1.371
524288: Speedup (Old/New/Experimental): 1.545 / 12.475 / 1.937
1048576: Speedup (Old/New/Experimental): 1.403 / 14.719 / 1.589
2097152: Speedup (Old/New/Experimental): 1.636 / 20.410 / 1.470
4194304: Speedup (Old/New/Experimental): 1.742 / 17.612 / 1.711
8388608: Speedup (Old/New/Experimental): 1.840 / 1.988 / 2.003
16777216: Speedup (Old/New/Experimental): 1.710 / 10.997 / 1.509
33554432: Speedup (Old/New/Experimental): 1.942 / 3.812 / 1.660
67108864: Speedup (Old/New/Experimental): 0.747 / 4.611 / 1.514
Total Speedup (Old/New/Experimental): 1.018 / 4.176 / 1.560
Average Speedup (Old/New/Experimental): 1.373 / 4.479 / 1.395


int[] with RANDOM_FULL=true
on 24-core server (NUMA, JDK 1.6.0_37 64-bit):

1: Speedup (Old/New/Experimental): 0.978 / 0.960 / 0.986
2: Speedup (Old/New/Experimental): 0.991 / 0.978 / 0.990
4: Speedup (Old/New/Experimental): 0.992 / 0.982 / 1.000
8: Speedup (Old/New/Experimental): 0.992 / 0.956 / 0.996
16: Speedup (Old/New/Experimental): 0.993 / 0.990 / 0.998
32: Speedup (Old/New/Experimental): 0.994 / 0.993 / 0.989
64: Speedup (Old/New/Experimental): 0.995 / 0.995 / 0.995
128: Speedup (Old/New/Experimental): 0.998 / 0.998 / 0.992
256: Speedup (Old/New/Experimental): 0.996 / 0.966 / 1.938
512: Speedup (Old/New/Experimental): 0.999 / 0.991 / 2.377
1024: Speedup (Old/New/Experimental): 0.999 / 0.994 / 2.218
2048: Speedup (Old/New/Experimental): 1.508 / 1.501 / 3.102
4096: Speedup (Old/New/Experimental): 1.823 / 1.821 / 3.938
8192: Speedup (Old/New/Experimental): 2.113 / 2.095 / 2.145
16384: Speedup (Old/New/Experimental): 2.369 / 2.332 / 4.873
32768: Speedup (Old/New/Experimental): 2.546 / 2.533 / 6.351
65536: Speedup (Old/New/Experimental): 2.670 / 2.782 / 7.183
131072: Speedup (Old/New/Experimental): 2.919 / 5.881 / 8.901
262144: Speedup (Old/New/Experimental): 2.917 / 10.924 / 11.042
524288: Speedup (Old/New/Experimental): 2.444 / 13.900 / 11.764
1048576: Speedup (Old/New/Experimental): 1.809 / 18.186 / 12.633
2097152: Speedup (Old/New/Experimental): 2.422 / 21.652 / 12.607
4194304: Speedup (Old/New/Experimental): 2.200 / 17.318 / 14.639
8388608: Speedup (Old/New/Experimental): 2.309 / 29.851 / 15.021
16777216: Speedup (Old/New/Experimental): 2.559 / 26.090 / 13.243
33554432: Speedup (Old/New/Experimental): 2.480 / 9.257 / 17.686
67108864: Speedup (Old/New/Experimental): 2.004 / 21.362 / 11.500
Total Speedup (Old/New/Experimental): 2.103 / 9.115 / 8.945
Average Speedup (Old/New/Experimental): 1.778 / 7.344 / 6.337


int[] with RANDOM_FULL=true (back to 8-core), fixed 8-bit size:

1: Speedup (Old/New/Experimental): 0.942 / 0.884 / 0.911
2: Speedup (Old/New/Experimental): 0.916 / 0.863 / 0.881
4: Speedup (Old/New/Experimental): 1.025 / 0.940 / 1.007
8: Speedup (Old/New/Experimental): 0.951 / 0.921 / 0.998
16: Speedup (Old/New/Experimental): 0.975 / 0.959 / 0.982
32: Speedup (Old/New/Experimental): 0.983 / 0.982 / 0.993
64: Speedup (Old/New/Experimental): 1.037 / 1.021 / 1.038
128: Speedup (Old/New/Experimental): 0.858 / 0.901 / 0.934
256: Speedup (Old/New/Experimental): 0.991 / 0.971 / 0.883
512: Speedup (Old/New/Experimental): 0.959 / 0.966 / 2.053
1024: Speedup (Old/New/Experimental): 1.011 / 0.987 / 1.923
2048: Speedup (Old/New/Experimental): 1.795 / 1.770 / 2.599
4096: Speedup (Old/New/Experimental): 2.215 / 2.259 / 3.263
8192: Speedup (Old/New/Experimental): 2.667 / 2.454 / 2.166
16384: Speedup (Old/New/Experimental): 2.853 / 2.671 / 4.032
32768: Speedup (Old/New/Experimental): 2.766 / 2.703 / 6.994
65536: Speedup (Old/New/Experimental): 2.681 / 2.792 / 7.937
131072: Speedup (Old/New/Experimental): 2.849 / 2.608 / 7.402
262144: Speedup (Old/New/Experimental): 2.508 / 4.783 / 7.956
524288: Speedup (Old/New/Experimental): 3.446 / 6.960 / 10.212
1048576: Speedup (Old/New/Experimental): 2.974 / 8.347 / 10.136
2097152: Speedup (Old/New/Experimental): 3.029 / 4.995 / 8.298
4194304: Speedup (Old/New/Experimental): 2.705 / 7.255 / 12.021
8388608: Speedup (Old/New/Experimental): 1.994 / 11.484 / 11.739
16777216: Speedup (Old/New/Experimental): 2.124 / 11.455 / 12.267
33554432: Speedup (Old/New/Experimental): 1.706 / 6.643 / 12.108
67108864: Speedup (Old/New/Experimental): 1.623 / 7.802 / 10.217
Total Speedup (Old/New/Experimental): 1.756 / 6.650 / 9.326
Average Speedup (Old/New/Experimental): 1.873 / 3.606 / 5.257


Integrated concurrent implementation into IntegerRadixSort, switching over at size of 65536:

1: Speedup (Old/New/Experimental): 0.944 / 0.940 / 0.906
2: Speedup (Old/New/Experimental): 0.908 / 0.892 / 0.870
4: Speedup (Old/New/Experimental): 1.016 / 0.986 / 0.976
8: Speedup (Old/New/Experimental): 1.009 / 1.009 / 0.937
16: Speedup (Old/New/Experimental): 1.001 / 0.985 / 0.946
32: Speedup (Old/New/Experimental): 0.993 / 0.984 / 0.951
64: Speedup (Old/New/Experimental): 1.003 / 1.000 / 0.965
128: Speedup (Old/New/Experimental): 1.000 / 0.997 / 0.961
256: Speedup (Old/New/Experimental): 0.992 / 0.978 / 0.863
512: Speedup (Old/New/Experimental): 0.994 / 0.989 / 1.880
1024: Speedup (Old/New/Experimental): 0.996 / 0.994 / 1.876
2048: Speedup (Old/New/Experimental): 1.775 / 1.772 / 2.545
4096: Speedup (Old/New/Experimental): 2.475 / 2.749 / 3.211
8192: Speedup (Old/New/Experimental): 2.645 / 2.804 / 1.914
16384: Speedup (Old/New/Experimental): 2.873 / 3.317 / 4.078
32768: Speedup (Old/New/Experimental): 2.940 / 3.517 / 8.279
65536: Speedup (Old/New/Experimental): 3.460 / 2.974 / 7.087
131072: Speedup (Old/New/Experimental): 2.761 / 3.477 / 7.636
262144: Speedup (Old/New/Experimental): 3.216 / 4.609 / 6.702
524288: Speedup (Old/New/Experimental): 3.279 / 6.375 / 6.828
1048576: Speedup (Old/New/Experimental): 2.432 / 10.219 / 7.232
2097152: Speedup (Old/New/Experimental): 2.582 / 9.782 / 7.154
4194304: Speedup (Old/New/Experimental): 2.904 / 13.463 / 10.726
8388608: Speedup (Old/New/Experimental): 2.588 / 13.068 / 11.349
16777216: Speedup (Old/New/Experimental): 2.729 / 10.634 / 12.305
33554432: Speedup (Old/New/Experimental): 1.641 / 9.050 / 12.210
67108864: Speedup (Old/New/Experimental): 1.609 / 7.780 / 10.129
Total Speedup (Old/New/Experimental): 1.790 / 7.372 / 9.178
Average Speedup (Old/New/Experimental): 1.954 / 4.309 / 4.870
