Bars show Divan median times converted to ns/op. Lower is better. The final benchmark path segment is treated as the comparison legend.
| case | legend | median ns/op | relative | samples | iters |
|---|---|---|---|---|---|
| len_4096 / diff_first | string | 4.052000 | 1.000x | 100 | 51200 |
| len_4096 / diff_first | ours_string | 8.962000 | 2.212x | 100 | 25600 |
| len_4096 / diff_first | bit_str_unaligned | 10.480000 | 2.586x | 100 | 25600 |
| len_4096 / diff_last | ours_string | 20.150000 | 1.000x | 100 | 12800 |
| len_4096 / diff_last | bit_str_unaligned | 22.330000 | 1.108x | 100 | 12800 |
| len_4096 / diff_last | string | 71.470000 | 3.547x | 100 | 3200 |
| len_4096 / identical | ours_string | 19.360000 | 1.000x | 100 | 12800 |
| len_4096 / identical | bit_str_unaligned | 20.220000 | 1.044x | 100 | 12800 |
| len_4096 / identical | string | 80.710000 | 4.169x | 100 | 3200 |
| len_64 / diff_first | string | 5.536000 | 1.000x | 100 | 51200 |
| len_64 / diff_first | ours_string | 6.300000 | 1.138x | 100 | 51200 |
| len_64 / diff_first | bit_str_unaligned | 7.259000 | 1.311x | 100 | 51200 |
| len_64 / diff_last | string | 6.046000 | 1.000x | 100 | 51200 |
| len_64 / diff_last | ours_string | 6.222000 | 1.029x | 100 | 51200 |
| len_64 / diff_last | bit_str_unaligned | 7.278000 | 1.204x | 100 | 51200 |
| len_64 / identical | string | 4.716000 | 1.000x | 100 | 51200 |
| len_64 / identical | ours_string | 5.851000 | 1.241x | 100 | 51200 |
| len_64 / identical | bit_str_unaligned | 7.296000 | 1.547x | 100 | 51200 |
| len_65 / diff_last | ours_string | 7.708000 | 1.000x | 100 | 25600 |
| len_65 / diff_last | bit_str_unaligned | 10.790000 | 1.400x | 100 | 25600 |
| len_65 / identical | ours_string | 7.083000 | 1.000x | 100 | 51200 |
| len_65 / identical | bit_str_unaligned | 10.010000 | 1.413x | 100 | 25600 |
| len_65536 / diff_first | string | 4.032000 | 1.000x | 100 | 51200 |
| len_65536 / diff_first | bit_str_unaligned | 10.530000 | 2.612x | 100 | 12800 |
| len_65536 / diff_first | ours_string | 14.360000 | 3.562x | 100 | 12800 |
| len_65536 / diff_last | ours_string | 361.400000 | 1.000x | 100 | 800 |
| len_65536 / diff_last | bit_str_unaligned | 379.500000 | 1.050x | 100 | 800 |
| len_65536 / diff_last | string | 1491.000000 | 4.126x | 100 | 100 |
| len_65536 / identical | ours_string | 356.400000 | 1.000x | 100 | 800 |
| len_65536 / identical | bit_str_unaligned | 372.000000 | 1.044x | 100 | 800 |
| len_65536 / identical | string | 1472.000000 | 4.130x | 100 | 200 |
| case | legend | median ns/op | relative | samples | iters |
|---|---|---|---|---|---|
| len_65 / no | string | 42.380000 | 1.000x | 100 | 6400 |
| len_65 / no | ours_string_str | 131.700000 | 3.108x | 100 | 1600 |
| len_65 / no | ours_string_string | 209.600000 | 4.946x | 100 | 1600 |
| len_65 / yes | ours_string_str | 20.850000 | 1.000x | 100 | 12800 |
| len_65 / yes | ours_string_string | 21.240000 | 1.019x | 100 | 12800 |
| len_65 / yes | string | 40.650000 | 1.950x | 100 | 6400 |
| len_65536 / no | ours_string_str | 19610.000000 | 1.000x | 100 | 100 |
| len_65536 / no | ours_string_string | 20370.000000 | 1.039x | 100 | 100 |
| len_65536 / no | string | 26290.000000 | 1.341x | 100 | 100 |
| len_65536 / yes | ours_string_str | 33.750000 | 1.000x | 100 | 6400 |
| len_65536 / yes | ours_string_string | 35.000000 | 1.037x | 100 | 6400 |
| len_65536 / yes | string | 33660.000000 | 997.333x | 100 | 100 |
| case | legend | median ns/op | relative | samples | iters |
|---|---|---|---|---|---|
| len_4096 / all_zeros / leading | ours_string | 1.004000 | 1.000x | 100 | 204800 |
| len_4096 / all_zeros / leading | ours_str | 1.440000 | 1.434x | 100 | 102400 |
| len_4096 / all_zeros / trailing | ours_string | 1.313000 | 1.000x | 100 | 102400 |
| len_4096 / all_zeros / trailing | ours_str | 2.466000 | 1.878x | 100 | 51200 |
| len_4096 / alternating | ours_string | 14.200000 | 1.000x | 100 | 12800 |
| len_4096 / alternating | bitvec_simd | 22.730000 | 1.601x | 100 | 12800 |
| len_4096 / dense | bitvec_simd | 22.650000 | 1.000x | 100 | 12800 |
| len_4096 / dense | ours_string | 23.110000 | 1.020x | 100 | 12800 |
| len_4096 / sparse | ours_string | 14.200000 | 1.000x | 100 | 12800 |
| len_4096 / sparse | bitvec_simd | 22.800000 | 1.606x | 100 | 12800 |
| len_65 / all_zeros / leading | ours_string | 1.028000 | 1.000x | 100 | 204800 |
| len_65 / all_zeros / leading | ours_str | 1.434000 | 1.395x | 100 | 204800 |
| len_65 / all_zeros / trailing | ours_string | 1.743000 | 1.000x | 100 | 51200 |
| len_65 / all_zeros / trailing | ours_str | 2.153000 | 1.235x | 100 | 51200 |
| len_65 / alternating | bitvec_simd | 1.772000 | 1.000x | 100 | 102400 |
| len_65 / alternating | ours_string | 1.909000 | 1.077x | 100 | 102400 |
| len_65 / dense | bitvec_simd | 1.772000 | 1.000x | 100 | 102400 |
| len_65 / dense | ours_string | 1.918000 | 1.082x | 100 | 102400 |
| len_65 / dense / trailing | ours_string | 1.978000 | 1.000x | 100 | 51200 |
| len_65 / dense / trailing | ours_str | 2.583000 | 1.306x | 100 | 25600 |
| len_65 / sparse | bitvec_simd | 1.772000 | 1.000x | 100 | 102400 |
| len_65 / sparse | ours_string | 1.986000 | 1.121x | 100 | 102400 |
| len_65536 / alternating | ours_string | 206.200000 | 1.000x | 100 | 800 |
| len_65536 / alternating | bitvec_simd | 347.600000 | 1.686x | 100 | 800 |
| len_65536 / dense | ours_string | 206.200000 | 1.000x | 100 | 800 |
| len_65536 / dense | bitvec_simd | 347.600000 | 1.686x | 100 | 800 |
| len_65536 / sparse | ours_string | 206.200000 | 1.000x | 100 | 800 |
| len_65536 / sparse | bitvec_simd | 347.600000 | 1.686x | 100 | 800 |
| case | legend | median ns/op | relative | samples | iters |
|---|---|---|---|---|---|
| len_4096 / all_zeros / leading | ours_string | 7.044000 | 1.000x | 100 | 25600 |
| len_4096 / all_zeros / leading | ours_str | 8.415000 | 1.195x | 100 | 12800 |
| len_4096 / all_zeros / trailing | ours_string | 7.786000 | 1.000x | 100 | 25600 |
| len_4096 / all_zeros / trailing | ours_str | 9.900000 | 1.272x | 100 | 12800 |
| len_4096 / all_zeros / trailing_unaligned_3 | ours_str | 13.840000 | 1.000x | 100 | 12800 |
| len_4096 / all_zeros / trailing_unaligned_63 | ours_str | 14.360000 | 1.000x | 100 | 12800 |
| len_4096 / dense / trailing | ours_string | 1.234000 | 1.000x | 100 | 102400 |
| len_4096 / dense / trailing | ours_str | 2.663000 | 2.158x | 100 | 51200 |
| len_65 / all_zeros / leading | ours_string | 1.274000 | 1.000x | 100 | 102400 |
| len_65 / all_zeros / leading | ours_str | 4.189000 | 3.288x | 100 | 12800 |
| len_65 / all_zeros / trailing | ours_string | 1.566000 | 1.000x | 100 | 102400 |
| len_65 / all_zeros / trailing | ours_str | 2.759000 | 1.762x | 100 | 51200 |
| len_65 / alternating / trailing | ours_string | 1.782000 | 1.000x | 100 | 51200 |
| len_65 / alternating / trailing | ours_str | 3.013000 | 1.691x | 100 | 25600 |
| len_65 / dense / leading | ours_string | 0.926000 | 1.000x | 100 | 204800 |
| len_65 / dense / leading | ours_str | 1.391000 | 1.502x | 100 | 102400 |
| len_65 / dense / trailing | ours_string | 1.663000 | 1.000x | 100 | 51200 |
| len_65 / dense / trailing | ours_str | 2.778000 | 1.670x | 100 | 25600 |
| len_65536 / all_zeros / leading | ours_string | 59.770000 | 1.000x | 100 | 1600 |
| len_65536 / all_zeros / leading | ours_str | 59.900000 | 1.002x | 100 | 6400 |
| len_65536 / all_zeros / trailing | ours_string | 81.020000 | 1.000x | 100 | 1600 |
| len_65536 / all_zeros / trailing | ours_str | 82.900000 | 1.023x | 100 | 3200 |
| len_65536 / dense / trailing | ours_string | 1.219000 | 1.000x | 100 | 204800 |
| len_65536 / dense / trailing | ours_str | 2.603000 | 2.135x | 100 | 102400 |
| case | legend | median ns/op | relative | samples | iters |
|---|---|---|---|---|---|
| len_65 / hit | string | 3.160000 | 1.000x | 100 | 102400 |
| len_65 / hit | ours_string_str | 5.028000 | 1.591x | 100 | 51200 |
| len_65 / hit | ours_string_string | 5.067000 | 1.603x | 100 | 51200 |
| len_65 / hit | ours_str_string | 5.321000 | 1.684x | 100 | 51200 |
| len_65 / hit | ours_str_str | 5.595000 | 1.771x | 100 | 51200 |
| len_65 / miss | string | 3.239000 | 1.000x | 100 | 102400 |
| len_65 / miss | ours_string_str | 5.048000 | 1.559x | 100 | 51200 |
| len_65 / miss | ours_string_string | 5.067000 | 1.564x | 100 | 51200 |
| len_65 / miss | ours_str_string | 5.263000 | 1.625x | 100 | 51200 |
| len_65 / miss | ours_str_str | 5.616000 | 1.734x | 100 | 51200 |
| len_65536 / hit | string | 3.816000 | 1.000x | 100 | 51200 |
| len_65536 / hit | ours_string_str | 5.323000 | 1.395x | 100 | 51200 |
| len_65536 / hit | ours_string_string | 5.341000 | 1.400x | 100 | 51200 |
| len_65536 / hit | ours_str_string | 5.421000 | 1.421x | 100 | 51200 |
| len_65536 / hit | ours_str_str | 5.480000 | 1.436x | 100 | 51200 |
| len_65536 / miss | string | 4.577000 | 1.000x | 100 | 51200 |
| len_65536 / miss | ours_string_string | 5.067000 | 1.107x | 100 | 51200 |
| len_65536 / miss | ours_string_str | 5.185000 | 1.133x | 100 | 51200 |
| len_65536 / miss | ours_str_str | 5.380000 | 1.175x | 100 | 51200 |
| len_65536 / miss | ours_str_string | 5.400000 | 1.180x | 100 | 51200 |
| case | legend | median ns/op | relative | samples | iters |
|---|---|---|---|---|---|
| len_65 / end | ours_string_string | 100.700000 | 1.000x | 100 | 3200 |
| len_65 / end | ours_string_str | 104.000000 | 1.033x | 100 | 3200 |
| len_65 / end | string | 215.900000 | 2.144x | 100 | 1600 |
| len_65 / front | ours_string_str | 16.630000 | 1.000x | 100 | 12800 |
| len_65 / front | ours_string_string | 17.180000 | 1.033x | 100 | 12800 |
| len_65 / front | string | 34.700000 | 2.087x | 100 | 6400 |
| len_65 / middle | ours_string_string | 38.220000 | 1.000x | 100 | 6400 |
| len_65 / middle | ours_string_str | 38.290000 | 1.002x | 100 | 6400 |
| len_65 / middle | string | 83.520000 | 2.185x | 100 | 3200 |
| len_65 / miss | string | 38.610000 | 1.000x | 100 | 6400 |
| len_65 / miss | ours_string_str | 74.150000 | 1.920x | 100 | 3200 |
| len_65 / miss | ours_string_string | 100.500000 | 2.603x | 100 | 3200 |
| len_65536 / end | ours_string_string | 20990.000000 | 1.000x | 100 | 100 |
| len_65536 / end | ours_string_str | 24180.000000 | 1.152x | 100 | 100 |
| len_65536 / end | string | 81440.000000 | 3.880x | 100 | 100 |
| len_65536 / front | ours_string_str | 34.540000 | 1.000x | 100 | 6400 |
| len_65536 / front | ours_string_string | 49.720000 | 1.439x | 100 | 3200 |
| len_65536 / front | string | 33580.000000 | 972.206x | 100 | 100 |
| len_65536 / middle | ours_string_string | 10530.000000 | 1.000x | 100 | 100 |
| len_65536 / middle | ours_string_str | 12290.000000 | 1.167x | 100 | 100 |
| len_65536 / middle | string | 59280.000000 | 5.630x | 100 | 100 |
| len_65536 / miss | ours_string_string | 20950.000000 | 1.000x | 100 | 100 |
| len_65536 / miss | ours_string_str | 24540.000000 | 1.171x | 100 | 100 |
| len_65536 / miss | string | 26370.000000 | 1.259x | 100 | 100 |
| case | legend | median ns/op | relative | samples | iters |
|---|---|---|---|---|---|
| len_4096 | ours_string | 168.600000 | 1.000x | 100 | 800 |
| len_4096 | bitvec_simd | 5563.000000 | 32.995x | 100 | 100 |
| len_65 | ours_string | 29.990000 | 1.000x | 100 | 3200 |
| len_65 | bitvec_simd | 96.990000 | 3.234x | 100 | 3200 |
| len_65536 | ours_string | 2533.000000 | 1.000x | 100 | 100 |
| len_65536 | bitvec_simd | 189700.000000 | 74.891x | 100 | 100 |
| case | legend | median ns/op | relative | samples | iters |
|---|---|---|---|---|---|
| len_4096 | ours_string | 102.900000 | 1.000x | 100 | 1600 |
| len_65 | ours_string | 28.290000 | 1.000x | 100 | 6400 |
| len_65536 | ours_string | 1356.000000 | 1.000x | 100 | 200 |
| case | legend | median ns/op | relative | samples | iters |
|---|---|---|---|---|---|
| len_4096 / alternating | ours_string | 193.000000 | 1.000x | 100 | 1600 |
| len_4096 / alternating | ours_str | 525.400000 | 2.722x | 100 | 400 |
| len_4096 / alternating | string | 1406.000000 | 7.285x | 100 | 200 |
| len_4096 / alternating | str | 1411.000000 | 7.311x | 100 | 200 |
| len_4096 / dense | ours_string | 192.400000 | 1.000x | 100 | 1600 |
| len_4096 / dense | ours_str | 508.500000 | 2.643x | 100 | 800 |
| len_4096 / dense | str | 1406.000000 | 7.308x | 100 | 200 |
| len_4096 / dense | string | 1421.000000 | 7.386x | 100 | 200 |
| len_4096 / sparse | ours_string | 192.400000 | 1.000x | 100 | 1600 |
| len_4096 / sparse | ours_str | 318.900000 | 1.657x | 100 | 800 |
| len_4096 / sparse | string | 1384.000000 | 7.193x | 100 | 200 |
| len_4096 / sparse | str | 1411.000000 | 7.334x | 100 | 200 |
| len_64 / alternating | ours_string | 15.140000 | 1.000x | 100 | 25600 |
| len_64 / alternating | ours_str | 17.090000 | 1.129x | 100 | 12800 |
| len_64 / alternating | string | 25.860000 | 1.708x | 100 | 12800 |
| len_64 / alternating | str | 29.460000 | 1.946x | 100 | 12800 |
| len_64 / dense | ours_string | 15.140000 | 1.000x | 100 | 25600 |
| len_64 / dense | ours_str | 17.100000 | 1.129x | 100 | 12800 |
| len_64 / dense | string | 25.860000 | 1.708x | 100 | 12800 |
| len_64 / dense | str | 29.460000 | 1.946x | 100 | 12800 |
| len_64 / sparse | ours_string | 15.290000 | 1.000x | 100 | 12800 |
| len_64 / sparse | ours_str | 17.100000 | 1.118x | 100 | 12800 |
| len_64 / sparse | string | 25.860000 | 1.691x | 100 | 12800 |
| len_64 / sparse | str | 29.460000 | 1.927x | 100 | 12800 |
| len_65 / dense | ours_str | 21.550000 | 1.000x | 100 | 12800 |
| len_65 / dense | ours_str_unaligned | 22.890000 | 1.062x | 100 | 12800 |
| len_65 / dense | ours_string | 34.900000 | 1.619x | 100 | 12800 |
| len_65536 / alternating | ours_str | 3985.000000 | 1.000x | 100 | 100 |
| len_65536 / alternating | ours_string | 5317.000000 | 1.334x | 100 | 100 |
| len_65536 / alternating | str | 17180.000000 | 4.311x | 100 | 100 |
| len_65536 / alternating | string | 17180.000000 | 4.311x | 100 | 100 |
| len_65536 / dense | ours_string | 2904.000000 | 1.000x | 100 | 100 |
| len_65536 / dense | ours_str | 3975.000000 | 1.369x | 100 | 100 |
| len_65536 / dense | str | 17180.000000 | 5.916x | 100 | 100 |
| len_65536 / dense | string | 19290.000000 | 6.643x | 100 | 100 |
| len_65536 / sparse | ours_string | 5447.000000 | 1.000x | 100 | 100 |
| len_65536 / sparse | ours_str | 8317.000000 | 1.527x | 100 | 100 |
| len_65536 / sparse | string | 17180.000000 | 3.154x | 100 | 100 |
| len_65536 / sparse | str | 17190.000000 | 3.156x | 100 | 100 |
| case | legend | median ns/op | relative | samples | iters |
|---|---|---|---|---|---|
| len_65 | ours_string | 29.540000 | 1.000x | 100 | 6400 |
| len_65 | string | 46.610000 | 1.578x | 100 | 3200 |
| len_65536 | ours_string | 1592.000000 | 1.000x | 100 | 100 |
| len_65536 | string | 1942.000000 | 1.220x | 100 | 100 |
| case | legend | median ns/op | relative | samples | iters |
|---|---|---|---|---|---|
| len_4096 / all_zeros | ours_string | 7.278000 | 1.000x | 100 | 25600 |
| len_4096 / all_zeros | bitvec_simd | 7.982000 | 1.097x | 100 | 25600 |
| len_4096 / all_zeros | ours_str | 8.610000 | 1.183x | 100 | 25600 |
| len_4096 / dense | ours_string | 0.930000 | 1.000x | 100 | 204800 |
| len_4096 / dense | ours_str | 1.400000 | 1.505x | 100 | 204800 |
| len_4096 / dense | bitvec_simd | 2.134000 | 2.295x | 100 | 51200 |
| len_65 / all_zeros | bitvec_simd | 1.053000 | 1.000x | 100 | 204800 |
| len_65 / all_zeros | ours_string | 1.307000 | 1.241x | 100 | 204800 |
| len_65 / all_zeros | ours_str | 3.991000 | 3.790x | 100 | 51200 |
| len_65 / alternating | ours_string | 0.926000 | 1.000x | 100 | 204800 |
| len_65 / alternating | ours_str | 1.420000 | 1.533x | 100 | 204800 |
| len_65 / alternating | bitvec_simd | 2.546000 | 2.749x | 100 | 51200 |
| len_65 / dense | ours_string | 0.931000 | 1.000x | 100 | 204800 |
| len_65 / dense | ours_str | 1.400000 | 1.504x | 100 | 204800 |
| len_65 / dense | bitvec_simd | 2.466000 | 2.649x | 100 | 51200 |
| len_65536 / all_zeros | ours_string | 59.410000 | 1.000x | 100 | 3200 |
| len_65536 / all_zeros | ours_str | 60.360000 | 1.016x | 100 | 3200 |
| len_65536 / all_zeros | bitvec_simd | 107.900000 | 1.816x | 100 | 1600 |
| unaligned_3 / len_4096 / all_zeros | ours_str | 11.930000 | 1.000x | 100 | 12800 |
| unaligned_31 / len_4096 / all_zeros | ours_str | 11.930000 | 1.000x | 100 | 12800 |
| unaligned_63 / len_4096 / all_zeros | ours_str | 11.780000 | 1.000x | 100 | 12800 |
| case | legend | median ns/op | relative | samples | iters |
|---|---|---|---|---|---|
| len_65 / no / aligned | string | 3.151000 | 1.000x | 100 | 51200 |
| len_65 / no / aligned | ours_string_str | 3.336000 | 1.059x | 100 | 102400 |
| len_65 / no / unaligned | string | 3.493000 | 1.000x | 100 | 102400 |
| len_65 / no / unaligned | ours_string_str | 3.835000 | 1.098x | 100 | 51200 |
| len_65 / yes / aligned | string | 3.151000 | 1.000x | 100 | 51200 |
| len_65 / yes / aligned | ours_string_str | 3.366000 | 1.068x | 100 | 51200 |
| len_65 / yes / unaligned | string | 3.151000 | 1.000x | 100 | 51200 |
| len_65 / yes / unaligned | ours_string_str | 3.865000 | 1.227x | 100 | 51200 |
| len_65536 / no / aligned | string | 3.141000 | 1.000x | 100 | 102400 |
| len_65536 / no / aligned | ours_string_str | 3.503000 | 1.115x | 100 | 102400 |
| len_65536 / no / unaligned | string | 3.142000 | 1.000x | 100 | 102400 |
| len_65536 / no / unaligned | ours_string_str | 4.696000 | 1.495x | 100 | 51200 |
| len_65536 / yes / aligned | string | 4.011000 | 1.000x | 100 | 51200 |
| len_65536 / yes / aligned | ours_string_str | 4.462000 | 1.112x | 100 | 51200 |
| len_65536 / yes / unaligned | string | 4.169000 | 1.000x | 100 | 51200 |
| len_65536 / yes / unaligned | ours_string_str | 6.437000 | 1.544x | 100 | 51200 |
| case | legend | median ns/op | relative | samples | iters |
|---|---|---|---|---|---|
| len_4096 / alternating | ours_string | 22.020000 | 1.000x | 100 | 6400 |
| len_4096 / alternating | bitvec_simd | 71.940000 | 3.267x | 100 | 3200 |
| len_4096 / dense | ours_string | 21.860000 | 1.000x | 100 | 6400 |
| len_4096 / dense | bitvec_simd | 65.360000 | 2.990x | 100 | 1600 |
| len_4096 / sparse | ours_string | 22.020000 | 1.000x | 100 | 6400 |
| len_4096 / sparse | bitvec_simd | 70.380000 | 3.196x | 100 | 3200 |
| len_65 / alternating | ours_string | 18.580000 | 1.000x | 100 | 6400 |
| len_65 / alternating | bitvec_simd | 37.210000 | 2.003x | 100 | 6400 |
| len_65 / dense | ours_string | 18.900000 | 1.000x | 100 | 6400 |
| len_65 / dense | bitvec_simd | 37.210000 | 1.969x | 100 | 6400 |
| len_65 / sparse | ours_string | 18.900000 | 1.000x | 100 | 6400 |
| len_65 / sparse | bitvec_simd | 37.350000 | 1.976x | 100 | 6400 |
| len_65536 / alternating | ours_string | 167.400000 | 1.000x | 100 | 800 |
| len_65536 / alternating | bitvec_simd | 242.400000 | 1.448x | 100 | 400 |
| len_65536 / dense | ours_string | 166.700000 | 1.000x | 100 | 800 |
| len_65536 / dense | bitvec_simd | 238.600000 | 1.431x | 100 | 800 |
| len_65536 / sparse | ours_string | 152.400000 | 1.000x | 100 | 1600 |
| len_65536 / sparse | bitvec_simd | 235.000000 | 1.542x | 100 | 1600 |
| case | legend | median ns/op | relative | samples | iters |
|---|---|---|---|---|---|
| len_65 | string | 23.110000 | 1.000x | 100 | 6400 |
| len_65 | ours_string | 26.100000 | 1.129x | 100 | 6400 |
| len_65536 | ours_string | 127.300000 | 1.000x | 100 | 1600 |
| len_65536 | string | 1527.000000 | 11.995x | 100 | 200 |
| case | legend | median ns/op | relative | samples | iters |
|---|---|---|---|---|---|
| len_65 | ours_string | 26.090000 | 1.000x | 100 | 12800 |
| len_65 | string | 43.770000 | 1.678x | 100 | 3200 |
| len_65536 | ours_string | 286.200000 | 1.000x | 100 | 800 |
| len_65536 | string | 1571.000000 | 5.489x | 100 | 100 |
| case | legend | median ns/op | relative | samples | iters |
|---|---|---|---|---|---|
| len_65 | ours_string | 33.130000 | 1.000x | 100 | 6400 |
| len_65 | string | 46.900000 | 1.416x | 100 | 3200 |
| len_65536 | ours_string | 432.600000 | 1.000x | 100 | 400 |
| len_65536 | string | 1761.000000 | 4.071x | 100 | 100 |
| case | legend | median ns/op | relative | samples | iters |
|---|---|---|---|---|---|
| len_65 | string | 25.470000 | 1.000x | 100 | 6400 |
| len_65 | ours_string | 37.830000 | 1.485x | 100 | 3200 |
| len_65536 | ours_string | 1231.000000 | 1.000x | 100 | 200 |
| len_65536 | string | 2072.000000 | 1.683x | 100 | 100 |
| case | legend | median ns/op | relative | samples | iters |
|---|---|---|---|---|---|
| len_65 / longer | ours_string | 44.400000 | 1.000x | 100 | 3200 |
| len_65 / longer | string | 80.710000 | 1.818x | 100 | 1600 |
| len_65 / same_len | string | 35.800000 | 1.000x | 100 | 6400 |
| len_65 / same_len | ours_string | 55.500000 | 1.550x | 100 | 6400 |
| len_65 / shorter | string | 33.910000 | 1.000x | 100 | 6400 |
| len_65 / shorter | ours_string | 40.960000 | 1.208x | 100 | 3200 |
| len_65536 / longer | ours_string | 1797.000000 | 1.000x | 100 | 100 |
| len_65536 / longer | string | 19200.000000 | 10.684x | 100 | 100 |
| len_65536 / same_len | ours_string | 1932.000000 | 1.000x | 100 | 100 |
| len_65536 / same_len | string | 10120.000000 | 5.238x | 100 | 100 |
| len_65536 / shorter | ours_string | 1521.000000 | 1.000x | 100 | 100 |
| len_65536 / shorter | string | 6304.000000 | 4.145x | 100 | 100 |
| case | legend | median ns/op | relative | samples | iters |
|---|---|---|---|---|---|
| len_65 / end | ours_string_string | 10.800000 | 1.000x | 100 | 25600 |
| len_65 / end | ours_string_str | 10.870000 | 1.006x | 100 | 25600 |
| len_65 / end | string | 48.470000 | 4.488x | 100 | 6400 |
| len_65 / front | ours_string_str | 70.400000 | 1.000x | 100 | 3200 |
| len_65 / front | ours_string_string | 72.580000 | 1.031x | 100 | 3200 |
| len_65 / front | string | 107.600000 | 1.528x | 100 | 3200 |
| len_65 / middle | ours_string_str | 42.050000 | 1.000x | 100 | 6400 |
| len_65 / middle | ours_string_string | 43.540000 | 1.035x | 100 | 6400 |
| len_65 / middle | string | 109.600000 | 2.606x | 100 | 3200 |
| len_65 / miss | string | 34.390000 | 1.000x | 100 | 6400 |
| len_65 / miss | ours_string_str | 70.080000 | 2.038x | 100 | 3200 |
| len_65 / miss | ours_string_string | 71.650000 | 2.083x | 100 | 3200 |
| len_65536 / end | ours_string_str | 35.320000 | 1.000x | 100 | 6400 |
| len_65536 / end | ours_string_string | 57.860000 | 1.638x | 100 | 3200 |
| len_65536 / end | string | 33050.000000 | 935.730x | 100 | 100 |
| len_65536 / front | ours_string_str | 42520.000000 | 1.000x | 100 | 100 |
| len_65536 / front | ours_string_string | 42520.000000 | 1.000x | 100 | 100 |
| len_65536 / front | string | 154600.000000 | 3.636x | 100 | 100 |
| len_65536 / middle | ours_string_str | 21300.000000 | 1.000x | 100 | 100 |
| len_65536 / middle | ours_string_string | 21300.000000 | 1.000x | 100 | 100 |
| len_65536 / middle | string | 94190.000000 | 4.422x | 100 | 100 |
| len_65536 / miss | string | 26380.000000 | 1.000x | 100 | 100 |
| len_65536 / miss | ours_string_str | 42490.000000 | 1.611x | 100 | 100 |
| len_65536 / miss | ours_string_string | 42490.000000 | 1.611x | 100 | 100 |
| case | legend | median ns/op | relative | samples | iters |
|---|---|---|---|---|---|
| len_4096 / amount_1 | ours_string | 60.380000 | 1.000x | 100 | 6400 |
| len_4096 / amount_65 | ours_string | 59.580000 | 1.000x | 100 | 6400 |
| len_65 / amount_1 | ours_string | 43.310000 | 1.000x | 100 | 6400 |
| len_65536 / amount_1 | ours_string | 296.300000 | 1.000x | 100 | 1600 |
| len_65536 / amount_65 | ours_string | 293.800000 | 1.000x | 100 | 1600 |
| case | legend | median ns/op | relative | samples | iters |
|---|---|---|---|---|---|
| len_4096_by_1 | assign | 43.300000 | 1.000x | 100 | 6400 |
| len_4096_by_1 | owned | 51.930000 | 1.199x | 100 | 3200 |
| len_4096_by_64 | assign | 39.710000 | 1.000x | 100 | 3200 |
| len_4096_by_64 | owned | 50.680000 | 1.276x | 100 | 3200 |
| len_65536_by_1 | assign | 330.100000 | 1.000x | 100 | 400 |
| len_65536_by_1 | owned | 350.100000 | 1.061x | 100 | 400 |
| len_65536_by_17 | assign | 330.100000 | 1.000x | 100 | 400 |
| len_65536_by_17 | owned | 347.600000 | 1.053x | 100 | 400 |
| case | legend | median ns/op | relative | samples | iters |
|---|---|---|---|---|---|
| len_65 | string | 20.290000 | 1.000x | 100 | 6400 |
| len_65 | ours_string | 21.870000 | 1.078x | 100 | 12800 |
| len_65536 | ours_string | 49.250000 | 1.000x | 100 | 6400 |
| len_65536 | string | 145.100000 | 2.946x | 100 | 200 |
| case | legend | median ns/op | relative | samples | iters |
|---|---|---|---|---|---|
| len_65 / hit | string | 2.799000 | 1.000x | 100 | 102400 |
| len_65 / hit | ours_string_str | 4.677000 | 1.671x | 100 | 51200 |
| len_65 / hit | ours_string_string | 4.696000 | 1.678x | 100 | 51200 |
| len_65 / hit | ours_str_string | 5.146000 | 1.839x | 100 | 51200 |
| len_65 / hit | ours_str_str | 5.204000 | 1.859x | 100 | 51200 |
| len_65 / miss | string | 3.161000 | 1.000x | 100 | 102400 |
| len_65 / miss | ours_string_str | 4.677000 | 1.480x | 100 | 51200 |
| len_65 / miss | ours_string_string | 4.735000 | 1.498x | 100 | 51200 |
| len_65 / miss | ours_str_string | 5.126000 | 1.622x | 100 | 51200 |
| len_65 / miss | ours_str_str | 5.245000 | 1.659x | 100 | 51200 |
| len_65536 / hit | string | 3.817000 | 1.000x | 100 | 51200 |
| len_65536 / hit | ours_string_string | 5.204000 | 1.363x | 100 | 51200 |
| len_65536 / hit | ours_string_str | 5.341000 | 1.399x | 100 | 51200 |
| len_65536 / hit | ours_str_string | 5.538000 | 1.451x | 100 | 51200 |
| len_65536 / hit | ours_str_str | 5.636000 | 1.477x | 100 | 51200 |
| len_65536 / miss | string | 2.799000 | 1.000x | 100 | 102400 |
| len_65536 / miss | ours_string_str | 4.735000 | 1.692x | 100 | 51200 |
| len_65536 / miss | ours_string_string | 4.755000 | 1.699x | 100 | 51200 |
| len_65536 / miss | ours_str_string | 5.107000 | 1.825x | 100 | 51200 |
| len_65536 / miss | ours_str_str | 5.185000 | 1.852x | 100 | 51200 |
| case | legend | median ns/op | relative | samples | iters |
|---|---|---|---|---|---|
| len_65 / hit | ours_string | 20.930000 | 1.000x | 100 | 12800 |
| len_65 / hit | string | 37.360000 | 1.785x | 100 | 6400 |
| len_65 / miss | ours_string | 3.857000 | 1.000x | 100 | 51200 |
| len_65 / miss | string | 4.560000 | 1.182x | 100 | 51200 |
| len_65536 / hit | ours_string | 245.000000 | 1.000x | 100 | 800 |
| len_65536 / hit | string | 1797.000000 | 7.335x | 100 | 100 |
| len_65536 / miss | string | 3.876000 | 1.000x | 100 | 51200 |
| len_65536 / miss | ours_string | 5.673000 | 1.464x | 100 | 25600 |
| case | legend | median ns/op | relative | samples | iters |
|---|---|---|---|---|---|
| 128_to_65 | string | 22.800000 | 1.000x | 100 | 6400 |
| 128_to_65 | ours_string | 26.570000 | 1.165x | 100 | 6400 |
| 65536_to_128 | ours_string | 142.900000 | 1.000x | 100 | 1600 |
| 65536_to_128 | string | 1552.000000 | 10.861x | 100 | 100 |
| 65_to_64 | string | 23.910000 | 1.000x | 100 | 6400 |
| 65_to_64 | ours_string | 25.930000 | 1.084x | 100 | 12800 |
| case | legend | median ns/op | relative | samples | iters |
|---|---|---|---|---|---|
| len_4096 / alternating | ours_string | 25.940000 | 1.000x | 100 | 6400 |
| len_4096 / alternating | bitvec_simd | 63.520000 | 2.449x | 100 | 1600 |
| len_4096 / dense | ours_string | 25.790000 | 1.000x | 100 | 6400 |
| len_4096 / dense | bitvec_simd | 73.360000 | 2.845x | 100 | 3200 |
| len_4096 / sparse | ours_string | 26.240000 | 1.000x | 100 | 6400 |
| len_4096 / sparse | bitvec_simd | 74.440000 | 2.837x | 100 | 3200 |
| len_65 / alternating | ours_string | 18.110000 | 1.000x | 100 | 6400 |
| len_65 / alternating | bitvec_simd | 22.180000 | 1.225x | 100 | 12800 |
| len_65 / dense | ours_string | 18.270000 | 1.000x | 100 | 6400 |
| len_65 / dense | bitvec_simd | 22.180000 | 1.214x | 100 | 12800 |
| len_65 / sparse | ours_string | 18.110000 | 1.000x | 100 | 6400 |
| len_65 / sparse | bitvec_simd | 22.350000 | 1.234x | 100 | 6400 |
| len_65536 / alternating | bitvec_simd | 220.100000 | 1.000x | 100 | 200 |
| len_65536 / alternating | ours_string | 232.500000 | 1.056x | 100 | 800 |
| len_65536 / dense | bitvec_simd | 201.200000 | 1.000x | 100 | 1600 |
| len_65536 / dense | ours_string | 232.500000 | 1.156x | 100 | 800 |
| len_65536 / sparse | bitvec_simd | 198.000000 | 1.000x | 100 | 1600 |
| len_65536 / sparse | ours_string | 234.300000 | 1.183x | 100 | 1600 |
| case | legend | median ns/op | relative | samples | iters |
|---|---|---|---|---|---|
| len_4096 | ours_string | 26.860000 | 1.000x | 100 | 3200 |
| len_4096 | bitvec_simd | 61.020000 | 2.272x | 100 | 1600 |
| len_65 | ours_string | 22.960000 | 1.000x | 100 | 6400 |
| len_65 | bitvec_simd | 25.700000 | 1.119x | 100 | 12800 |
| len_65536 | ours_string | 116.600000 | 1.000x | 100 | 1600 |
| len_65536 | bitvec_simd | 163.600000 | 1.403x | 100 | 800 |