data-structure-typed 1.50.5 → 1.50.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (28) hide show
  1. package/CHANGELOG.md +1 -1
  2. package/README.md +13 -13
  3. package/benchmark/report.html +13 -13
  4. package/benchmark/report.json +168 -144
  5. package/dist/cjs/data-structures/binary-tree/binary-tree.js +19 -19
  6. package/dist/cjs/data-structures/binary-tree/binary-tree.js.map +1 -1
  7. package/dist/cjs/data-structures/binary-tree/rb-tree.d.ts +158 -135
  8. package/dist/cjs/data-structures/binary-tree/rb-tree.js +415 -386
  9. package/dist/cjs/data-structures/binary-tree/rb-tree.js.map +1 -1
  10. package/dist/cjs/data-structures/binary-tree/tree-multi-map.d.ts +1 -0
  11. package/dist/cjs/data-structures/binary-tree/tree-multi-map.js +84 -76
  12. package/dist/cjs/data-structures/binary-tree/tree-multi-map.js.map +1 -1
  13. package/dist/mjs/data-structures/binary-tree/binary-tree.js +19 -19
  14. package/dist/mjs/data-structures/binary-tree/rb-tree.d.ts +158 -135
  15. package/dist/mjs/data-structures/binary-tree/rb-tree.js +412 -386
  16. package/dist/mjs/data-structures/binary-tree/tree-multi-map.d.ts +1 -0
  17. package/dist/mjs/data-structures/binary-tree/tree-multi-map.js +84 -76
  18. package/dist/umd/data-structure-typed.js +477 -431
  19. package/dist/umd/data-structure-typed.min.js +2 -2
  20. package/dist/umd/data-structure-typed.min.js.map +1 -1
  21. package/package.json +1 -1
  22. package/src/data-structures/binary-tree/binary-tree.ts +19 -19
  23. package/src/data-structures/binary-tree/rb-tree.ts +437 -395
  24. package/src/data-structures/binary-tree/tree-multi-map.ts +85 -82
  25. package/test/performance/data-structures/binary-tree/rb-tree.test.ts +26 -16
  26. package/test/unit/data-structures/binary-tree/overall.test.ts +23 -21
  27. package/test/unit/data-structures/binary-tree/rb-tree.test.ts +168 -105
  28. package/test/unit/data-structures/binary-tree/tree-multi-map.test.ts +311 -192
package/CHANGELOG.md CHANGED
@@ -8,7 +8,7 @@ All notable changes to this project will be documented in this file.
8
8
  - [Semantic Versioning](https://semver.org/spec/v2.0.0.html)
9
9
  - [`auto-changelog`](https://github.com/CookPete/auto-changelog)
10
10
 
11
- ## [v1.50.5](https://github.com/zrwusa/data-structure-typed/compare/v1.35.0...main) (upcoming)
11
+ ## [v1.50.6](https://github.com/zrwusa/data-structure-typed/compare/v1.35.0...main) (upcoming)
12
12
 
13
13
  ### Changes
14
14
 
package/README.md CHANGED
@@ -1001,43 +1001,43 @@ Intel UHD Graphics 630 1536 MB
1001
1001
  [//]: # (No deletion!!! Start of Replace Section)
1002
1002
  <div class="json-to-html-collapse clearfix 0">
1003
1003
  <div class='collapsible level0' ><span class='json-to-html-label'>heap</span></div>
1004
- <div class="content"><table style="display: table; width:100%; table-layout: fixed;"><tr><th>test name</th><th>time taken (ms)</th><th>executions per sec</th><th>sample deviation</th></tr><tr><td>100,000 add</td><td>6.51</td><td>153.59</td><td>4.60e-4</td></tr><tr><td>100,000 add & poll</td><td>31.59</td><td>31.65</td><td>8.52e-4</td></tr></table></div>
1004
+ <div class="content"><table style="display: table; width:100%; table-layout: fixed;"><tr><th>test name</th><th>time taken (ms)</th><th>executions per sec</th><th>sample deviation</th></tr><tr><td>100,000 add</td><td>6.42</td><td>155.87</td><td>1.90e-4</td></tr><tr><td>100,000 add & poll</td><td>31.50</td><td>31.74</td><td>8.72e-4</td></tr></table></div>
1005
1005
  </div><div class="json-to-html-collapse clearfix 0">
1006
1006
  <div class='collapsible level0' ><span class='json-to-html-label'>rb-tree</span></div>
1007
- <div class="content"><table style="display: table; width:100%; table-layout: fixed;"><tr><th>test name</th><th>time taken (ms)</th><th>executions per sec</th><th>sample deviation</th></tr><tr><td>100,000 add</td><td>85.08</td><td>11.75</td><td>0.00</td></tr><tr><td>100,000 add & delete randomly</td><td>217.11</td><td>4.61</td><td>0.02</td></tr><tr><td>100,000 getNode</td><td>178.00</td><td>5.62</td><td>0.00</td></tr><tr><td>100,000 add & iterator</td><td>116.31</td><td>8.60</td><td>0.00</td></tr></table></div>
1007
+ <div class="content"><table style="display: table; width:100%; table-layout: fixed;"><tr><th>test name</th><th>time taken (ms)</th><th>executions per sec</th><th>sample deviation</th></tr><tr><td>100,000 add orderly</td><td>42.46</td><td>23.55</td><td>0.01</td></tr><tr><td>100,000 delete orderly</td><td>176.04</td><td>5.68</td><td>0.01</td></tr><tr><td>100,000 add randomly</td><td>98.02</td><td>10.20</td><td>0.00</td></tr><tr><td>100,000 delete randomly</td><td>182.58</td><td>5.48</td><td>0.00</td></tr><tr><td>100,000 add orderly</td><td>42.10</td><td>23.76</td><td>8.79e-4</td></tr><tr><td>100,000 delete randomly</td><td>182.16</td><td>5.49</td><td>5.65e-4</td></tr><tr><td>100,000 getNode randomly</td><td>180.63</td><td>5.54</td><td>0.00</td></tr><tr><td>100,000 add & iterator</td><td>129.92</td><td>7.70</td><td>0.00</td></tr></table></div>
1008
1008
  </div><div class="json-to-html-collapse clearfix 0">
1009
1009
  <div class='collapsible level0' ><span class='json-to-html-label'>queue</span></div>
1010
- <div class="content"><table style="display: table; width:100%; table-layout: fixed;"><tr><th>test name</th><th>time taken (ms)</th><th>executions per sec</th><th>sample deviation</th></tr><tr><td>1,000,000 push</td><td>45.98</td><td>21.75</td><td>0.01</td></tr><tr><td>100,000 push & shift</td><td>4.91</td><td>203.49</td><td>7.39e-4</td></tr><tr><td>Native JS Array 100,000 push & shift</td><td>2321.55</td><td>0.43</td><td>0.20</td></tr></table></div>
1010
+ <div class="content"><table style="display: table; width:100%; table-layout: fixed;"><tr><th>test name</th><th>time taken (ms)</th><th>executions per sec</th><th>sample deviation</th></tr><tr><td>1,000,000 push</td><td>44.33</td><td>22.56</td><td>0.01</td></tr><tr><td>100,000 push & shift</td><td>4.68</td><td>213.63</td><td>1.41e-4</td></tr><tr><td>Native JS Array 100,000 push & shift</td><td>2633.11</td><td>0.38</td><td>0.44</td></tr></table></div>
1011
1011
  </div><div class="json-to-html-collapse clearfix 0">
1012
1012
  <div class='collapsible level0' ><span class='json-to-html-label'>deque</span></div>
1013
- <div class="content"><table style="display: table; width:100%; table-layout: fixed;"><tr><th>test name</th><th>time taken (ms)</th><th>executions per sec</th><th>sample deviation</th></tr><tr><td>1,000,000 push</td><td>24.85</td><td>40.24</td><td>0.00</td></tr><tr><td>1,000,000 push & pop</td><td>31.50</td><td>31.75</td><td>0.00</td></tr><tr><td>1,000,000 push & shift</td><td>30.93</td><td>32.33</td><td>0.00</td></tr><tr><td>100,000 push & shift</td><td>3.28</td><td>304.69</td><td>2.35e-4</td></tr><tr><td>Native JS Array 100,000 push & shift</td><td>2040.48</td><td>0.49</td><td>0.08</td></tr><tr><td>100,000 unshift & shift</td><td>2.97</td><td>336.20</td><td>5.34e-4</td></tr><tr><td>Native JS Array 100,000 unshift & shift</td><td>4113.19</td><td>0.24</td><td>0.25</td></tr></table></div>
1013
+ <div class="content"><table style="display: table; width:100%; table-layout: fixed;"><tr><th>test name</th><th>time taken (ms)</th><th>executions per sec</th><th>sample deviation</th></tr><tr><td>1,000,000 push</td><td>24.62</td><td>40.62</td><td>0.00</td></tr><tr><td>1,000,000 push & pop</td><td>30.71</td><td>32.56</td><td>0.00</td></tr><tr><td>1,000,000 push & shift</td><td>31.93</td><td>31.32</td><td>0.01</td></tr><tr><td>100,000 push & shift</td><td>3.25</td><td>307.22</td><td>2.74e-4</td></tr><tr><td>Native JS Array 100,000 push & shift</td><td>2455.51</td><td>0.41</td><td>0.29</td></tr><tr><td>100,000 unshift & shift</td><td>2.94</td><td>340.31</td><td>2.39e-4</td></tr><tr><td>Native JS Array 100,000 unshift & shift</td><td>4314.20</td><td>0.23</td><td>0.41</td></tr></table></div>
1014
1014
  </div><div class="json-to-html-collapse clearfix 0">
1015
1015
  <div class='collapsible level0' ><span class='json-to-html-label'>hash-map</span></div>
1016
- <div class="content"><table style="display: table; width:100%; table-layout: fixed;"><tr><th>test name</th><th>time taken (ms)</th><th>executions per sec</th><th>sample deviation</th></tr><tr><td>1,000,000 set</td><td>118.59</td><td>8.43</td><td>0.03</td></tr><tr><td>Native JS Map 1,000,000 set</td><td>208.83</td><td>4.79</td><td>0.02</td></tr><tr><td>Native JS Set 1,000,000 add</td><td>168.45</td><td>5.94</td><td>0.01</td></tr><tr><td>1,000,000 set & get</td><td>120.86</td><td>8.27</td><td>0.02</td></tr><tr><td>Native JS Map 1,000,000 set & get</td><td>270.83</td><td>3.69</td><td>0.02</td></tr><tr><td>Native JS Set 1,000,000 add & has</td><td>168.79</td><td>5.92</td><td>0.01</td></tr><tr><td>1,000,000 ObjKey set & get</td><td>335.67</td><td>2.98</td><td>0.05</td></tr><tr><td>Native JS Map 1,000,000 ObjKey set & get</td><td>302.02</td><td>3.31</td><td>0.04</td></tr><tr><td>Native JS Set 1,000,000 ObjKey add & has</td><td>270.81</td><td>3.69</td><td>0.04</td></tr></table></div>
1016
+ <div class="content"><table style="display: table; width:100%; table-layout: fixed;"><tr><th>test name</th><th>time taken (ms)</th><th>executions per sec</th><th>sample deviation</th></tr><tr><td>1,000,000 set</td><td>116.60</td><td>8.58</td><td>0.02</td></tr><tr><td>Native JS Map 1,000,000 set</td><td>202.39</td><td>4.94</td><td>0.01</td></tr><tr><td>Native JS Set 1,000,000 add</td><td>167.89</td><td>5.96</td><td>0.01</td></tr><tr><td>1,000,000 set & get</td><td>125.21</td><td>7.99</td><td>0.03</td></tr><tr><td>Native JS Map 1,000,000 set & get</td><td>272.20</td><td>3.67</td><td>0.03</td></tr><tr><td>Native JS Set 1,000,000 add & has</td><td>168.51</td><td>5.93</td><td>0.01</td></tr><tr><td>1,000,000 ObjKey set & get</td><td>309.10</td><td>3.24</td><td>0.01</td></tr><tr><td>Native JS Map 1,000,000 ObjKey set & get</td><td>299.43</td><td>3.34</td><td>0.03</td></tr><tr><td>Native JS Set 1,000,000 ObjKey add & has</td><td>260.93</td><td>3.83</td><td>0.02</td></tr></table></div>
1017
1017
  </div><div class="json-to-html-collapse clearfix 0">
1018
1018
  <div class='collapsible level0' ><span class='json-to-html-label'>trie</span></div>
1019
- <div class="content"><table style="display: table; width:100%; table-layout: fixed;"><tr><th>test name</th><th>time taken (ms)</th><th>executions per sec</th><th>sample deviation</th></tr><tr><td>100,000 push</td><td>44.86</td><td>22.29</td><td>9.69e-4</td></tr><tr><td>100,000 getWords</td><td>85.63</td><td>11.68</td><td>0.01</td></tr></table></div>
1019
+ <div class="content"><table style="display: table; width:100%; table-layout: fixed;"><tr><th>test name</th><th>time taken (ms)</th><th>executions per sec</th><th>sample deviation</th></tr><tr><td>100,000 push</td><td>43.32</td><td>23.08</td><td>6.16e-4</td></tr><tr><td>100,000 getWords</td><td>84.84</td><td>11.79</td><td>0.00</td></tr></table></div>
1020
1020
  </div><div class="json-to-html-collapse clearfix 0">
1021
1021
  <div class='collapsible level0' ><span class='json-to-html-label'>avl-tree</span></div>
1022
- <div class="content"><table style="display: table; width:100%; table-layout: fixed;"><tr><th>test name</th><th>time taken (ms)</th><th>executions per sec</th><th>sample deviation</th></tr><tr><td>10,000 add randomly</td><td>128.11</td><td>7.81</td><td>0.00</td></tr><tr><td>10,000 get</td><td>52.87</td><td>18.91</td><td>6.02e-4</td></tr><tr><td>10,000 add & delete randomly</td><td>189.76</td><td>5.27</td><td>0.00</td></tr><tr><td>10,000 addMany</td><td>136.54</td><td>7.32</td><td>9.74e-4</td></tr></table></div>
1022
+ <div class="content"><table style="display: table; width:100%; table-layout: fixed;"><tr><th>test name</th><th>time taken (ms)</th><th>executions per sec</th><th>sample deviation</th></tr><tr><td>10,000 add randomly</td><td>129.04</td><td>7.75</td><td>0.00</td></tr><tr><td>10,000 get</td><td>51.31</td><td>19.49</td><td>5.76e-4</td></tr><tr><td>10,000 add & delete randomly</td><td>190.44</td><td>5.25</td><td>0.00</td></tr><tr><td>10,000 addMany</td><td>137.94</td><td>7.25</td><td>0.00</td></tr></table></div>
1023
1023
  </div><div class="json-to-html-collapse clearfix 0">
1024
1024
  <div class='collapsible level0' ><span class='json-to-html-label'>binary-tree-overall</span></div>
1025
- <div class="content"><table style="display: table; width:100%; table-layout: fixed;"><tr><th>test name</th><th>time taken (ms)</th><th>executions per sec</th><th>sample deviation</th></tr><tr><td>10,000 RBTree add</td><td>7.00</td><td>142.81</td><td>9.38e-5</td></tr><tr><td>10,000 RBTree add & delete randomly</td><td>16.85</td><td>59.34</td><td>1.65e-4</td></tr><tr><td>10,000 RBTree get</td><td>18.20</td><td>54.93</td><td>1.45e-4</td></tr><tr><td>10,000 AVLTree add</td><td>127.56</td><td>7.84</td><td>0.00</td></tr><tr><td>10,000 AVLTree get</td><td>53.38</td><td>18.73</td><td>7.89e-4</td></tr><tr><td>10,000 AVLTree add & delete randomly</td><td>190.11</td><td>5.26</td><td>0.00</td></tr></table></div>
1025
+ <div class="content"><table style="display: table; width:100%; table-layout: fixed;"><tr><th>test name</th><th>time taken (ms)</th><th>executions per sec</th><th>sample deviation</th></tr><tr><td>10,000 RBTree add</td><td>8.13</td><td>122.97</td><td>1.87e-4</td></tr><tr><td>10,000 RBTree add & delete randomly</td><td>58.30</td><td>17.15</td><td>5.24e-4</td></tr><tr><td>10,000 RBTree get</td><td>18.16</td><td>55.06</td><td>2.06e-4</td></tr><tr><td>10,000 AVLTree add</td><td>129.10</td><td>7.75</td><td>0.00</td></tr><tr><td>10,000 AVLTree get</td><td>51.37</td><td>19.47</td><td>7.26e-4</td></tr><tr><td>10,000 AVLTree add & delete randomly</td><td>189.84</td><td>5.27</td><td>8.96e-4</td></tr></table></div>
1026
1026
  </div><div class="json-to-html-collapse clearfix 0">
1027
1027
  <div class='collapsible level0' ><span class='json-to-html-label'>directed-graph</span></div>
1028
- <div class="content"><table style="display: table; width:100%; table-layout: fixed;"><tr><th>test name</th><th>time taken (ms)</th><th>executions per sec</th><th>sample deviation</th></tr><tr><td>1,000 addVertex</td><td>0.10</td><td>9828.43</td><td>2.34e-6</td></tr><tr><td>1,000 addEdge</td><td>6.14</td><td>162.81</td><td>1.71e-4</td></tr><tr><td>1,000 getVertex</td><td>0.05</td><td>2.17e+4</td><td>4.30e-7</td></tr><tr><td>1,000 getEdge</td><td>23.02</td><td>43.44</td><td>0.00</td></tr><tr><td>tarjan</td><td>202.41</td><td>4.94</td><td>0.01</td></tr><tr><td>topologicalSort</td><td>180.32</td><td>5.55</td><td>0.00</td></tr></table></div>
1028
+ <div class="content"><table style="display: table; width:100%; table-layout: fixed;"><tr><th>test name</th><th>time taken (ms)</th><th>executions per sec</th><th>sample deviation</th></tr><tr><td>1,000 addVertex</td><td>0.10</td><td>9882.73</td><td>1.12e-6</td></tr><tr><td>1,000 addEdge</td><td>6.18</td><td>161.76</td><td>7.54e-4</td></tr><tr><td>1,000 getVertex</td><td>0.05</td><td>2.17e+4</td><td>3.35e-7</td></tr><tr><td>1,000 getEdge</td><td>23.36</td><td>42.81</td><td>0.00</td></tr><tr><td>tarjan</td><td>208.84</td><td>4.79</td><td>0.01</td></tr><tr><td>topologicalSort</td><td>178.78</td><td>5.59</td><td>0.00</td></tr></table></div>
1029
1029
  </div><div class="json-to-html-collapse clearfix 0">
1030
1030
  <div class='collapsible level0' ><span class='json-to-html-label'>doubly-linked-list</span></div>
1031
- <div class="content"><table style="display: table; width:100%; table-layout: fixed;"><tr><th>test name</th><th>time taken (ms)</th><th>executions per sec</th><th>sample deviation</th></tr><tr><td>1,000,000 push</td><td>209.36</td><td>4.78</td><td>0.04</td></tr><tr><td>1,000,000 unshift</td><td>217.02</td><td>4.61</td><td>0.08</td></tr><tr><td>1,000,000 unshift & shift</td><td>174.28</td><td>5.74</td><td>0.05</td></tr><tr><td>1,000,000 addBefore</td><td>331.23</td><td>3.02</td><td>0.08</td></tr></table></div>
1031
+ <div class="content"><table style="display: table; width:100%; table-layout: fixed;"><tr><th>test name</th><th>time taken (ms)</th><th>executions per sec</th><th>sample deviation</th></tr><tr><td>1,000,000 push</td><td>217.73</td><td>4.59</td><td>0.05</td></tr><tr><td>1,000,000 unshift</td><td>200.41</td><td>4.99</td><td>0.04</td></tr><tr><td>1,000,000 unshift & shift</td><td>168.75</td><td>5.93</td><td>0.04</td></tr><tr><td>1,000,000 addBefore</td><td>298.21</td><td>3.35</td><td>0.06</td></tr></table></div>
1032
1032
  </div><div class="json-to-html-collapse clearfix 0">
1033
1033
  <div class='collapsible level0' ><span class='json-to-html-label'>singly-linked-list</span></div>
1034
- <div class="content"><table style="display: table; width:100%; table-layout: fixed;"><tr><th>test name</th><th>time taken (ms)</th><th>executions per sec</th><th>sample deviation</th></tr><tr><td>1,000,000 push & shift</td><td>217.34</td><td>4.60</td><td>0.07</td></tr><tr><td>10,000 push & pop</td><td>216.54</td><td>4.62</td><td>0.01</td></tr><tr><td>10,000 addBefore</td><td>247.69</td><td>4.04</td><td>0.01</td></tr></table></div>
1034
+ <div class="content"><table style="display: table; width:100%; table-layout: fixed;"><tr><th>test name</th><th>time taken (ms)</th><th>executions per sec</th><th>sample deviation</th></tr><tr><td>1,000,000 push & shift</td><td>196.65</td><td>5.09</td><td>0.04</td></tr><tr><td>10,000 push & pop</td><td>221.63</td><td>4.51</td><td>0.02</td></tr><tr><td>10,000 addBefore</td><td>249.40</td><td>4.01</td><td>0.01</td></tr></table></div>
1035
1035
  </div><div class="json-to-html-collapse clearfix 0">
1036
1036
  <div class='collapsible level0' ><span class='json-to-html-label'>priority-queue</span></div>
1037
- <div class="content"><table style="display: table; width:100%; table-layout: fixed;"><tr><th>test name</th><th>time taken (ms)</th><th>executions per sec</th><th>sample deviation</th></tr><tr><td>100,000 add</td><td>27.82</td><td>35.94</td><td>0.00</td></tr><tr><td>100,000 add & poll</td><td>78.76</td><td>12.70</td><td>0.02</td></tr></table></div>
1037
+ <div class="content"><table style="display: table; width:100%; table-layout: fixed;"><tr><th>test name</th><th>time taken (ms)</th><th>executions per sec</th><th>sample deviation</th></tr><tr><td>100,000 add</td><td>28.95</td><td>34.55</td><td>0.00</td></tr><tr><td>100,000 add & poll</td><td>76.25</td><td>13.11</td><td>6.57e-4</td></tr></table></div>
1038
1038
  </div><div class="json-to-html-collapse clearfix 0">
1039
1039
  <div class='collapsible level0' ><span class='json-to-html-label'>stack</span></div>
1040
- <div class="content"><table style="display: table; width:100%; table-layout: fixed;"><tr><th>test name</th><th>time taken (ms)</th><th>executions per sec</th><th>sample deviation</th></tr><tr><td>1,000,000 push</td><td>40.75</td><td>24.54</td><td>0.01</td></tr><tr><td>1,000,000 push & pop</td><td>48.07</td><td>20.80</td><td>0.01</td></tr></table></div>
1040
+ <div class="content"><table style="display: table; width:100%; table-layout: fixed;"><tr><th>test name</th><th>time taken (ms)</th><th>executions per sec</th><th>sample deviation</th></tr><tr><td>1,000,000 push</td><td>39.72</td><td>25.18</td><td>0.01</td></tr><tr><td>1,000,000 push & pop</td><td>49.18</td><td>20.33</td><td>0.01</td></tr></table></div>
1041
1041
  </div>
1042
1042
 
1043
1043
  [//]: # (No deletion!!! End of Replace Section)
@@ -43,43 +43,43 @@
43
43
  <body>
44
44
  <div id="json-to-html"><div class="json-to-html-collapse clearfix 0">
45
45
  <div class='collapsible level0' ><span class='json-to-html-label'>heap</span></div>
46
- <div class="content"><table style="display: table; width:100%; table-layout: fixed;"><tr><th>test name</th><th>time taken (ms)</th><th>executions per sec</th><th>sample deviation</th></tr><tr><td>100,000 add</td><td>6.51</td><td>153.59</td><td>4.60e-4</td></tr><tr><td>100,000 add & poll</td><td>31.59</td><td>31.65</td><td>8.52e-4</td></tr></table></div>
46
+ <div class="content"><table style="display: table; width:100%; table-layout: fixed;"><tr><th>test name</th><th>time taken (ms)</th><th>executions per sec</th><th>sample deviation</th></tr><tr><td>100,000 add</td><td>6.42</td><td>155.87</td><td>1.90e-4</td></tr><tr><td>100,000 add & poll</td><td>31.50</td><td>31.74</td><td>8.72e-4</td></tr></table></div>
47
47
  </div><div class="json-to-html-collapse clearfix 0">
48
48
  <div class='collapsible level0' ><span class='json-to-html-label'>rb-tree</span></div>
49
- <div class="content"><table style="display: table; width:100%; table-layout: fixed;"><tr><th>test name</th><th>time taken (ms)</th><th>executions per sec</th><th>sample deviation</th></tr><tr><td>100,000 add</td><td>85.08</td><td>11.75</td><td>0.00</td></tr><tr><td>100,000 add & delete randomly</td><td>217.11</td><td>4.61</td><td>0.02</td></tr><tr><td>100,000 getNode</td><td>178.00</td><td>5.62</td><td>0.00</td></tr><tr><td>100,000 add & iterator</td><td>116.31</td><td>8.60</td><td>0.00</td></tr></table></div>
49
+ <div class="content"><table style="display: table; width:100%; table-layout: fixed;"><tr><th>test name</th><th>time taken (ms)</th><th>executions per sec</th><th>sample deviation</th></tr><tr><td>100,000 add orderly</td><td>42.46</td><td>23.55</td><td>0.01</td></tr><tr><td>100,000 delete orderly</td><td>176.04</td><td>5.68</td><td>0.01</td></tr><tr><td>100,000 add randomly</td><td>98.02</td><td>10.20</td><td>0.00</td></tr><tr><td>100,000 delete randomly</td><td>182.58</td><td>5.48</td><td>0.00</td></tr><tr><td>100,000 add orderly</td><td>42.10</td><td>23.76</td><td>8.79e-4</td></tr><tr><td>100,000 delete randomly</td><td>182.16</td><td>5.49</td><td>5.65e-4</td></tr><tr><td>100,000 getNode randomly</td><td>180.63</td><td>5.54</td><td>0.00</td></tr><tr><td>100,000 add & iterator</td><td>129.92</td><td>7.70</td><td>0.00</td></tr></table></div>
50
50
  </div><div class="json-to-html-collapse clearfix 0">
51
51
  <div class='collapsible level0' ><span class='json-to-html-label'>queue</span></div>
52
- <div class="content"><table style="display: table; width:100%; table-layout: fixed;"><tr><th>test name</th><th>time taken (ms)</th><th>executions per sec</th><th>sample deviation</th></tr><tr><td>1,000,000 push</td><td>45.98</td><td>21.75</td><td>0.01</td></tr><tr><td>100,000 push & shift</td><td>4.91</td><td>203.49</td><td>7.39e-4</td></tr><tr><td>Native JS Array 100,000 push & shift</td><td>2321.55</td><td>0.43</td><td>0.20</td></tr></table></div>
52
+ <div class="content"><table style="display: table; width:100%; table-layout: fixed;"><tr><th>test name</th><th>time taken (ms)</th><th>executions per sec</th><th>sample deviation</th></tr><tr><td>1,000,000 push</td><td>44.33</td><td>22.56</td><td>0.01</td></tr><tr><td>100,000 push & shift</td><td>4.68</td><td>213.63</td><td>1.41e-4</td></tr><tr><td>Native JS Array 100,000 push & shift</td><td>2633.11</td><td>0.38</td><td>0.44</td></tr></table></div>
53
53
  </div><div class="json-to-html-collapse clearfix 0">
54
54
  <div class='collapsible level0' ><span class='json-to-html-label'>deque</span></div>
55
- <div class="content"><table style="display: table; width:100%; table-layout: fixed;"><tr><th>test name</th><th>time taken (ms)</th><th>executions per sec</th><th>sample deviation</th></tr><tr><td>1,000,000 push</td><td>24.85</td><td>40.24</td><td>0.00</td></tr><tr><td>1,000,000 push & pop</td><td>31.50</td><td>31.75</td><td>0.00</td></tr><tr><td>1,000,000 push & shift</td><td>30.93</td><td>32.33</td><td>0.00</td></tr><tr><td>100,000 push & shift</td><td>3.28</td><td>304.69</td><td>2.35e-4</td></tr><tr><td>Native JS Array 100,000 push & shift</td><td>2040.48</td><td>0.49</td><td>0.08</td></tr><tr><td>100,000 unshift & shift</td><td>2.97</td><td>336.20</td><td>5.34e-4</td></tr><tr><td>Native JS Array 100,000 unshift & shift</td><td>4113.19</td><td>0.24</td><td>0.25</td></tr></table></div>
55
+ <div class="content"><table style="display: table; width:100%; table-layout: fixed;"><tr><th>test name</th><th>time taken (ms)</th><th>executions per sec</th><th>sample deviation</th></tr><tr><td>1,000,000 push</td><td>24.62</td><td>40.62</td><td>0.00</td></tr><tr><td>1,000,000 push & pop</td><td>30.71</td><td>32.56</td><td>0.00</td></tr><tr><td>1,000,000 push & shift</td><td>31.93</td><td>31.32</td><td>0.01</td></tr><tr><td>100,000 push & shift</td><td>3.25</td><td>307.22</td><td>2.74e-4</td></tr><tr><td>Native JS Array 100,000 push & shift</td><td>2455.51</td><td>0.41</td><td>0.29</td></tr><tr><td>100,000 unshift & shift</td><td>2.94</td><td>340.31</td><td>2.39e-4</td></tr><tr><td>Native JS Array 100,000 unshift & shift</td><td>4314.20</td><td>0.23</td><td>0.41</td></tr></table></div>
56
56
  </div><div class="json-to-html-collapse clearfix 0">
57
57
  <div class='collapsible level0' ><span class='json-to-html-label'>hash-map</span></div>
58
- <div class="content"><table style="display: table; width:100%; table-layout: fixed;"><tr><th>test name</th><th>time taken (ms)</th><th>executions per sec</th><th>sample deviation</th></tr><tr><td>1,000,000 set</td><td>118.59</td><td>8.43</td><td>0.03</td></tr><tr><td>Native JS Map 1,000,000 set</td><td>208.83</td><td>4.79</td><td>0.02</td></tr><tr><td>Native JS Set 1,000,000 add</td><td>168.45</td><td>5.94</td><td>0.01</td></tr><tr><td>1,000,000 set & get</td><td>120.86</td><td>8.27</td><td>0.02</td></tr><tr><td>Native JS Map 1,000,000 set & get</td><td>270.83</td><td>3.69</td><td>0.02</td></tr><tr><td>Native JS Set 1,000,000 add & has</td><td>168.79</td><td>5.92</td><td>0.01</td></tr><tr><td>1,000,000 ObjKey set & get</td><td>335.67</td><td>2.98</td><td>0.05</td></tr><tr><td>Native JS Map 1,000,000 ObjKey set & get</td><td>302.02</td><td>3.31</td><td>0.04</td></tr><tr><td>Native JS Set 1,000,000 ObjKey add & has</td><td>270.81</td><td>3.69</td><td>0.04</td></tr></table></div>
58
+ <div class="content"><table style="display: table; width:100%; table-layout: fixed;"><tr><th>test name</th><th>time taken (ms)</th><th>executions per sec</th><th>sample deviation</th></tr><tr><td>1,000,000 set</td><td>116.60</td><td>8.58</td><td>0.02</td></tr><tr><td>Native JS Map 1,000,000 set</td><td>202.39</td><td>4.94</td><td>0.01</td></tr><tr><td>Native JS Set 1,000,000 add</td><td>167.89</td><td>5.96</td><td>0.01</td></tr><tr><td>1,000,000 set & get</td><td>125.21</td><td>7.99</td><td>0.03</td></tr><tr><td>Native JS Map 1,000,000 set & get</td><td>272.20</td><td>3.67</td><td>0.03</td></tr><tr><td>Native JS Set 1,000,000 add & has</td><td>168.51</td><td>5.93</td><td>0.01</td></tr><tr><td>1,000,000 ObjKey set & get</td><td>309.10</td><td>3.24</td><td>0.01</td></tr><tr><td>Native JS Map 1,000,000 ObjKey set & get</td><td>299.43</td><td>3.34</td><td>0.03</td></tr><tr><td>Native JS Set 1,000,000 ObjKey add & has</td><td>260.93</td><td>3.83</td><td>0.02</td></tr></table></div>
59
59
  </div><div class="json-to-html-collapse clearfix 0">
60
60
  <div class='collapsible level0' ><span class='json-to-html-label'>trie</span></div>
61
- <div class="content"><table style="display: table; width:100%; table-layout: fixed;"><tr><th>test name</th><th>time taken (ms)</th><th>executions per sec</th><th>sample deviation</th></tr><tr><td>100,000 push</td><td>44.86</td><td>22.29</td><td>9.69e-4</td></tr><tr><td>100,000 getWords</td><td>85.63</td><td>11.68</td><td>0.01</td></tr></table></div>
61
+ <div class="content"><table style="display: table; width:100%; table-layout: fixed;"><tr><th>test name</th><th>time taken (ms)</th><th>executions per sec</th><th>sample deviation</th></tr><tr><td>100,000 push</td><td>43.32</td><td>23.08</td><td>6.16e-4</td></tr><tr><td>100,000 getWords</td><td>84.84</td><td>11.79</td><td>0.00</td></tr></table></div>
62
62
  </div><div class="json-to-html-collapse clearfix 0">
63
63
  <div class='collapsible level0' ><span class='json-to-html-label'>avl-tree</span></div>
64
- <div class="content"><table style="display: table; width:100%; table-layout: fixed;"><tr><th>test name</th><th>time taken (ms)</th><th>executions per sec</th><th>sample deviation</th></tr><tr><td>10,000 add randomly</td><td>128.11</td><td>7.81</td><td>0.00</td></tr><tr><td>10,000 get</td><td>52.87</td><td>18.91</td><td>6.02e-4</td></tr><tr><td>10,000 add & delete randomly</td><td>189.76</td><td>5.27</td><td>0.00</td></tr><tr><td>10,000 addMany</td><td>136.54</td><td>7.32</td><td>9.74e-4</td></tr></table></div>
64
+ <div class="content"><table style="display: table; width:100%; table-layout: fixed;"><tr><th>test name</th><th>time taken (ms)</th><th>executions per sec</th><th>sample deviation</th></tr><tr><td>10,000 add randomly</td><td>129.04</td><td>7.75</td><td>0.00</td></tr><tr><td>10,000 get</td><td>51.31</td><td>19.49</td><td>5.76e-4</td></tr><tr><td>10,000 add & delete randomly</td><td>190.44</td><td>5.25</td><td>0.00</td></tr><tr><td>10,000 addMany</td><td>137.94</td><td>7.25</td><td>0.00</td></tr></table></div>
65
65
  </div><div class="json-to-html-collapse clearfix 0">
66
66
  <div class='collapsible level0' ><span class='json-to-html-label'>binary-tree-overall</span></div>
67
- <div class="content"><table style="display: table; width:100%; table-layout: fixed;"><tr><th>test name</th><th>time taken (ms)</th><th>executions per sec</th><th>sample deviation</th></tr><tr><td>10,000 RBTree add</td><td>7.00</td><td>142.81</td><td>9.38e-5</td></tr><tr><td>10,000 RBTree add & delete randomly</td><td>16.85</td><td>59.34</td><td>1.65e-4</td></tr><tr><td>10,000 RBTree get</td><td>18.20</td><td>54.93</td><td>1.45e-4</td></tr><tr><td>10,000 AVLTree add</td><td>127.56</td><td>7.84</td><td>0.00</td></tr><tr><td>10,000 AVLTree get</td><td>53.38</td><td>18.73</td><td>7.89e-4</td></tr><tr><td>10,000 AVLTree add & delete randomly</td><td>190.11</td><td>5.26</td><td>0.00</td></tr></table></div>
67
+ <div class="content"><table style="display: table; width:100%; table-layout: fixed;"><tr><th>test name</th><th>time taken (ms)</th><th>executions per sec</th><th>sample deviation</th></tr><tr><td>10,000 RBTree add</td><td>8.13</td><td>122.97</td><td>1.87e-4</td></tr><tr><td>10,000 RBTree add & delete randomly</td><td>58.30</td><td>17.15</td><td>5.24e-4</td></tr><tr><td>10,000 RBTree get</td><td>18.16</td><td>55.06</td><td>2.06e-4</td></tr><tr><td>10,000 AVLTree add</td><td>129.10</td><td>7.75</td><td>0.00</td></tr><tr><td>10,000 AVLTree get</td><td>51.37</td><td>19.47</td><td>7.26e-4</td></tr><tr><td>10,000 AVLTree add & delete randomly</td><td>189.84</td><td>5.27</td><td>8.96e-4</td></tr></table></div>
68
68
  </div><div class="json-to-html-collapse clearfix 0">
69
69
  <div class='collapsible level0' ><span class='json-to-html-label'>directed-graph</span></div>
70
- <div class="content"><table style="display: table; width:100%; table-layout: fixed;"><tr><th>test name</th><th>time taken (ms)</th><th>executions per sec</th><th>sample deviation</th></tr><tr><td>1,000 addVertex</td><td>0.10</td><td>9828.43</td><td>2.34e-6</td></tr><tr><td>1,000 addEdge</td><td>6.14</td><td>162.81</td><td>1.71e-4</td></tr><tr><td>1,000 getVertex</td><td>0.05</td><td>2.17e+4</td><td>4.30e-7</td></tr><tr><td>1,000 getEdge</td><td>23.02</td><td>43.44</td><td>0.00</td></tr><tr><td>tarjan</td><td>202.41</td><td>4.94</td><td>0.01</td></tr><tr><td>topologicalSort</td><td>180.32</td><td>5.55</td><td>0.00</td></tr></table></div>
70
+ <div class="content"><table style="display: table; width:100%; table-layout: fixed;"><tr><th>test name</th><th>time taken (ms)</th><th>executions per sec</th><th>sample deviation</th></tr><tr><td>1,000 addVertex</td><td>0.10</td><td>9882.73</td><td>1.12e-6</td></tr><tr><td>1,000 addEdge</td><td>6.18</td><td>161.76</td><td>7.54e-4</td></tr><tr><td>1,000 getVertex</td><td>0.05</td><td>2.17e+4</td><td>3.35e-7</td></tr><tr><td>1,000 getEdge</td><td>23.36</td><td>42.81</td><td>0.00</td></tr><tr><td>tarjan</td><td>208.84</td><td>4.79</td><td>0.01</td></tr><tr><td>topologicalSort</td><td>178.78</td><td>5.59</td><td>0.00</td></tr></table></div>
71
71
  </div><div class="json-to-html-collapse clearfix 0">
72
72
  <div class='collapsible level0' ><span class='json-to-html-label'>doubly-linked-list</span></div>
73
- <div class="content"><table style="display: table; width:100%; table-layout: fixed;"><tr><th>test name</th><th>time taken (ms)</th><th>executions per sec</th><th>sample deviation</th></tr><tr><td>1,000,000 push</td><td>209.36</td><td>4.78</td><td>0.04</td></tr><tr><td>1,000,000 unshift</td><td>217.02</td><td>4.61</td><td>0.08</td></tr><tr><td>1,000,000 unshift & shift</td><td>174.28</td><td>5.74</td><td>0.05</td></tr><tr><td>1,000,000 addBefore</td><td>331.23</td><td>3.02</td><td>0.08</td></tr></table></div>
73
+ <div class="content"><table style="display: table; width:100%; table-layout: fixed;"><tr><th>test name</th><th>time taken (ms)</th><th>executions per sec</th><th>sample deviation</th></tr><tr><td>1,000,000 push</td><td>217.73</td><td>4.59</td><td>0.05</td></tr><tr><td>1,000,000 unshift</td><td>200.41</td><td>4.99</td><td>0.04</td></tr><tr><td>1,000,000 unshift & shift</td><td>168.75</td><td>5.93</td><td>0.04</td></tr><tr><td>1,000,000 addBefore</td><td>298.21</td><td>3.35</td><td>0.06</td></tr></table></div>
74
74
  </div><div class="json-to-html-collapse clearfix 0">
75
75
  <div class='collapsible level0' ><span class='json-to-html-label'>singly-linked-list</span></div>
76
- <div class="content"><table style="display: table; width:100%; table-layout: fixed;"><tr><th>test name</th><th>time taken (ms)</th><th>executions per sec</th><th>sample deviation</th></tr><tr><td>1,000,000 push & shift</td><td>217.34</td><td>4.60</td><td>0.07</td></tr><tr><td>10,000 push & pop</td><td>216.54</td><td>4.62</td><td>0.01</td></tr><tr><td>10,000 addBefore</td><td>247.69</td><td>4.04</td><td>0.01</td></tr></table></div>
76
+ <div class="content"><table style="display: table; width:100%; table-layout: fixed;"><tr><th>test name</th><th>time taken (ms)</th><th>executions per sec</th><th>sample deviation</th></tr><tr><td>1,000,000 push & shift</td><td>196.65</td><td>5.09</td><td>0.04</td></tr><tr><td>10,000 push & pop</td><td>221.63</td><td>4.51</td><td>0.02</td></tr><tr><td>10,000 addBefore</td><td>249.40</td><td>4.01</td><td>0.01</td></tr></table></div>
77
77
  </div><div class="json-to-html-collapse clearfix 0">
78
78
  <div class='collapsible level0' ><span class='json-to-html-label'>priority-queue</span></div>
79
- <div class="content"><table style="display: table; width:100%; table-layout: fixed;"><tr><th>test name</th><th>time taken (ms)</th><th>executions per sec</th><th>sample deviation</th></tr><tr><td>100,000 add</td><td>27.82</td><td>35.94</td><td>0.00</td></tr><tr><td>100,000 add & poll</td><td>78.76</td><td>12.70</td><td>0.02</td></tr></table></div>
79
+ <div class="content"><table style="display: table; width:100%; table-layout: fixed;"><tr><th>test name</th><th>time taken (ms)</th><th>executions per sec</th><th>sample deviation</th></tr><tr><td>100,000 add</td><td>28.95</td><td>34.55</td><td>0.00</td></tr><tr><td>100,000 add & poll</td><td>76.25</td><td>13.11</td><td>6.57e-4</td></tr></table></div>
80
80
  </div><div class="json-to-html-collapse clearfix 0">
81
81
  <div class='collapsible level0' ><span class='json-to-html-label'>stack</span></div>
82
- <div class="content"><table style="display: table; width:100%; table-layout: fixed;"><tr><th>test name</th><th>time taken (ms)</th><th>executions per sec</th><th>sample deviation</th></tr><tr><td>1,000,000 push</td><td>40.75</td><td>24.54</td><td>0.01</td></tr><tr><td>1,000,000 push & pop</td><td>48.07</td><td>20.80</td><td>0.01</td></tr></table></div>
82
+ <div class="content"><table style="display: table; width:100%; table-layout: fixed;"><tr><th>test name</th><th>time taken (ms)</th><th>executions per sec</th><th>sample deviation</th></tr><tr><td>1,000,000 push</td><td>39.72</td><td>25.18</td><td>0.01</td></tr><tr><td>1,000,000 push & pop</td><td>49.18</td><td>20.33</td><td>0.01</td></tr></table></div>
83
83
  </div>
84
84
 
85
85
  </div>