ShineTree Benchmarks

append

NameMeanMedianStd.MinMaxIterations
list.append -> n = 1000.96us2.0us39.690.0us53.61ms4623182
list.append -> n = 1_0008.78us6.0us59.394.0us4.25ms560806
list.append -> n = 10_00087.46us62.0us205.559.0us5.22ms57052
list.append -> n = 100_000881.69us660.0us819.54561.0us6.88ms5673
shine_tree.append -> n = 1000.34us0.0us27.580.0us77.9ms11408641
shine_tree.append -> n = 1_0000.56us0.0us15.790.0us8.08ms7476054
shine_tree.append -> n = 10_0000.62us0.0us53.450.0us79.67ms7025792
shine_tree.append -> n = 100_0000.68us0.0us42.570.0us62.97ms6483146

count

NameMeanMedianStd.MinMaxIterations
List count evens -> n = 1001.88us2.0us4.941.0us1.97ms2513321
List count evens -> n = 1_00018.25us18.0us6.5717.0us2.3ms272153
List count evens -> n = 10_000180.14us180.0us12.58179.0us1.24ms27733
List count evens -> n = 100_0001.8ms1.79ms47.621.79ms3.33ms2772
ShineTree count evens -> n = 1001.55us1.0us40.171.0us37.92ms3051918
ShineTree count evens -> n = 1_00014.35us14.0us7.7213.0us1.64ms344421
ShineTree count evens -> n = 10_000139.42us138.0us13.34137.0us985.0us35821
ShineTree count evens -> n = 100_0001.39ms1.38ms37.351.38ms2.91ms3596

shift

NameMeanMedianStd.MinMaxIterations
list (take one item at a time, until empty) -> n = 1000.15us0.0us0.360.0us62.0us17653698
list (take one item at a time, until empty) -> n = 1_0001.24us1.0us0.531.0us251.0us3692076
list (take one item at a time, until empty) -> n = 10_00011.63us12.0us1.1611.0us147.0us424671
list (take one item at a time, until empty) -> n = 100_000118.24us115.0us9.35114.0us828.0us42169
shine_tree.shift (against best case scenario list) -> n = 1003.16us4.0us26.622.0us19.11ms1539391
shine_tree.shift (against best case scenario list) -> n = 1_00035.41us30.0us16.5229.0us1.87ms140745
shine_tree.shift (against best case scenario list) -> n = 10_000352.44us303.0us99.85301.0us1.77ms14178
shine_tree.shift (against best case scenario list) -> n = 100_0003.59ms3.23ms367.563.08ms7.95ms1394
shine_tree.pop (lists can’t do this at all) -> n = 1002.71us2.0us22.992.0us19.9ms1791077
shine_tree.pop (lists can’t do this at all) -> n = 1_00028.29us25.0us17.7723.0us3.49ms176015
shine_tree.pop (lists can’t do this at all) -> n = 10_000254.28us246.0us27.4242.0us1.71ms19651
shine_tree.pop (lists can’t do this at all) -> n = 100_0002.45ms2.46ms113.92.39ms4.64ms2038

sort

NameMeanMedianStd.MinMaxIterations
List sort -> n = 1007.91us8.0us13.387.0us7.21ms625766
List sort -> n = 1_000115.45us111.0us11.54111.0us1.22ms43267
List sort -> n = 10_0002.58ms2.62ms278.852.05ms4.74ms1938
List sort -> n = 100_00035.28ms38.97ms3393.9327.83ms47.04ms142
ShineTree sort -> n = 1009.58us9.0us9.058.0us4.84ms516875
ShineTree sort -> n = 1_000125.37us119.0us18.77117.0us1.05ms39843
ShineTree sort -> n = 10_0002.19ms2.14ms194.361.93ms3.78ms2284
ShineTree sort -> n = 100_00042.69ms32.73ms5475.1729.8ms54.43ms117

fold

NameMeanMedianStd.MinMaxIterations
list.fold -> n = 1001.05us1.0us4.80.0us7.44ms4219694
list.fold -> n = 1_00010.35us10.0us2.219.0us687.0us477276
list.fold -> n = 10_000102.99us102.0us8.8196.0us753.0us48483
list.fold -> n = 100_0001.04ms1.03ms55.81990.0us2.62ms4826
shine_tree.fold_l -> n = 1000.57us0.0us45.930.0us73.71ms7533973
shine_tree.fold_l -> n = 1_0004.14us4.0us18.73.0us17.86ms1179970
shine_tree.fold_l -> n = 10_00041.12us42.0us8.439.0us1.03ms121288
shine_tree.fold_l -> n = 100_000421.34us403.0us57.43399.0us1.93ms11858

range

NameMeanMedianStd.MinMaxIterations
List range of size n -> n = 1001.06us1.0us36.870.0us42.6ms4379498
List range of size n -> n = 1_0009.66us9.0us5.08.0us837.0us512449
List range of size n -> n = 10_00097.34us88.0us26.3888.0us1.08ms51304
List range of size n -> n = 100_0001.22ms1.19ms100.111.17ms3.1ms4086
ShineTree range of size n -> n = 1000.69us1.0us49.00.0us64.78ms6463627
ShineTree range of size n -> n = 1_0005.5us5.0us15.364.0us11.01ms893411
ShineTree range of size n -> n = 10_00052.69us45.0us20.3843.0us2.72ms94674
ShineTree range of size n -> n = 100_0001.07ms926.0us428.08452.0us3.47ms4658

size

NameMeanMedianStd.MinMaxIterations
list.size -> n = 1000.13us1.0us0.380.0us478.0us17925635
list.size -> n = 1_0001.18us2.0us0.511.0us250.0us3810284
list.size -> n = 10_00010.84us11.0us1.3910.0us236.0us456457
list.size -> n = 100_000109.83us107.0us10.29106.0us815.0us45419
shine_tree.size -> n = 1000.03us0.0us0.180.0us69.0us26862186
shine_tree.size -> n = 1_0000.03us0.0us0.190.0us332.0us28064989
shine_tree.size -> n = 10_0000.03us0.0us0.20.0us269.0us30697250
shine_tree.size -> n = 100_0000.03us0.0us0.20.0us316.0us23925578

unshift

NameMeanMedianStd.MinMaxIterations
shine_tree.unshift(Nil) -> n = 1002.19us1.0us24.31.0us23.49ms2197034
shine_tree.unshift(Nil) -> n = 1_00023.23us20.0us10.5320.0us2.13ms214277
shine_tree.unshift(Nil) -> n = 10_000330.16us271.0us129.74204.0us2.6ms15137
shine_tree.unshift(Nil) -> n = 100_0003.67ms3.75ms988.982.63ms6.77ms1362
[item, ..rest] -> n = 1000.36us0.0us76.570.0us131.99ms11135685
[item, ..rest] -> n = 1_0002.3us2.0us4.191.0us2.25ms2093689
[item, ..rest] -> n = 10_00022.96us17.0us19.1616.0us2.26ms216678
[item, ..rest] -> n = 100_000263.4us177.0us186.98173.0us4.37ms18964
shine_tree.push(Nil) (lists can’t do this at all) -> n = 1002.19us2.0us39.471.0us29.37ms2195133
shine_tree.push(Nil) (lists can’t do this at all) -> n = 1_00018.56us18.0us14.2715.0us4.34ms267996
shine_tree.push(Nil) (lists can’t do this at all) -> n = 10_000192.48us161.0us67.8157.0us1.73ms25957
shine_tree.push(Nil) (lists can’t do this at all) -> n = 100_0003.2ms2.2ms1001.382.15ms6.58ms1564

group

NameMeanMedianStd.MinMaxIterations
list.group (n % 7) -> n = 1005.58us5.0us18.495.0us9.6ms883417
list.group (n % 7) -> n = 1_00055.51us53.0us11.5152.0us1.94ms89905
list.group (n % 7) -> n = 10_000751.83us667.0us124.22654.0us2.22ms6648
list.group (n % 7) -> n = 100_0008.27ms6.68ms1455.866.65ms11.97ms605
shine_tree.group (n % 7) -> n = 1004.58us4.0us5.773.0us5.23ms1068918
shine_tree.group (n % 7) -> n = 1_00045.15us40.0us12.8239.0us545.0us110458
shine_tree.group (n % 7) -> n = 10_000562.89us513.0us67.5507.0us2.22ms8879
shine_tree.group (n % 7) -> n = 100_0005.65ms5.56ms577.815.22ms8.16ms884
Search Document