Skip to content

Commit df2ec06

Browse files
committed
dict.go: implement ordered dictionary.
benchmark old ns/op new ns/op delta BenchmarkEscapeRune/low_values-4 26.5 26.1 -1.51% BenchmarkEscapeRune/mid_values-4 33.5 33.3 -0.60% BenchmarkEscapeRune/high_values-4 48.0 47.6 -0.83% BenchmarkGetAttr-4 129 126 -2.33% BenchmarkDictGetItem-4 181 177 -2.21% BenchmarkDictGetItemBig-4 3291 3136 -4.71% BenchmarkDictIterItems/0-elements-4 911 595 -34.69% BenchmarkDictIterItems/1-elements-4 1024 727 -29.00% BenchmarkDictIterItems/2-elements-4 1153 834 -27.67% BenchmarkDictIterItems/3-elements-4 1307 1004 -23.18% BenchmarkDictIterItems/4-elements-4 1419 1138 -19.80% BenchmarkDictIterItems/5-elements-4 1574 1238 -21.35% BenchmarkDictIterItems/6-elements-4 1875 1409 -24.85% BenchmarkDictIterItems/7-elements-4 1984 1508 -23.99% BenchmarkDictIterItems/8-elements-4 2104 1593 -24.29% BenchmarkDictIterKeys/0-elements-4 908 606 -33.26% BenchmarkDictIterKeys/1-elements-4 1001 706 -29.47% BenchmarkDictIterKeys/2-elements-4 1074 787 -26.72% BenchmarkDictIterKeys/3-elements-4 1212 880 -27.39% BenchmarkDictIterKeys/4-elements-4 1309 976 -25.44% BenchmarkDictIterKeys/5-elements-4 1375 1115 -18.91% BenchmarkDictIterKeys/6-elements-4 1685 1230 -27.00% BenchmarkDictIterKeys/7-elements-4 1791 1314 -26.63% BenchmarkDictIterKeys/8-elements-4 1867 1417 -24.10% BenchmarkDictIterKeys/9-elements-4 1946 1496 -23.12% BenchmarkDictIterValues/0-elements-4 883 608 -31.14% BenchmarkDictIterValues/1-elements-4 920 635 -30.98% BenchmarkDictIterValues/2-elements-4 941 654 -30.50% BenchmarkDictIterValues/3-elements-4 970 687 -29.18% BenchmarkDictIterValues/4-elements-4 1009 705 -30.13% BenchmarkDictIterValues/5-elements-4 1010 725 -28.22% BenchmarkDictIterValues/6-elements-4 1269 754 -40.58% BenchmarkDictIterValues/7-elements-4 1292 778 -39.78% BenchmarkDictIterValues/8-elements-4 1290 811 -37.13% BenchmarkIntNew/interned-4 0.96 0.96 +0.00% BenchmarkIntNew/not_interned-4 71.1 70.1 -1.41% BenchmarkListContains/false-3-4 1284 1032 -19.63% BenchmarkListContains/false-10-4 2267 2027 -10.59% BenchmarkListContains/true-3.1-4 291 292 +0.34% BenchmarkListContains/true-3.3-4 556 551 -0.90% BenchmarkListContains/true-10.10-4 1456 1454 -0.14% BenchmarkNewStr-4 115 115 +0.00% BenchmarkTupleContains/false-3-4 2009 1818 -9.51% BenchmarkTupleContains/false-10-4 4293 4178 -2.68% BenchmarkTupleContains/true-3.1-4 607 619 +1.98% BenchmarkTupleContains/true-3.3-4 1289 1316 +2.09% BenchmarkTupleContains/true-10.10-4 3582 3701 +3.32% benchmark old allocs new allocs delta BenchmarkEscapeRune/low_values-4 1 1 +0.00% BenchmarkEscapeRune/mid_values-4 1 1 +0.00% BenchmarkEscapeRune/high_values-4 1 1 +0.00% BenchmarkGetAttr-4 0 0 +0.00% BenchmarkDictGetItem-4 1 1 +0.00% BenchmarkDictGetItemBig-4 1 1 +0.00% BenchmarkDictIterItems/0-elements-4 6 4 -33.33% BenchmarkDictIterItems/1-elements-4 7 5 -28.57% BenchmarkDictIterItems/2-elements-4 8 6 -25.00% BenchmarkDictIterItems/3-elements-4 9 7 -22.22% BenchmarkDictIterItems/4-elements-4 10 8 -20.00% BenchmarkDictIterItems/5-elements-4 11 9 -18.18% BenchmarkDictIterItems/6-elements-4 12 10 -16.67% BenchmarkDictIterItems/7-elements-4 13 11 -15.38% BenchmarkDictIterItems/8-elements-4 14 12 -14.29% BenchmarkDictIterKeys/0-elements-4 6 4 -33.33% BenchmarkDictIterKeys/1-elements-4 6 4 -33.33% BenchmarkDictIterKeys/2-elements-4 6 4 -33.33% BenchmarkDictIterKeys/3-elements-4 6 4 -33.33% BenchmarkDictIterKeys/4-elements-4 6 4 -33.33% BenchmarkDictIterKeys/5-elements-4 6 4 -33.33% BenchmarkDictIterKeys/6-elements-4 6 4 -33.33% BenchmarkDictIterKeys/7-elements-4 6 4 -33.33% BenchmarkDictIterKeys/8-elements-4 6 4 -33.33% BenchmarkDictIterKeys/9-elements-4 6 4 -33.33% BenchmarkDictIterValues/0-elements-4 6 4 -33.33% BenchmarkDictIterValues/1-elements-4 6 4 -33.33% BenchmarkDictIterValues/2-elements-4 6 4 -33.33% BenchmarkDictIterValues/3-elements-4 6 4 -33.33% BenchmarkDictIterValues/4-elements-4 6 4 -33.33% BenchmarkDictIterValues/5-elements-4 6 4 -33.33% BenchmarkDictIterValues/6-elements-4 6 4 -33.33% BenchmarkDictIterValues/7-elements-4 6 4 -33.33% BenchmarkDictIterValues/8-elements-4 6 4 -33.33% BenchmarkIntNew/interned-4 0 0 +0.00% BenchmarkIntNew/not_interned-4 1 1 +0.00% BenchmarkListContains/false-3-4 7 5 -28.57% BenchmarkListContains/false-10-4 7 5 -28.57% BenchmarkListContains/true-3.1-4 2 2 +0.00% BenchmarkListContains/true-3.3-4 2 2 +0.00% BenchmarkListContains/true-10.10-4 2 2 +0.00% BenchmarkNewStr-4 1 1 +0.00% BenchmarkTupleContains/false-3-4 8 6 -25.00% BenchmarkTupleContains/false-10-4 8 6 -25.00% BenchmarkTupleContains/true-3.1-4 3 3 +0.00% BenchmarkTupleContains/true-3.3-4 3 3 +0.00% BenchmarkTupleContains/true-10.10-4 3 3 +0.00% benchmark old bytes new bytes delta BenchmarkEscapeRune/low_values-4 4 4 +0.00% BenchmarkEscapeRune/mid_values-4 8 8 +0.00% BenchmarkEscapeRune/high_values-4 16 16 +0.00% BenchmarkGetAttr-4 0 0 +0.00% BenchmarkDictGetItem-4 32 32 +0.00% BenchmarkDictGetItemBig-4 32 32 +0.00% BenchmarkDictIterItems/0-elements-4 320 208 -35.00% BenchmarkDictIterItems/1-elements-4 384 272 -29.17% BenchmarkDictIterItems/2-elements-4 448 336 -25.00% BenchmarkDictIterItems/3-elements-4 512 400 -21.88% BenchmarkDictIterItems/4-elements-4 576 464 -19.44% BenchmarkDictIterItems/5-elements-4 640 528 -17.50% BenchmarkDictIterItems/6-elements-4 704 592 -15.91% BenchmarkDictIterItems/7-elements-4 768 656 -14.58% BenchmarkDictIterItems/8-elements-4 832 720 -13.46% BenchmarkDictIterKeys/0-elements-4 320 208 -35.00% BenchmarkDictIterKeys/1-elements-4 320 208 -35.00% BenchmarkDictIterKeys/2-elements-4 320 208 -35.00% BenchmarkDictIterKeys/3-elements-4 320 208 -35.00% BenchmarkDictIterKeys/4-elements-4 320 208 -35.00% BenchmarkDictIterKeys/5-elements-4 320 208 -35.00% BenchmarkDictIterKeys/6-elements-4 320 208 -35.00% BenchmarkDictIterKeys/7-elements-4 320 208 -35.00% BenchmarkDictIterKeys/8-elements-4 320 208 -35.00% BenchmarkDictIterKeys/9-elements-4 320 208 -35.00% BenchmarkDictIterValues/0-elements-4 320 208 -35.00% BenchmarkDictIterValues/1-elements-4 320 208 -35.00% BenchmarkDictIterValues/2-elements-4 320 208 -35.00% BenchmarkDictIterValues/3-elements-4 320 208 -35.00% BenchmarkDictIterValues/4-elements-4 320 208 -35.00% BenchmarkDictIterValues/5-elements-4 320 208 -35.00% BenchmarkDictIterValues/6-elements-4 320 208 -35.00% BenchmarkDictIterValues/7-elements-4 320 208 -35.00% BenchmarkDictIterValues/8-elements-4 320 208 -35.00% BenchmarkIntNew/interned-4 0 0 +0.00% BenchmarkIntNew/not_interned-4 32 32 +0.00% BenchmarkListContains/false-3-4 336 224 -33.33% BenchmarkListContains/false-10-4 336 224 -33.33% BenchmarkListContains/true-3.1-4 80 80 +0.00% BenchmarkListContains/true-3.3-4 80 80 +0.00% BenchmarkListContains/true-10.10-4 80 80 +0.00% BenchmarkNewStr-4 48 48 +0.00% BenchmarkTupleContains/false-3-4 400 288 -28.00% BenchmarkTupleContains/false-10-4 400 288 -28.00% BenchmarkTupleContains/true-3.1-4 144 144 +0.00% BenchmarkTupleContains/true-3.3-4 144 144 +0.00% BenchmarkTupleContains/true-10.10-4 144 144 +0.00%
1 parent 8277123 commit df2ec06

File tree

3 files changed

+245
-170
lines changed

3 files changed

+245
-170
lines changed

0 commit comments

Comments
 (0)