-- bench avx512 (cores 0,1) sweep: 672 cells - sizes 32K, types u32,int32,float,u64,int64,double, 7 inputs; rows none + wrong (ns/key; best = fastest other / mine) level: Avx512 (competitors: native builds) calibration (speed factor per size [32768]; ns x factor = normalized): core 0: 1.001 | core 1: 0.999 (no rows: none + wrong) grid (best/mine; below 1: the winner, x x86-simd-sort / v VQSort / s std / d djbsort / f far) type input 2 3 4 6 8 10 12 17 24 35 49 70 100 200 400 900 double reverse 2.93 2.97 1.77 3.86 2.54 1.87 3.75 2.10 3.71 4.30 3.78 4.91 3.87 4.13 5.63 7.67 double sorted 3.87 3.05 2.21 5.52 3.11 4.91 4.93 4.31 4.09 6.04 5.27 7.24 5.47 4.69 7.26 15.26 double srr-d20 3.82 3.05 2.20 1.38 1.52 2.28 2.21 1.72 1.62 1.70 1.49 1.99 1.62 1.78 1.09 1.36 double srr-p5 3.87 3.04 2.21 3.22 1.48 2.49 2.34 1.91 1.67 1.71 1.44 1.91 1.55 1.61 1.88 1.79 double srr-s95 3.88 3.08 2.20 4.83 2.78 4.78 4.79 3.92 3.73 5.43 4.61 6.40 4.86 4.61 5.68 10.42 double uniform 3.91 2.97 2.23 1.42 1.53 2.26 2.21 1.71 1.63 1.70 1.49 1.99 1.63 1.78 1.11 1.28 double zipf-1 3.86 3.04 2.21 1.44 1.52 2.28 2.20 1.71 1.62 1.72 1.49 1.99 1.62 1.78 1.15 1.11 float reverse 4.42 3.19 2.67 5.28 2.44 2.85 2.77 2.21 3.64 3.06 4.19 3.58 5.16 1.65 4.68 5.69 float sorted 4.46 3.18 2.64 6.90 4.48 5.07 5.22 6.11 6.10 6.50 6.05 8.77 7.17 2.95 5.62 9.31 float srr-d20 4.45 3.19 2.65 6.89 4.48 5.20 5.10 5.89 6.29 6.31 5.84 7.67 5.83 9.19 2.59 2.98 float srr-p5 4.45 3.18 2.67 4.05 2.15 2.42 2.32 2.60 2.15 1.98 1.81 2.08 1.63 2.74 1.79 1.81 float srr-s95 4.43 3.18 2.64 6.21 3.99 4.78 4.60 5.63 5.58 5.80 5.38 7.48 5.84 2.69 4.41 5.66 float uniform 4.46 3.19 2.64 1.68 1.86 2.38 2.39 2.47 2.24 2.02 1.87 2.20 1.68 1.11 1.22 1.35 float zipf-1 4.48 3.19 2.67 1.56 1.87 2.38 2.39 2.47 2.27 2.01 1.86 2.19 1.67 1.11 1.22 1.10 int32 reverse 2.86 3.23 2.23 3.13 1.66 1.61 1.60 1.75 2.29 3.13 3.49 3.76 5.25 1.95 6.67 7.13 int32 sorted 3.40 3.21 2.45 4.47 3.50 3.69 3.78 4.44 5.22 5.96 5.44 9.84 7.47 4.33 8.64 13.97 int32 srr-d20 3.40 3.42 2.45 1.77 1.12 1.68 1.70 1.66 1.33 1.67 1.56 2.08 1.59 1.26 1.42 1.51 int32 srr-p5 3.61 3.22 2.30 2.34 1.52 1.42 1.46 1.72 1.33 1.69 1.49 1.98 1.54 3.21 2.61 2.51 int32 srr-s95 3.61 3.22 2.31 4.37 3.18 3.32 3.37 3.95 4.50 5.28 4.81 8.35 6.25 3.78 6.62 8.97 int32 uniform 3.41 3.23 2.31 1.78 1.16 1.65 1.68 1.65 1.33 1.67 1.56 2.07 1.60 1.26 1.44 1.57 int32 zipf-1 3.40 3.22 2.32 1.75 1.16 1.68 1.68 1.65 1.32 1.67 1.56 2.07 1.60 1.26 1.44 1.23 int64 reverse 3.17 3.00 2.42 4.14 2.67 3.20 2.76 4.05 4.14 5.53 4.95 9.25 6.46 7.98 10.64 13.47 int64 sorted 3.17 3.00 2.03 5.23 3.33 4.61 4.05 2.70 4.25 7.58 6.62 12.92 9.79 10.07 16.21 29.77 int64 srr-d20 3.16 2.95 2.50 2.24 1.76 1.64 1.32 1.69 1.55 2.22 1.67 2.81 1.83 1.60 1.27 1.56 int64 srr-p5 3.17 2.83 2.41 2.68 1.69 2.11 1.88 1.97 1.64 2.32 1.59 2.70 1.78 1.05 1.42 1.58 int64 srr-s95 3.18 2.99 2.42 4.91 3.20 4.13 3.65 4.17 4.03 7.17 5.66 10.82 8.06 7.29 8.84 14.72 int64 uniform 3.36 2.99 2.42 2.25 1.75 1.64 1.31 1.68 1.63 2.26 1.66 2.81 1.82 1.46 1.61 1.51 int64 zipf-1 3.17 2.99 2.42 2.24 1.76 1.64 1.31 1.68 1.63 2.24 1.67 2.81 1.82 1.92 2.08 1.92 u32 reverse 3.59 2.85 2.21 3.20 1.41 1.63 1.62 2.67 2.33 4.70 4.08 6.18 5.17 4.66 6.66 9.21 u32 sorted 3.59 1.95 1.98 2.56 3.11 3.42 3.53 2.49 5.06 4.00 6.29 9.32 4.97 6.64 7.91 10.90 u32 srr-d20 2.94 2.85 1.97 1.40 0.92v 1.73 1.80 1.76 1.29 2.08 1.84 2.19 1.68 1.65 1.75 1.44 u32 srr-p5 3.59 2.85 2.10 2.18 1.31 1.48 1.35 1.75 1.38 2.03 1.83 2.12 1.62 2.92 2.15 2.45 u32 srr-s95 3.60 2.68 1.97 3.64 2.91 3.55 2.59 3.74 3.45 6.24 3.24 7.93 4.23 5.63 5.92 7.80 u32 uniform 3.59 2.86 1.98 1.40 1.26 1.74 1.79 1.75 1.31 2.09 1.83 2.19 1.68 1.65 1.75 1.52 u32 zipf-1 3.60 2.85 2.00 1.49 1.26 1.75 1.81 1.75 1.31 2.08 1.84 2.20 1.68 1.65 1.76 1.31 u64 reverse 3.60 2.71 1.98 4.19 2.88 3.47 3.57 4.56 4.75 7.03 6.25 10.09 6.91 6.74 9.18 11.90 u64 sorted 3.82 2.88 1.98 5.23 3.62 4.50 4.26 5.69 5.48 10.49 8.88 14.12 11.25 8.37 15.23 19.06 u64 srr-d20 3.43 2.71 1.98 1.83 1.04 2.11 2.05 1.65 1.68 2.41 1.87 2.73 1.85 1.87 1.21 1.21 u64 srr-p5 3.59 2.71 1.97 2.74 1.68 2.13 1.91 2.32 1.87 2.56 1.81 2.77 1.81 1.00v 1.24 1.36 u64 srr-s95 3.59 2.71 2.10 4.78 3.45 4.24 4.19 4.96 4.92 9.00 7.44 11.72 5.56 6.26 7.59 12.09 u64 uniform 3.59 2.88 1.98 1.84 1.81 2.11 2.07 1.74 1.68 2.56 1.88 2.83 1.85 1.86 1.38 1.50 u64 zipf-1 3.81 2.74 1.97 1.83 1.82 2.11 2.07 1.74 1.67 2.55 1.88 2.81 1.85 2.47 2.41 2.09 geomean 3.62 2.97 2.24 2.85 2.04 2.54 2.47 2.53 2.48 3.23 2.81 4.03 3.02 2.70 3.06 3.59 cells < 1 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 all: 672 cells; <1.0x 2, <1.25x 20, <1.5x 68, <2.0x 239, >2.0x 433, >4.0x 182; 0 WRONG -- bench avx2 (cores 2,3) sweep: 672 cells - sizes 32K, types u32,int32,float,u64,int64,double, 7 inputs; rows none + wrong (ns/key; best = fastest other / mine) level: Avx2 (competitors: AVX2 builds) calibration (speed factor per size [32768]; ns x factor = normalized): core 2: 1.004 | core 3: 0.996 (no rows: none + wrong) grid (best/mine; below 1: the winner, x x86-simd-sort / v VQSort / s std / d djbsort / f far) type input 2 3 4 6 8 10 12 17 24 35 49 70 100 200 400 900 double reverse 4.84 3.52 1.74 3.30 1.44 2.27 2.05 3.46 2.85 3.56 2.92 4.34 5.24 6.51 8.13 9.83 double sorted 4.84 3.55 1.74 4.75 1.82 3.13 3.06 4.56 3.71 4.89 3.97 5.55 4.98 7.43 10.61 13.31 double srr-d20 4.83 3.52 1.75 1.25 1.33 1.56 1.68 1.59 1.43 1.54 1.17 2.32 1.54 1.00 0.93x 2.09 double srr-p5 4.84 3.53 1.74 2.84 1.17 1.68 1.55 1.70 1.34 1.46 1.17 1.57 1.54 1.76 2.03 1.91 double srr-s95 4.84 3.52 2.09 4.17 1.78 3.01 2.95 4.20 3.42 4.41 3.55 4.76 4.25 5.32 6.78 7.62 double uniform 4.84 3.52 1.74 1.29 1.32 1.58 1.76 1.60 1.44 1.57 1.27 2.37 1.57 1.14 1.07 1.16 double zipf-1 4.84 3.53 1.74 1.25 1.33 1.58 1.75 1.60 1.44 1.56 1.20 2.42 1.57 1.07 1.38 1.53 float reverse 4.96 3.35 2.67 4.13 2.18 3.16 3.14 3.20 2.63 3.91 3.62 4.83 3.67 4.87 6.08 9.48 float sorted 4.94 3.36 2.67 5.72 2.25 3.52 3.49 4.05 3.79 5.28 4.66 6.52 4.91 5.91 7.20 11.30 float srr-d20 5.02 3.36 2.65 5.72 2.25 3.51 3.52 4.04 3.81 5.29 4.63 6.74 5.04 1.89 2.34 2.45 float srr-p5 4.93 3.33 2.65 3.26 1.19 2.11 2.00 1.79 1.60 1.73 1.27 1.65 1.13 1.76 2.00 2.20 float srr-s95 4.96 3.37 2.65 5.14 2.10 3.42 3.39 3.78 3.52 4.80 4.12 5.53 4.46 4.81 5.32 6.44 float uniform 5.03 3.39 2.65 1.38 1.57 2.13 2.16 1.72 1.80 1.79 1.37 1.98 1.30 1.42 1.20 1.26 float zipf-1 4.93 3.32 2.66 1.33 1.56 1.47 2.14 1.72 1.43 1.79 1.36 1.87 1.29 1.34 1.09 1.18 int32 reverse 3.00 2.89 2.19 3.51 2.42 2.80 2.91 3.07 2.48 4.06 3.96 5.94 5.17 6.58 7.80 11.25 int32 sorted 3.20 2.82 2.30 5.19 3.68 3.22 3.36 4.11 3.96 5.79 5.56 9.53 7.67 8.40 9.47 13.80 int32 srr-d20 3.00 2.89 2.19 1.97 1.24 1.74 1.74 1.53 1.68 1.65 1.25 1.91 1.35 1.53 1.73 2.87 int32 srr-p5 2.99 2.90 2.19 2.47 1.60 1.66 1.58 1.65 1.53 1.61 1.23 1.74 1.23 3.48 2.77 2.51 int32 srr-s95 2.99 3.06 2.18 4.75 3.31 3.09 3.18 3.78 3.74 5.12 4.71 7.84 6.00 6.68 6.74 8.98 int32 uniform 3.13 2.88 2.19 1.95 1.21 1.69 1.75 1.52 1.74 1.66 1.24 1.91 1.35 1.51 1.41 1.42 int32 zipf-1 3.00 2.88 2.19 2.02 1.24 1.67 1.70 1.53 1.68 1.64 1.24 1.91 1.36 1.50 1.38 1.40 int64 reverse 2.83 3.73 3.28 6.46 2.98 4.78 4.13 4.58 5.17 9.37 8.09 8.86 9.62 14.09 17.46 19.57 int64 sorted 2.83 3.71 3.28 8.26 3.95 6.67 6.10 7.42 6.99 12.83 10.35 11.56 11.25 17.90 25.33 30.68 int64 srr-d20 2.83 3.71 3.27 3.54 1.75 2.47 1.98 1.57 1.05 1.52 1.12 1.72 1.33 1.28 1.22 2.14 int64 srr-p5 2.83 3.70 3.26 4.32 2.21 3.26 2.64 2.16 1.63 2.77 2.23 1.32 1.08 1.24 1.32 1.18 int64 srr-s95 2.83 3.71 3.25 7.71 3.72 6.16 5.52 6.25 6.12 10.62 8.27 9.24 8.62 10.06 12.21 15.61 int64 uniform 2.83 3.71 3.27 3.55 1.75 2.46 1.96 1.56 1.50 2.26 1.81 2.74 1.97 1.53 1.67 2.01 int64 zipf-1 2.83 3.72 3.26 3.54 1.76 2.45 1.96 1.56 1.05 1.53 1.13 1.77 1.34 1.13 2.15 2.36 u32 reverse 3.59 2.99 2.09 3.74 2.39 2.81 2.70 2.97 2.52 3.80 3.85 5.86 4.47 6.79 10.81 15.56 u32 sorted 3.59 3.00 2.09 4.67 2.53 3.26 3.09 4.10 3.84 5.77 5.28 8.56 6.08 9.49 14.39 19.53 u32 srr-d20 3.59 2.99 2.09 1.65 1.88 1.92 1.83 1.61 1.77 1.78 1.33 2.00 1.39 1.83 2.10 3.04 u32 srr-p5 3.58 2.99 2.10 2.54 1.40 1.74 1.52 1.68 1.57 1.68 1.24 1.84 1.24 2.91 1.85 2.60 u32 srr-s95 3.59 2.99 2.08 4.28 2.49 3.12 2.98 3.79 3.52 5.18 4.54 7.27 5.13 7.39 8.96 11.18 u32 uniform 3.59 2.99 2.08 1.65 1.88 1.94 1.83 1.58 1.82 1.76 1.34 2.00 1.39 1.80 1.37 1.46 u32 zipf-1 3.59 3.00 2.09 1.65 1.88 1.92 1.84 1.60 1.77 1.76 1.34 2.00 1.39 1.81 1.33 1.21 u64 reverse 3.39 4.40 3.22 7.08 3.54 5.49 4.85 5.81 5.79 9.91 8.39 11.17 11.68 21.19 26.62 30.12 u64 sorted 3.39 4.55 3.21 8.86 4.75 7.67 7.00 8.85 8.28 15.14 11.57 12.81 12.86 28.53 37.53 42.12 u64 srr-d20 3.39 4.54 3.25 3.10 1.82 2.33 1.80 1.56 1.76 2.90 2.27 3.01 2.52 1.35 1.41 1.87 u64 srr-p5 3.41 4.54 3.24 4.88 2.49 3.43 2.55 2.30 2.66 4.55 3.70 2.11 1.55 1.17 1.15 1.08 u64 srr-s95 3.40 4.42 3.24 8.10 4.38 6.86 6.15 7.18 6.80 12.50 9.36 9.96 10.06 13.46 17.02 20.92 u64 uniform 3.39 4.42 3.23 3.11 1.82 2.35 1.81 1.59 1.77 2.90 2.22 1.72 1.42 1.27 1.90 2.48 u64 zipf-1 3.38 4.55 3.22 3.11 1.82 2.33 1.81 1.56 1.81 2.93 2.31 3.35 3.06 1.67 3.05 2.85 geomean 3.69 3.46 2.48 3.36 2.02 2.70 2.54 2.59 2.44 3.28 2.65 3.61 2.86 3.26 3.67 4.44 cells < 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 all: 672 cells; <1.0x 1, <1.25x 39, <1.5x 90, <2.0x 236, >2.0x 436, >4.0x 192; 0 WRONG ALL OK - bench avx512: 672 cells; <1.0x 2, <1.25x 20, <1.5x 68, <2.0x 239, >2.0x 433, >4.0x 182; 0 WRONG | bench avx2: 672 cells; <1.0x 1, <1.25x 39, <1.5x 90, <2.0x 236, >2.0x 436, >4.0x 192; 0 WRONG - 132.0 s EXIT 0