Divan Benchmark Overview

Bars show Divan median times converted to ns/op. Lower is better. The final benchmark path segment is treated as the comparison legend.

count_ones

Median table
caselegendmedian ns/oprelativesamplesiters
len_4096 / alternatingbit_string15.5800001.000x10012800
len_4096 / alternatingbitvec_simd21.6000001.386x10012800
len_4096 / densebit_string15.5800001.000x10012800
len_4096 / densebitvec_simd21.5200001.381x10012800
len_4096 / sparsebit_string15.6500001.000x10012800
len_4096 / sparsebitvec_simd21.5300001.376x10012800
len_65 / alternatingbit_string1.6960001.000x100102400
len_65 / alternatingbitvec_simd1.8920001.116x100102400
len_65 / densebit_string1.7060001.000x100102400
len_65 / densebitvec_simd1.8920001.109x100102400
len_65 / sparsebit_string1.7060001.000x100102400
len_65 / sparsebitvec_simd1.9010001.114x100102400
len_65536 / alternatingbit_string187.2000001.000x1001600
len_65536 / alternatingbitvec_simd326.5000001.744x100800
len_65536 / densebit_string186.9000001.000x1001600
len_65536 / densebitvec_simd326.5000001.747x100800
len_65536 / sparsebit_string186.9000001.000x1001600
len_65536 / sparsebitvec_simd325.3000001.741x100800

ends_with

Median table
caselegendmedian ns/oprelativesamplesiters
len_65 / hitstring3.0950001.000x100102400
len_65 / hitbit_string10.4900003.389x10025600
len_65 / missstring3.1040001.000x100102400
len_65 / missbit_string3.1140001.003x100102400
len_65536 / hitstring109.5000001.000x1003200
len_65536 / hitbit_string8365.00000076.393x100100
len_65536 / missstring3.0950001.000x100102400
len_65536 / missbit_string3.1050001.003x100102400

find

Median table
caselegendmedian ns/oprelativesamplesiters
len_65 / endbit_string81.7200001.000x1003200
len_65 / endstring102.0000001.248x1003200
len_65 / frontbit_string11.5100001.000x10025600
len_65 / frontstring31.7800002.761x1006400
len_65 / middlebit_string46.3400001.000x1006400
len_65 / middlestring66.3700001.432x1003200
len_65 / missstring33.0400001.000x1006400
len_65 / missbit_string74.8400002.265x1003200
len_65536 / endstring68040.0000001.000x100100
len_65536 / endbit_string79960.0000001.175x100100
len_65536 / frontbit_string8876.0000001.000x100100
len_65536 / frontstring28850.0000003.250x100100
len_65536 / middlebit_string44770.0000001.000x100100
len_65536 / middlestring49350.0000001.102x100100
len_65536 / missstring15210.0000001.000x100100
len_65536 / missbit_string71560.0000004.705x100100

from_bool_iter

Median table
caselegendmedian ns/oprelativesamplesiters
len_4096bit_string138.0000001.000x1001600
len_4096bitvec_simd4998.00000036.217x100100
len_65bit_string40.2300001.000x1006400
len_65bitvec_simd72.0000001.790x1003200
len_65536bit_string2284.0000001.000x100100
len_65536bitvec_simd246200.000000107.793x100100

from_str

Median table
caselegendmedian ns/oprelativesamplesiters
len_4096bit_string93.2800001.000x1001600
len_65bit_string23.7900001.000x1006400
len_65536bit_string1171.0000001.000x100200

insert_middle

Median table
caselegendmedian ns/oprelativesamplesiters
len_65bit_string42.7300001.000x1006400
len_65string44.6200001.044x1006400
len_65536bit_string2734.0000001.000x100100
len_65536string22420.0000008.200x100100

not

Median table
caselegendmedian ns/oprelativesamplesiters
len_4096 / alternatingbit_string21.9200001.000x1006400
len_4096 / alternatingbitvec_simd67.6200003.085x1003200
len_4096 / densebit_string21.0500001.000x10012800
len_4096 / densebitvec_simd72.6200003.450x1003200
len_4096 / sparsebit_string20.9700001.000x10012800
len_4096 / sparsebitvec_simd64.8100003.091x1003200
len_65 / alternatingbit_string18.3100001.000x10012800
len_65 / alternatingbitvec_simd32.7200001.787x1006400
len_65 / densebit_string17.6100001.000x10012800
len_65 / densebitvec_simd31.9400001.814x1006400
len_65 / sparsebit_string17.6100001.000x10012800
len_65 / sparsebitvec_simd31.9400001.814x1006400
len_65536 / alternatingbit_string150.2000001.000x1001600
len_65536 / alternatingbitvec_simd210.6000001.402x1001600
len_65536 / densebit_string150.0000001.000x1001600
len_65536 / densebitvec_simd210.7000001.405x1001600
len_65536 / sparsebit_string149.3000001.000x1001600
len_65536 / sparsebitvec_simd210.6000001.411x1001600

push

Median table
caselegendmedian ns/oprelativesamplesiters
len_65bit_string21.9900001.000x1006400
len_65string51.3100002.333x1001600
len_65536bit_string450.1000001.000x100100
len_65536string21420.00000047.589x100100

push_bit_string

Median table
caselegendmedian ns/oprelativesamplesiters
len_65bit_string42.2600001.000x1006400
len_65string47.8900001.133x1003200
len_65536bit_string2519.0000001.000x100100
len_65536string22260.0000008.837x100100

remove_middle

Median table
caselegendmedian ns/oprelativesamplesiters
len_65string26.2900001.000x1006400
len_65bit_string38.9800001.483x1006400
len_65536bit_string2524.0000001.000x100100
len_65536string23230.0000009.204x100100

replace_interval

Median table
caselegendmedian ns/oprelativesamplesiters
len_65 / longerbit_string47.7500001.000x1006400
len_65 / longerstring78.2800001.639x1003200
len_65 / same_lenstring37.6500001.000x1006400
len_65 / same_lenbit_string48.2100001.280x1006400
len_65 / shorterstring36.0000001.000x1006400
len_65 / shorterbit_string46.6500001.296x1006400
len_65536 / longerbit_string3165.0000001.000x100100
len_65536 / longerstring28830.0000009.109x100100
len_65536 / same_lenbit_string3325.0000001.000x100100
len_65536 / same_lenstring14900.0000004.481x100100
len_65536 / shorterbit_string2704.0000001.000x100100
len_65536 / shorterstring29840.00000011.036x100100

shl

Median table
caselegendmedian ns/oprelativesamplesiters
len_4096 / amount_1bit_string32.3200001.000x1006400
len_4096 / amount_65bit_string31.6200001.000x1006400
len_65 / amount_1bit_string22.0800001.000x1006400
len_65536 / amount_1bit_string214.5000001.000x1001600
len_65536 / amount_65bit_string226.3000001.000x100400

slice

Median table
caselegendmedian ns/oprelativesamplesiters
len_65string21.8300001.000x10012800
len_65bit_string22.5400001.033x1006400
len_65536string150.1000001.000x100200
len_65536bit_string349.0000002.325x100800

strip_prefix

Median table
caselegendmedian ns/oprelativesamplesiters
len_65 / hitstring22.3000001.000x10012800
len_65 / hitbit_string30.8300001.383x1006400
len_65 / missstring4.0540001.000x10051200
len_65 / missbit_string7.1650001.767x10051200
len_65536 / hitstring1481.0000001.000x100100
len_65536 / hitbit_string7022.0000004.741x100100
len_65536 / missstring3.4960001.000x100102400
len_65536 / missbit_string7.1650002.049x10051200

xor

Median table
caselegendmedian ns/oprelativesamplesiters
len_4096 / alternatingbit_string23.4800001.000x10012800
len_4096 / alternatingbitvec_simd80.1500003.414x1003200
len_4096 / densebit_string23.0100001.000x10012800
len_4096 / densebitvec_simd79.8400003.470x1003200
len_4096 / sparsebit_string23.0100001.000x1006400
len_4096 / sparsebitvec_simd74.8700003.254x1001600
len_65 / alternatingbit_string17.6900001.000x10012800
len_65 / alternatingbitvec_simd19.7900001.119x10012800
len_65 / densebit_string17.2200001.000x10012800
len_65 / densebitvec_simd19.7200001.145x10012800
len_65 / sparsebit_string17.1400001.000x10012800
len_65 / sparsebitvec_simd19.8000001.155x10012800
len_65536 / alternatingbit_string217.0000001.000x100800
len_65536 / alternatingbitvec_simd248.9000001.147x100800
len_65536 / densebit_string218.8000001.000x1001600
len_65536 / densebitvec_simd252.6000001.154x100800
len_65536 / sparsebit_string233.2000001.000x1001600
len_65536 / sparsebitvec_simd251.4000001.078x100800

zeros

Median table
caselegendmedian ns/oprelativesamplesiters
len_4096bit_string22.1500001.000x10012800
len_4096bitvec_simd62.3100002.813x1003200
len_65bitvec_simd18.1500001.000x10012800
len_65bit_string18.3200001.009x10012800
len_65536bit_string130.5000001.000x1001600
len_65536bitvec_simd156.2000001.197x1001600

Raw Divan output

divan.txt