hashmap-bench/Untitled.ipynb

1695 lines
607 KiB
Plaintext
Raw Normal View History

2020-03-04 13:53:42 +00:00
{
"cells": [
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [],
"source": [
"import pandas as pd\n",
"from pandas import DataFrame, Series\n",
"import matplotlib.pyplot as plt\n",
"plt.rcParams[\"figure.figsize\"] = (30,5)"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>TEST</th>\n",
" <th>MAP</th>\n",
" <th>50000</th>\n",
" <th>100000</th>\n",
" <th>150000</th>\n",
" <th>200000</th>\n",
" <th>250000</th>\n",
" <th>300000</th>\n",
" <th>350000</th>\n",
" <th>400000</th>\n",
" <th>...</th>\n",
" <th>9000000</th>\n",
" <th>10000000</th>\n",
" <th>15000000</th>\n",
" <th>20000000</th>\n",
" <th>25000000</th>\n",
" <th>30000000</th>\n",
" <th>35000000</th>\n",
" <th>40000000</th>\n",
" <th>45000000</th>\n",
" <th>50000000</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>int_insert</td>\n",
" <td>'std::map&lt;int&gt;'</td>\n",
" <td>73</td>\n",
" <td>51</td>\n",
" <td>52</td>\n",
" <td>55</td>\n",
" <td>57</td>\n",
" <td>60</td>\n",
" <td>64</td>\n",
" <td>75</td>\n",
" <td>...</td>\n",
" <td>242</td>\n",
" <td>270</td>\n",
" <td>250</td>\n",
" <td>252</td>\n",
" <td>253</td>\n",
" <td>298</td>\n",
" <td>293</td>\n",
" <td>307</td>\n",
" <td>313</td>\n",
" <td>322</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>int_succ_lookup</td>\n",
" <td>'std::map&lt;int&gt;'</td>\n",
" <td>17</td>\n",
" <td>17</td>\n",
" <td>17</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>20</td>\n",
" <td>20</td>\n",
" <td>25</td>\n",
" <td>...</td>\n",
" <td>70</td>\n",
" <td>73</td>\n",
" <td>73</td>\n",
" <td>72</td>\n",
" <td>73</td>\n",
" <td>75</td>\n",
" <td>77</td>\n",
" <td>79</td>\n",
" <td>84</td>\n",
" <td>82</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>int_nosucc_lookup</td>\n",
" <td>'std::map&lt;int&gt;'</td>\n",
" <td>165</td>\n",
" <td>262</td>\n",
" <td>388</td>\n",
" <td>437</td>\n",
" <td>601</td>\n",
" <td>64</td>\n",
" <td>779</td>\n",
" <td>77</td>\n",
" <td>...</td>\n",
" <td>246</td>\n",
" <td>279</td>\n",
" <td>256</td>\n",
" <td>251</td>\n",
" <td>252</td>\n",
" <td>278</td>\n",
" <td>283</td>\n",
" <td>282</td>\n",
" <td>298</td>\n",
" <td>289</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>int_delete</td>\n",
" <td>'std::map&lt;int&gt;'</td>\n",
" <td>43</td>\n",
" <td>46</td>\n",
" <td>59</td>\n",
" <td>56</td>\n",
" <td>59</td>\n",
" <td>56</td>\n",
" <td>77</td>\n",
" <td>62</td>\n",
" <td>...</td>\n",
" <td>127</td>\n",
" <td>130</td>\n",
" <td>136</td>\n",
" <td>133</td>\n",
" <td>134</td>\n",
" <td>149</td>\n",
" <td>155</td>\n",
" <td>165</td>\n",
" <td>170</td>\n",
" <td>165</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>int_insert</td>\n",
" <td>'std::map&lt;int&gt;'</td>\n",
" <td>52</td>\n",
" <td>51</td>\n",
" <td>52</td>\n",
" <td>55</td>\n",
" <td>57</td>\n",
" <td>57</td>\n",
" <td>64</td>\n",
" <td>71</td>\n",
" <td>...</td>\n",
" <td>242</td>\n",
" <td>254</td>\n",
" <td>253</td>\n",
" <td>253</td>\n",
" <td>250</td>\n",
" <td>274</td>\n",
" <td>284</td>\n",
" <td>282</td>\n",
" <td>291</td>\n",
" <td>287</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>5 rows × 33 columns</p>\n",
"</div>"
],
"text/plain": [
" TEST MAP 50000 100000 150000 200000 250000 \\\n",
"0 int_insert 'std::map<int>' 73 51 52 55 57 \n",
"1 int_succ_lookup 'std::map<int>' 17 17 17 17 18 \n",
"2 int_nosucc_lookup 'std::map<int>' 165 262 388 437 601 \n",
"3 int_delete 'std::map<int>' 43 46 59 56 59 \n",
"4 int_insert 'std::map<int>' 52 51 52 55 57 \n",
"\n",
" 300000 350000 400000 ... 9000000 10000000 15000000 20000000 \\\n",
"0 60 64 75 ... 242 270 250 252 \n",
"1 20 20 25 ... 70 73 73 72 \n",
"2 64 779 77 ... 246 279 256 251 \n",
"3 56 77 62 ... 127 130 136 133 \n",
"4 57 64 71 ... 242 254 253 253 \n",
"\n",
" 25000000 30000000 35000000 40000000 45000000 50000000 \n",
"0 253 298 293 307 313 322 \n",
"1 73 75 77 79 84 82 \n",
"2 252 278 283 282 298 289 \n",
"3 134 149 155 165 170 165 \n",
"4 250 274 284 282 291 287 \n",
"\n",
"[5 rows x 33 columns]"
]
},
"execution_count": 2,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"data = pd.read_csv(\"results.csv\", quotechar=\"'\")\n",
"data.head()"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {
"scrolled": true
},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th></th>\n",
" <th>50000</th>\n",
" <th>100000</th>\n",
" <th>150000</th>\n",
" <th>200000</th>\n",
" <th>250000</th>\n",
" <th>300000</th>\n",
" <th>350000</th>\n",
" <th>400000</th>\n",
" <th>500000</th>\n",
" <th>600000</th>\n",
" <th>...</th>\n",
" <th>9000000</th>\n",
" <th>10000000</th>\n",
" <th>15000000</th>\n",
" <th>20000000</th>\n",
" <th>25000000</th>\n",
" <th>30000000</th>\n",
" <th>35000000</th>\n",
" <th>40000000</th>\n",
" <th>45000000</th>\n",
" <th>50000000</th>\n",
" </tr>\n",
" <tr>\n",
" <th>TEST</th>\n",
" <th>MAP</th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th rowspan=\"3\" valign=\"top\">int_delete</th>\n",
" <th>'robin_hood::unordered_flat&lt;int&gt;'</th>\n",
" <td>9.066667</td>\n",
" <td>9.233333</td>\n",
" <td>16.033333</td>\n",
" <td>9.000000</td>\n",
" <td>12.066667</td>\n",
" <td>15.866667</td>\n",
" <td>21.533333</td>\n",
" <td>29.833333</td>\n",
" <td>12.033333</td>\n",
" <td>15.833333</td>\n",
" <td>...</td>\n",
" <td>19.033333</td>\n",
" <td>23.000000</td>\n",
" <td>15.633333</td>\n",
" <td>23.466667</td>\n",
" <td>45.933333</td>\n",
" <td>16.566667</td>\n",
" <td>19.566667</td>\n",
" <td>24.233333</td>\n",
" <td>32.900000</td>\n",
" <td>48.266667</td>\n",
" </tr>\n",
" <tr>\n",
" <th>'robin_hood::unordered_node&lt;int&gt;'</th>\n",
" <td>10.700000</td>\n",
" <td>11.200000</td>\n",
" <td>17.700000</td>\n",
" <td>11.100000</td>\n",
" <td>13.800000</td>\n",
" <td>17.233333</td>\n",
" <td>23.300000</td>\n",
" <td>32.400000</td>\n",
" <td>14.533333</td>\n",
" <td>18.066667</td>\n",
" <td>...</td>\n",
" <td>23.066667</td>\n",
" <td>27.733333</td>\n",
" <td>20.900000</td>\n",
" <td>28.933333</td>\n",
" <td>56.266667</td>\n",
" <td>23.100000</td>\n",
" <td>26.166667</td>\n",
" <td>31.200000</td>\n",
" <td>41.900000</td>\n",
" <td>61.500000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>'std::map&lt;int&gt;'</th>\n",
" <td>44.233333</td>\n",
" <td>47.766667</td>\n",
" <td>50.766667</td>\n",
" <td>54.200000</td>\n",
" <td>58.533333</td>\n",
" <td>55.000000</td>\n",
" <td>77.666667</td>\n",
" <td>60.866667</td>\n",
" <td>69.266667</td>\n",
" <td>189.700000</td>\n",
" <td>...</td>\n",
" <td>128.866667</td>\n",
" <td>134.066667</td>\n",
" <td>131.566667</td>\n",
" <td>135.300000</td>\n",
" <td>139.566667</td>\n",
" <td>154.800000</td>\n",
" <td>164.200000</td>\n",
" <td>161.700000</td>\n",
" <td>166.400000</td>\n",
" <td>172.333333</td>\n",
" </tr>\n",
" <tr>\n",
" <th rowspan=\"3\" valign=\"top\">int_insert</th>\n",
" <th>'robin_hood::unordered_flat&lt;int&gt;'</th>\n",
" <td>24.333333</td>\n",
" <td>29.466667</td>\n",
" <td>16.866667</td>\n",
" <td>31.466667</td>\n",
" <td>13.100000</td>\n",
" <td>17.466667</td>\n",
" <td>25.400000</td>\n",
" <td>33.833333</td>\n",
" <td>13.733333</td>\n",
" <td>18.033333</td>\n",
" <td>...</td>\n",
" <td>47.666667</td>\n",
" <td>47.266667</td>\n",
" <td>33.366667</td>\n",
" <td>49.066667</td>\n",
" <td>103.266667</td>\n",
" <td>39.666667</td>\n",
" <td>46.866667</td>\n",
" <td>59.833333</td>\n",
" <td>85.566667</td>\n",
" <td>128.100000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>'robin_hood::unordered_node&lt;int&gt;'</th>\n",
" <td>28.500000</td>\n",
" <td>32.933333</td>\n",
" <td>21.800000</td>\n",
" <td>36.200000</td>\n",
" <td>18.100000</td>\n",
" <td>22.866667</td>\n",
" <td>30.000000</td>\n",
" <td>39.300000</td>\n",
" <td>19.700000</td>\n",
" <td>23.633333</td>\n",
" <td>...</td>\n",
" <td>57.666667</td>\n",
" <td>66.500000</td>\n",
" <td>52.633333</td>\n",
" <td>71.033333</td>\n",
" <td>129.100000</td>\n",
" <td>74.533333</td>\n",
" <td>83.533333</td>\n",
" <td>99.566667</td>\n",
" <td>126.200000</td>\n",
" <td>169.233333</td>\n",
" </tr>\n",
" <tr>\n",
" <th>'std::map&lt;int&gt;'</th>\n",
" <td>52.733333</td>\n",
" <td>52.066667</td>\n",
" <td>53.100000</td>\n",
" <td>55.433333</td>\n",
" <td>58.533333</td>\n",
" <td>58.166667</td>\n",
" <td>63.066667</td>\n",
" <td>71.133333</td>\n",
" <td>95.233333</td>\n",
" <td>121.100000</td>\n",
" <td>...</td>\n",
" <td>242.400000</td>\n",
" <td>256.333333</td>\n",
" <td>253.066667</td>\n",
" <td>251.300000</td>\n",
" <td>251.100000</td>\n",
" <td>292.166667</td>\n",
" <td>303.200000</td>\n",
" <td>306.166667</td>\n",
" <td>317.300000</td>\n",
" <td>310.600000</td>\n",
" </tr>\n",
" <tr>\n",
" <th rowspan=\"3\" valign=\"top\">int_nosucc_lookup</th>\n",
" <th>'robin_hood::unordered_flat&lt;int&gt;'</th>\n",
" <td>58.366667</td>\n",
" <td>105.200000</td>\n",
" <td>19.300000</td>\n",
" <td>199.733333</td>\n",
" <td>14.700000</td>\n",
" <td>19.633333</td>\n",
" <td>26.700000</td>\n",
" <td>36.900000</td>\n",
" <td>15.000000</td>\n",
" <td>19.200000</td>\n",
" <td>...</td>\n",
" <td>43.300000</td>\n",
" <td>51.933333</td>\n",
" <td>37.600000</td>\n",
" <td>53.966667</td>\n",
" <td>111.266667</td>\n",
" <td>41.600000</td>\n",
" <td>47.366667</td>\n",
" <td>58.800000</td>\n",
" <td>82.400000</td>\n",
" <td>119.600000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>'robin_hood::unordered_node&lt;int&gt;'</th>\n",
" <td>71.600000</td>\n",
" <td>135.733333</td>\n",
" <td>23.500000</td>\n",
" <td>265.833333</td>\n",
" <td>18.333333</td>\n",
" <td>23.133333</td>\n",
" <td>31.066667</td>\n",
" <td>41.900000</td>\n",
" <td>19.866667</td>\n",
" <td>24.833333</td>\n",
" <td>...</td>\n",
" <td>57.033333</td>\n",
" <td>68.366667</td>\n",
" <td>50.966667</td>\n",
" <td>68.733333</td>\n",
" <td>130.166667</td>\n",
" <td>57.433333</td>\n",
" <td>63.000000</td>\n",
" <td>75.966667</td>\n",
" <td>102.166667</td>\n",
" <td>140.166667</td>\n",
" </tr>\n",
" <tr>\n",
" <th>'std::map&lt;int&gt;'</th>\n",
" <td>97.333333</td>\n",
" <td>154.100000</td>\n",
" <td>212.000000</td>\n",
" <td>251.966667</td>\n",
" <td>331.233333</td>\n",
" <td>61.200000</td>\n",
" <td>490.266667</td>\n",
" <td>74.766667</td>\n",
" <td>99.633333</td>\n",
" <td>1628.166667</td>\n",
" <td>...</td>\n",
" <td>245.033333</td>\n",
" <td>257.566667</td>\n",
" <td>254.733333</td>\n",
" <td>253.566667</td>\n",
" <td>253.400000</td>\n",
" <td>273.366667</td>\n",
" <td>278.166667</td>\n",
" <td>278.733333</td>\n",
" <td>288.666667</td>\n",
" <td>287.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th rowspan=\"3\" valign=\"top\">int_succ_lookup</th>\n",
" <th>'robin_hood::unordered_flat&lt;int&gt;'</th>\n",
" <td>10.566667</td>\n",
" <td>11.933333</td>\n",
" <td>8.000000</td>\n",
" <td>12.100000</td>\n",
" <td>6.533333</td>\n",
" <td>8.033333</td>\n",
" <td>10.500000</td>\n",
" <td>13.000000</td>\n",
" <td>6.966667</td>\n",
" <td>8.000000</td>\n",
" <td>...</td>\n",
" <td>25.466667</td>\n",
" <td>27.200000</td>\n",
" <td>25.133333</td>\n",
" <td>28.133333</td>\n",
" <td>36.766667</td>\n",
" <td>31.400000</td>\n",
" <td>33.066667</td>\n",
" <td>35.700000</td>\n",
" <td>38.766667</td>\n",
" <td>43.466667</td>\n",
" </tr>\n",
" <tr>\n",
" <th>'robin_hood::unordered_node&lt;int&gt;'</th>\n",
" <td>14.300000</td>\n",
" <td>15.666667</td>\n",
" <td>11.266667</td>\n",
" <td>17.033333</td>\n",
" <td>10.033333</td>\n",
" <td>12.000000</td>\n",
" <td>14.866667</td>\n",
" <td>17.833333</td>\n",
" <td>13.100000</td>\n",
" <td>16.266667</td>\n",
" <td>...</td>\n",
" <td>57.200000</td>\n",
" <td>58.533333</td>\n",
" <td>59.466667</td>\n",
" <td>61.533333</td>\n",
" <td>72.600000</td>\n",
" <td>75.133333</td>\n",
" <td>77.466667</td>\n",
" <td>80.000000</td>\n",
" <td>82.933333</td>\n",
" <td>89.566667</td>\n",
" </tr>\n",
" <tr>\n",
" <th>'std::map&lt;int&gt;'</th>\n",
" <td>16.733333</td>\n",
" <td>17.266667</td>\n",
" <td>17.200000</td>\n",
" <td>17.600000</td>\n",
" <td>18.633333</td>\n",
" <td>18.433333</td>\n",
" <td>20.166667</td>\n",
" <td>23.833333</td>\n",
" <td>32.766667</td>\n",
" <td>41.100000</td>\n",
" <td>...</td>\n",
" <td>70.766667</td>\n",
" <td>73.966667</td>\n",
" <td>72.166667</td>\n",
" <td>72.166667</td>\n",
" <td>72.466667</td>\n",
" <td>84.733333</td>\n",
" <td>89.033333</td>\n",
" <td>91.266667</td>\n",
" <td>94.566667</td>\n",
" <td>93.933333</td>\n",
" </tr>\n",
" <tr>\n",
" <th rowspan=\"3\" valign=\"top\">string_delete</th>\n",
" <th>'robin_hood::unordered_flat&lt;string&gt;'</th>\n",
" <td>25.233333</td>\n",
" <td>51.466667</td>\n",
" <td>46.800000</td>\n",
" <td>70.966667</td>\n",
" <td>41.933333</td>\n",
" <td>56.766667</td>\n",
" <td>83.300000</td>\n",
" <td>139.500000</td>\n",
" <td>48.066667</td>\n",
" <td>63.400000</td>\n",
" <td>...</td>\n",
" <td>96.733333</td>\n",
" <td>114.300000</td>\n",
" <td>76.666667</td>\n",
" <td>122.866667</td>\n",
" <td>232.700000</td>\n",
" <td>82.133333</td>\n",
" <td>100.233333</td>\n",
" <td>128.500000</td>\n",
" <td>172.533333</td>\n",
" <td>240.166667</td>\n",
" </tr>\n",
" <tr>\n",
" <th>'robin_hood::unordered_node&lt;string&gt;'</th>\n",
" <td>18.100000</td>\n",
" <td>18.866667</td>\n",
" <td>27.500000</td>\n",
" <td>57.633333</td>\n",
" <td>23.966667</td>\n",
" <td>29.166667</td>\n",
" <td>34.700000</td>\n",
" <td>43.466667</td>\n",
" <td>26.300000</td>\n",
" <td>30.800000</td>\n",
" <td>...</td>\n",
" <td>47.900000</td>\n",
" <td>58.033333</td>\n",
" <td>52.633333</td>\n",
" <td>73.033333</td>\n",
" <td>135.300000</td>\n",
" <td>62.900000</td>\n",
" <td>59.100000</td>\n",
" <td>85.266667</td>\n",
" <td>111.966667</td>\n",
" <td>167.733333</td>\n",
" </tr>\n",
" <tr>\n",
" <th>'std::map&lt;string&gt;'</th>\n",
" <td>63.300000</td>\n",
" <td>70.700000</td>\n",
" <td>108.900000</td>\n",
" <td>171.633333</td>\n",
" <td>207.366667</td>\n",
" <td>138.600000</td>\n",
" <td>261.000000</td>\n",
" <td>173.533333</td>\n",
" <td>182.000000</td>\n",
" <td>314.366667</td>\n",
" <td>...</td>\n",
" <td>330.566667</td>\n",
" <td>345.366667</td>\n",
" <td>377.800000</td>\n",
" <td>391.266667</td>\n",
" <td>409.000000</td>\n",
" <td>426.833333</td>\n",
" <td>437.366667</td>\n",
" <td>448.166667</td>\n",
" <td>471.900000</td>\n",
" <td>481.933333</td>\n",
" </tr>\n",
" <tr>\n",
" <th rowspan=\"3\" valign=\"top\">string_insert</th>\n",
" <th>'robin_hood::unordered_flat&lt;string&gt;'</th>\n",
" <td>82.833333</td>\n",
" <td>97.466667</td>\n",
" <td>91.266667</td>\n",
" <td>163.566667</td>\n",
" <td>116.633333</td>\n",
" <td>131.833333</td>\n",
" <td>162.300000</td>\n",
" <td>224.466667</td>\n",
" <td>135.933333</td>\n",
" <td>154.100000</td>\n",
" <td>...</td>\n",
" <td>221.700000</td>\n",
" <td>234.566667</td>\n",
" <td>208.900000</td>\n",
" <td>238.900000</td>\n",
" <td>394.100000</td>\n",
" <td>216.866667</td>\n",
" <td>226.166667</td>\n",
" <td>245.700000</td>\n",
" <td>294.333333</td>\n",
" <td>378.300000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>'robin_hood::unordered_node&lt;string&gt;'</th>\n",
" <td>57.500000</td>\n",
" <td>58.333333</td>\n",
" <td>47.800000</td>\n",
" <td>66.366667</td>\n",
" <td>58.966667</td>\n",
" <td>68.700000</td>\n",
" <td>83.033333</td>\n",
" <td>101.600000</td>\n",
" <td>109.500000</td>\n",
" <td>115.266667</td>\n",
" <td>...</td>\n",
" <td>156.033333</td>\n",
" <td>168.933333</td>\n",
" <td>172.733333</td>\n",
" <td>184.100000</td>\n",
" <td>250.333333</td>\n",
" <td>179.966667</td>\n",
" <td>196.600000</td>\n",
" <td>207.166667</td>\n",
" <td>228.566667</td>\n",
" <td>281.533333</td>\n",
" </tr>\n",
" <tr>\n",
" <th>'std::map&lt;string&gt;'</th>\n",
" <td>92.000000</td>\n",
" <td>87.266667</td>\n",
" <td>123.700000</td>\n",
" <td>168.633333</td>\n",
" <td>195.966667</td>\n",
" <td>210.666667</td>\n",
" <td>235.933333</td>\n",
" <td>246.700000</td>\n",
" <td>259.700000</td>\n",
" <td>274.300000</td>\n",
" <td>...</td>\n",
" <td>371.733333</td>\n",
" <td>380.833333</td>\n",
" <td>398.800000</td>\n",
" <td>407.800000</td>\n",
" <td>419.900000</td>\n",
" <td>438.633333</td>\n",
" <td>448.633333</td>\n",
" <td>463.500000</td>\n",
" <td>470.933333</td>\n",
" <td>468.766667</td>\n",
" </tr>\n",
" <tr>\n",
" <th rowspan=\"3\" valign=\"top\">string_nosucc_lookup</th>\n",
" <th>'robin_hood::unordered_flat&lt;string&gt;'</th>\n",
" <td>188.700000</td>\n",
" <td>413.366667</td>\n",
" <td>87.933333</td>\n",
" <td>858.400000</td>\n",
" <td>103.733333</td>\n",
" <td>117.266667</td>\n",
" <td>144.066667</td>\n",
" <td>202.766667</td>\n",
" <td>116.433333</td>\n",
" <td>127.266667</td>\n",
" <td>...</td>\n",
" <td>184.966667</td>\n",
" <td>192.800000</td>\n",
" <td>176.266667</td>\n",
" <td>210.400000</td>\n",
" <td>342.733333</td>\n",
" <td>191.433333</td>\n",
" <td>201.600000</td>\n",
" <td>223.566667</td>\n",
" <td>271.666667</td>\n",
" <td>355.566667</td>\n",
" </tr>\n",
" <tr>\n",
" <th>'robin_hood::unordered_node&lt;string&gt;'</th>\n",
" <td>120.033333</td>\n",
" <td>218.333333</td>\n",
" <td>36.900000</td>\n",
" <td>910.000000</td>\n",
" <td>46.933333</td>\n",
" <td>53.966667</td>\n",
" <td>62.700000</td>\n",
" <td>77.733333</td>\n",
" <td>79.233333</td>\n",
" <td>84.000000</td>\n",
" <td>...</td>\n",
" <td>133.166667</td>\n",
" <td>144.300000</td>\n",
" <td>130.733333</td>\n",
" <td>153.233333</td>\n",
" <td>203.833333</td>\n",
" <td>139.900000</td>\n",
" <td>136.466667</td>\n",
" <td>159.500000</td>\n",
" <td>183.266667</td>\n",
" <td>215.466667</td>\n",
" </tr>\n",
" <tr>\n",
" <th>'std::map&lt;string&gt;'</th>\n",
" <td>141.133333</td>\n",
" <td>221.266667</td>\n",
" <td>368.500000</td>\n",
" <td>530.066667</td>\n",
" <td>806.966667</td>\n",
" <td>181.933333</td>\n",
" <td>1294.066667</td>\n",
" <td>208.200000</td>\n",
" <td>219.833333</td>\n",
" <td>2729.800000</td>\n",
" <td>...</td>\n",
" <td>306.866667</td>\n",
" <td>314.700000</td>\n",
" <td>335.333333</td>\n",
" <td>343.333333</td>\n",
" <td>348.466667</td>\n",
" <td>362.233333</td>\n",
" <td>371.300000</td>\n",
" <td>376.066667</td>\n",
" <td>394.466667</td>\n",
" <td>392.066667</td>\n",
" </tr>\n",
" <tr>\n",
" <th rowspan=\"3\" valign=\"top\">string_succ_lookup</th>\n",
" <th>'robin_hood::unordered_flat&lt;string&gt;'</th>\n",
" <td>25.933333</td>\n",
" <td>27.733333</td>\n",
" <td>45.700000</td>\n",
" <td>56.000000</td>\n",
" <td>78.700000</td>\n",
" <td>82.333333</td>\n",
" <td>84.500000</td>\n",
" <td>83.400000</td>\n",
" <td>96.566667</td>\n",
" <td>95.266667</td>\n",
" <td>...</td>\n",
" <td>152.966667</td>\n",
" <td>155.266667</td>\n",
" <td>163.900000</td>\n",
" <td>171.333333</td>\n",
" <td>182.533333</td>\n",
" <td>176.500000</td>\n",
" <td>178.400000</td>\n",
" <td>182.133333</td>\n",
" <td>185.866667</td>\n",
" <td>191.366667</td>\n",
" </tr>\n",
" <tr>\n",
" <th>'robin_hood::unordered_node&lt;string&gt;'</th>\n",
" <td>30.933333</td>\n",
" <td>35.600000</td>\n",
" <td>48.566667</td>\n",
" <td>79.666667</td>\n",
" <td>102.300000</td>\n",
" <td>113.000000</td>\n",
" <td>121.600000</td>\n",
" <td>126.266667</td>\n",
" <td>160.433333</td>\n",
" <td>163.900000</td>\n",
" <td>...</td>\n",
" <td>233.300000</td>\n",
" <td>240.866667</td>\n",
" <td>258.266667</td>\n",
" <td>272.933333</td>\n",
" <td>285.733333</td>\n",
" <td>288.500000</td>\n",
" <td>292.266667</td>\n",
" <td>296.700000</td>\n",
" <td>302.766667</td>\n",
" <td>309.800000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>'std::map&lt;string&gt;'</th>\n",
" <td>48.866667</td>\n",
" <td>56.433333</td>\n",
" <td>113.566667</td>\n",
" <td>161.800000</td>\n",
" <td>191.100000</td>\n",
" <td>209.766667</td>\n",
" <td>225.066667</td>\n",
" <td>236.400000</td>\n",
" <td>248.933333</td>\n",
" <td>257.866667</td>\n",
" <td>...</td>\n",
" <td>352.433333</td>\n",
" <td>359.533333</td>\n",
" <td>385.633333</td>\n",
" <td>399.200000</td>\n",
" <td>409.733333</td>\n",
" <td>426.500000</td>\n",
" <td>441.966667</td>\n",
" <td>463.000000</td>\n",
" <td>468.466667</td>\n",
" <td>471.433333</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>24 rows × 31 columns</p>\n",
"</div>"
],
"text/plain": [
" 50000 \\\n",
"TEST MAP \n",
"int_delete 'robin_hood::unordered_flat<int>' 9.066667 \n",
" 'robin_hood::unordered_node<int>' 10.700000 \n",
" 'std::map<int>' 44.233333 \n",
"int_insert 'robin_hood::unordered_flat<int>' 24.333333 \n",
" 'robin_hood::unordered_node<int>' 28.500000 \n",
" 'std::map<int>' 52.733333 \n",
"int_nosucc_lookup 'robin_hood::unordered_flat<int>' 58.366667 \n",
" 'robin_hood::unordered_node<int>' 71.600000 \n",
" 'std::map<int>' 97.333333 \n",
"int_succ_lookup 'robin_hood::unordered_flat<int>' 10.566667 \n",
" 'robin_hood::unordered_node<int>' 14.300000 \n",
" 'std::map<int>' 16.733333 \n",
"string_delete 'robin_hood::unordered_flat<string>' 25.233333 \n",
" 'robin_hood::unordered_node<string>' 18.100000 \n",
" 'std::map<string>' 63.300000 \n",
"string_insert 'robin_hood::unordered_flat<string>' 82.833333 \n",
" 'robin_hood::unordered_node<string>' 57.500000 \n",
" 'std::map<string>' 92.000000 \n",
"string_nosucc_lookup 'robin_hood::unordered_flat<string>' 188.700000 \n",
" 'robin_hood::unordered_node<string>' 120.033333 \n",
" 'std::map<string>' 141.133333 \n",
"string_succ_lookup 'robin_hood::unordered_flat<string>' 25.933333 \n",
" 'robin_hood::unordered_node<string>' 30.933333 \n",
" 'std::map<string>' 48.866667 \n",
"\n",
" 100000 \\\n",
"TEST MAP \n",
"int_delete 'robin_hood::unordered_flat<int>' 9.233333 \n",
" 'robin_hood::unordered_node<int>' 11.200000 \n",
" 'std::map<int>' 47.766667 \n",
"int_insert 'robin_hood::unordered_flat<int>' 29.466667 \n",
" 'robin_hood::unordered_node<int>' 32.933333 \n",
" 'std::map<int>' 52.066667 \n",
"int_nosucc_lookup 'robin_hood::unordered_flat<int>' 105.200000 \n",
" 'robin_hood::unordered_node<int>' 135.733333 \n",
" 'std::map<int>' 154.100000 \n",
"int_succ_lookup 'robin_hood::unordered_flat<int>' 11.933333 \n",
" 'robin_hood::unordered_node<int>' 15.666667 \n",
" 'std::map<int>' 17.266667 \n",
"string_delete 'robin_hood::unordered_flat<string>' 51.466667 \n",
" 'robin_hood::unordered_node<string>' 18.866667 \n",
" 'std::map<string>' 70.700000 \n",
"string_insert 'robin_hood::unordered_flat<string>' 97.466667 \n",
" 'robin_hood::unordered_node<string>' 58.333333 \n",
" 'std::map<string>' 87.266667 \n",
"string_nosucc_lookup 'robin_hood::unordered_flat<string>' 413.366667 \n",
" 'robin_hood::unordered_node<string>' 218.333333 \n",
" 'std::map<string>' 221.266667 \n",
"string_succ_lookup 'robin_hood::unordered_flat<string>' 27.733333 \n",
" 'robin_hood::unordered_node<string>' 35.600000 \n",
" 'std::map<string>' 56.433333 \n",
"\n",
" 150000 \\\n",
"TEST MAP \n",
"int_delete 'robin_hood::unordered_flat<int>' 16.033333 \n",
" 'robin_hood::unordered_node<int>' 17.700000 \n",
" 'std::map<int>' 50.766667 \n",
"int_insert 'robin_hood::unordered_flat<int>' 16.866667 \n",
" 'robin_hood::unordered_node<int>' 21.800000 \n",
" 'std::map<int>' 53.100000 \n",
"int_nosucc_lookup 'robin_hood::unordered_flat<int>' 19.300000 \n",
" 'robin_hood::unordered_node<int>' 23.500000 \n",
" 'std::map<int>' 212.000000 \n",
"int_succ_lookup 'robin_hood::unordered_flat<int>' 8.000000 \n",
" 'robin_hood::unordered_node<int>' 11.266667 \n",
" 'std::map<int>' 17.200000 \n",
"string_delete 'robin_hood::unordered_flat<string>' 46.800000 \n",
" 'robin_hood::unordered_node<string>' 27.500000 \n",
" 'std::map<string>' 108.900000 \n",
"string_insert 'robin_hood::unordered_flat<string>' 91.266667 \n",
" 'robin_hood::unordered_node<string>' 47.800000 \n",
" 'std::map<string>' 123.700000 \n",
"string_nosucc_lookup 'robin_hood::unordered_flat<string>' 87.933333 \n",
" 'robin_hood::unordered_node<string>' 36.900000 \n",
" 'std::map<string>' 368.500000 \n",
"string_succ_lookup 'robin_hood::unordered_flat<string>' 45.700000 \n",
" 'robin_hood::unordered_node<string>' 48.566667 \n",
" 'std::map<string>' 113.566667 \n",
"\n",
" 200000 \\\n",
"TEST MAP \n",
"int_delete 'robin_hood::unordered_flat<int>' 9.000000 \n",
" 'robin_hood::unordered_node<int>' 11.100000 \n",
" 'std::map<int>' 54.200000 \n",
"int_insert 'robin_hood::unordered_flat<int>' 31.466667 \n",
" 'robin_hood::unordered_node<int>' 36.200000 \n",
" 'std::map<int>' 55.433333 \n",
"int_nosucc_lookup 'robin_hood::unordered_flat<int>' 199.733333 \n",
" 'robin_hood::unordered_node<int>' 265.833333 \n",
" 'std::map<int>' 251.966667 \n",
"int_succ_lookup 'robin_hood::unordered_flat<int>' 12.100000 \n",
" 'robin_hood::unordered_node<int>' 17.033333 \n",
" 'std::map<int>' 17.600000 \n",
"string_delete 'robin_hood::unordered_flat<string>' 70.966667 \n",
" 'robin_hood::unordered_node<string>' 57.633333 \n",
" 'std::map<string>' 171.633333 \n",
"string_insert 'robin_hood::unordered_flat<string>' 163.566667 \n",
" 'robin_hood::unordered_node<string>' 66.366667 \n",
" 'std::map<string>' 168.633333 \n",
"string_nosucc_lookup 'robin_hood::unordered_flat<string>' 858.400000 \n",
" 'robin_hood::unordered_node<string>' 910.000000 \n",
" 'std::map<string>' 530.066667 \n",
"string_succ_lookup 'robin_hood::unordered_flat<string>' 56.000000 \n",
" 'robin_hood::unordered_node<string>' 79.666667 \n",
" 'std::map<string>' 161.800000 \n",
"\n",
" 250000 \\\n",
"TEST MAP \n",
"int_delete 'robin_hood::unordered_flat<int>' 12.066667 \n",
" 'robin_hood::unordered_node<int>' 13.800000 \n",
" 'std::map<int>' 58.533333 \n",
"int_insert 'robin_hood::unordered_flat<int>' 13.100000 \n",
" 'robin_hood::unordered_node<int>' 18.100000 \n",
" 'std::map<int>' 58.533333 \n",
"int_nosucc_lookup 'robin_hood::unordered_flat<int>' 14.700000 \n",
" 'robin_hood::unordered_node<int>' 18.333333 \n",
" 'std::map<int>' 331.233333 \n",
"int_succ_lookup 'robin_hood::unordered_flat<int>' 6.533333 \n",
" 'robin_hood::unordered_node<int>' 10.033333 \n",
" 'std::map<int>' 18.633333 \n",
"string_delete 'robin_hood::unordered_flat<string>' 41.933333 \n",
" 'robin_hood::unordered_node<string>' 23.966667 \n",
" 'std::map<string>' 207.366667 \n",
"string_insert 'robin_hood::unordered_flat<string>' 116.633333 \n",
" 'robin_hood::unordered_node<string>' 58.966667 \n",
" 'std::map<string>' 195.966667 \n",
"string_nosucc_lookup 'robin_hood::unordered_flat<string>' 103.733333 \n",
" 'robin_hood::unordered_node<string>' 46.933333 \n",
" 'std::map<string>' 806.966667 \n",
"string_succ_lookup 'robin_hood::unordered_flat<string>' 78.700000 \n",
" 'robin_hood::unordered_node<string>' 102.300000 \n",
" 'std::map<string>' 191.100000 \n",
"\n",
" 300000 \\\n",
"TEST MAP \n",
"int_delete 'robin_hood::unordered_flat<int>' 15.866667 \n",
" 'robin_hood::unordered_node<int>' 17.233333 \n",
" 'std::map<int>' 55.000000 \n",
"int_insert 'robin_hood::unordered_flat<int>' 17.466667 \n",
" 'robin_hood::unordered_node<int>' 22.866667 \n",
" 'std::map<int>' 58.166667 \n",
"int_nosucc_lookup 'robin_hood::unordered_flat<int>' 19.633333 \n",
" 'robin_hood::unordered_node<int>' 23.133333 \n",
" 'std::map<int>' 61.200000 \n",
"int_succ_lookup 'robin_hood::unordered_flat<int>' 8.033333 \n",
" 'robin_hood::unordered_node<int>' 12.000000 \n",
" 'std::map<int>' 18.433333 \n",
"string_delete 'robin_hood::unordered_flat<string>' 56.766667 \n",
" 'robin_hood::unordered_node<string>' 29.166667 \n",
" 'std::map<string>' 138.600000 \n",
"string_insert 'robin_hood::unordered_flat<string>' 131.833333 \n",
" 'robin_hood::unordered_node<string>' 68.700000 \n",
" 'std::map<string>' 210.666667 \n",
"string_nosucc_lookup 'robin_hood::unordered_flat<string>' 117.266667 \n",
" 'robin_hood::unordered_node<string>' 53.966667 \n",
" 'std::map<string>' 181.933333 \n",
"string_succ_lookup 'robin_hood::unordered_flat<string>' 82.333333 \n",
" 'robin_hood::unordered_node<string>' 113.000000 \n",
" 'std::map<string>' 209.766667 \n",
"\n",
" 350000 \\\n",
"TEST MAP \n",
"int_delete 'robin_hood::unordered_flat<int>' 21.533333 \n",
" 'robin_hood::unordered_node<int>' 23.300000 \n",
" 'std::map<int>' 77.666667 \n",
"int_insert 'robin_hood::unordered_flat<int>' 25.400000 \n",
" 'robin_hood::unordered_node<int>' 30.000000 \n",
" 'std::map<int>' 63.066667 \n",
"int_nosucc_lookup 'robin_hood::unordered_flat<int>' 26.700000 \n",
" 'robin_hood::unordered_node<int>' 31.066667 \n",
" 'std::map<int>' 490.266667 \n",
"int_succ_lookup 'robin_hood::unordered_flat<int>' 10.500000 \n",
" 'robin_hood::unordered_node<int>' 14.866667 \n",
" 'std::map<int>' 20.166667 \n",
"string_delete 'robin_hood::unordered_flat<string>' 83.300000 \n",
" 'robin_hood::unordered_node<string>' 34.700000 \n",
" 'std::map<string>' 261.000000 \n",
"string_insert 'robin_hood::unordered_flat<string>' 162.300000 \n",
" 'robin_hood::unordered_node<string>' 83.033333 \n",
" 'std::map<string>' 235.933333 \n",
"string_nosucc_lookup 'robin_hood::unordered_flat<string>' 144.066667 \n",
" 'robin_hood::unordered_node<string>' 62.700000 \n",
" 'std::map<string>' 1294.066667 \n",
"string_succ_lookup 'robin_hood::unordered_flat<string>' 84.500000 \n",
" 'robin_hood::unordered_node<string>' 121.600000 \n",
" 'std::map<string>' 225.066667 \n",
"\n",
" 400000 \\\n",
"TEST MAP \n",
"int_delete 'robin_hood::unordered_flat<int>' 29.833333 \n",
" 'robin_hood::unordered_node<int>' 32.400000 \n",
" 'std::map<int>' 60.866667 \n",
"int_insert 'robin_hood::unordered_flat<int>' 33.833333 \n",
" 'robin_hood::unordered_node<int>' 39.300000 \n",
" 'std::map<int>' 71.133333 \n",
"int_nosucc_lookup 'robin_hood::unordered_flat<int>' 36.900000 \n",
" 'robin_hood::unordered_node<int>' 41.900000 \n",
" 'std::map<int>' 74.766667 \n",
"int_succ_lookup 'robin_hood::unordered_flat<int>' 13.000000 \n",
" 'robin_hood::unordered_node<int>' 17.833333 \n",
" 'std::map<int>' 23.833333 \n",
"string_delete 'robin_hood::unordered_flat<string>' 139.500000 \n",
" 'robin_hood::unordered_node<string>' 43.466667 \n",
" 'std::map<string>' 173.533333 \n",
"string_insert 'robin_hood::unordered_flat<string>' 224.466667 \n",
" 'robin_hood::unordered_node<string>' 101.600000 \n",
" 'std::map<string>' 246.700000 \n",
"string_nosucc_lookup 'robin_hood::unordered_flat<string>' 202.766667 \n",
" 'robin_hood::unordered_node<string>' 77.733333 \n",
" 'std::map<string>' 208.200000 \n",
"string_succ_lookup 'robin_hood::unordered_flat<string>' 83.400000 \n",
" 'robin_hood::unordered_node<string>' 126.266667 \n",
" 'std::map<string>' 236.400000 \n",
"\n",
" 500000 \\\n",
"TEST MAP \n",
"int_delete 'robin_hood::unordered_flat<int>' 12.033333 \n",
" 'robin_hood::unordered_node<int>' 14.533333 \n",
" 'std::map<int>' 69.266667 \n",
"int_insert 'robin_hood::unordered_flat<int>' 13.733333 \n",
" 'robin_hood::unordered_node<int>' 19.700000 \n",
" 'std::map<int>' 95.233333 \n",
"int_nosucc_lookup 'robin_hood::unordered_flat<int>' 15.000000 \n",
" 'robin_hood::unordered_node<int>' 19.866667 \n",
" 'std::map<int>' 99.633333 \n",
"int_succ_lookup 'robin_hood::unordered_flat<int>' 6.966667 \n",
" 'robin_hood::unordered_node<int>' 13.100000 \n",
" 'std::map<int>' 32.766667 \n",
"string_delete 'robin_hood::unordered_flat<string>' 48.066667 \n",
" 'robin_hood::unordered_node<string>' 26.300000 \n",
" 'std::map<string>' 182.000000 \n",
"string_insert 'robin_hood::unordered_flat<string>' 135.933333 \n",
" 'robin_hood::unordered_node<string>' 109.500000 \n",
" 'std::map<string>' 259.700000 \n",
"string_nosucc_lookup 'robin_hood::unordered_flat<string>' 116.433333 \n",
" 'robin_hood::unordered_node<string>' 79.233333 \n",
" 'std::map<string>' 219.833333 \n",
"string_succ_lookup 'robin_hood::unordered_flat<string>' 96.566667 \n",
" 'robin_hood::unordered_node<string>' 160.433333 \n",
" 'std::map<string>' 248.933333 \n",
"\n",
" 600000 ... \\\n",
"TEST MAP ... \n",
"int_delete 'robin_hood::unordered_flat<int>' 15.833333 ... \n",
" 'robin_hood::unordered_node<int>' 18.066667 ... \n",
" 'std::map<int>' 189.700000 ... \n",
"int_insert 'robin_hood::unordered_flat<int>' 18.033333 ... \n",
" 'robin_hood::unordered_node<int>' 23.633333 ... \n",
" 'std::map<int>' 121.100000 ... \n",
"int_nosucc_lookup 'robin_hood::unordered_flat<int>' 19.200000 ... \n",
" 'robin_hood::unordered_node<int>' 24.833333 ... \n",
" 'std::map<int>' 1628.166667 ... \n",
"int_succ_lookup 'robin_hood::unordered_flat<int>' 8.000000 ... \n",
" 'robin_hood::unordered_node<int>' 16.266667 ... \n",
" 'std::map<int>' 41.100000 ... \n",
"string_delete 'robin_hood::unordered_flat<string>' 63.400000 ... \n",
" 'robin_hood::unordered_node<string>' 30.800000 ... \n",
" 'std::map<string>' 314.366667 ... \n",
"string_insert 'robin_hood::unordered_flat<string>' 154.100000 ... \n",
" 'robin_hood::unordered_node<string>' 115.266667 ... \n",
" 'std::map<string>' 274.300000 ... \n",
"string_nosucc_lookup 'robin_hood::unordered_flat<string>' 127.266667 ... \n",
" 'robin_hood::unordered_node<string>' 84.000000 ... \n",
" 'std::map<string>' 2729.800000 ... \n",
"string_succ_lookup 'robin_hood::unordered_flat<string>' 95.266667 ... \n",
" 'robin_hood::unordered_node<string>' 163.900000 ... \n",
" 'std::map<string>' 257.866667 ... \n",
"\n",
" 9000000 \\\n",
"TEST MAP \n",
"int_delete 'robin_hood::unordered_flat<int>' 19.033333 \n",
" 'robin_hood::unordered_node<int>' 23.066667 \n",
" 'std::map<int>' 128.866667 \n",
"int_insert 'robin_hood::unordered_flat<int>' 47.666667 \n",
" 'robin_hood::unordered_node<int>' 57.666667 \n",
" 'std::map<int>' 242.400000 \n",
"int_nosucc_lookup 'robin_hood::unordered_flat<int>' 43.300000 \n",
" 'robin_hood::unordered_node<int>' 57.033333 \n",
" 'std::map<int>' 245.033333 \n",
"int_succ_lookup 'robin_hood::unordered_flat<int>' 25.466667 \n",
" 'robin_hood::unordered_node<int>' 57.200000 \n",
" 'std::map<int>' 70.766667 \n",
"string_delete 'robin_hood::unordered_flat<string>' 96.733333 \n",
" 'robin_hood::unordered_node<string>' 47.900000 \n",
" 'std::map<string>' 330.566667 \n",
"string_insert 'robin_hood::unordered_flat<string>' 221.700000 \n",
" 'robin_hood::unordered_node<string>' 156.033333 \n",
" 'std::map<string>' 371.733333 \n",
"string_nosucc_lookup 'robin_hood::unordered_flat<string>' 184.966667 \n",
" 'robin_hood::unordered_node<string>' 133.166667 \n",
" 'std::map<string>' 306.866667 \n",
"string_succ_lookup 'robin_hood::unordered_flat<string>' 152.966667 \n",
" 'robin_hood::unordered_node<string>' 233.300000 \n",
" 'std::map<string>' 352.433333 \n",
"\n",
" 10000000 \\\n",
"TEST MAP \n",
"int_delete 'robin_hood::unordered_flat<int>' 23.000000 \n",
" 'robin_hood::unordered_node<int>' 27.733333 \n",
" 'std::map<int>' 134.066667 \n",
"int_insert 'robin_hood::unordered_flat<int>' 47.266667 \n",
" 'robin_hood::unordered_node<int>' 66.500000 \n",
" 'std::map<int>' 256.333333 \n",
"int_nosucc_lookup 'robin_hood::unordered_flat<int>' 51.933333 \n",
" 'robin_hood::unordered_node<int>' 68.366667 \n",
" 'std::map<int>' 257.566667 \n",
"int_succ_lookup 'robin_hood::unordered_flat<int>' 27.200000 \n",
" 'robin_hood::unordered_node<int>' 58.533333 \n",
" 'std::map<int>' 73.966667 \n",
"string_delete 'robin_hood::unordered_flat<string>' 114.300000 \n",
" 'robin_hood::unordered_node<string>' 58.033333 \n",
" 'std::map<string>' 345.366667 \n",
"string_insert 'robin_hood::unordered_flat<string>' 234.566667 \n",
" 'robin_hood::unordered_node<string>' 168.933333 \n",
" 'std::map<string>' 380.833333 \n",
"string_nosucc_lookup 'robin_hood::unordered_flat<string>' 192.800000 \n",
" 'robin_hood::unordered_node<string>' 144.300000 \n",
" 'std::map<string>' 314.700000 \n",
"string_succ_lookup 'robin_hood::unordered_flat<string>' 155.266667 \n",
" 'robin_hood::unordered_node<string>' 240.866667 \n",
" 'std::map<string>' 359.533333 \n",
"\n",
" 15000000 \\\n",
"TEST MAP \n",
"int_delete 'robin_hood::unordered_flat<int>' 15.633333 \n",
" 'robin_hood::unordered_node<int>' 20.900000 \n",
" 'std::map<int>' 131.566667 \n",
"int_insert 'robin_hood::unordered_flat<int>' 33.366667 \n",
" 'robin_hood::unordered_node<int>' 52.633333 \n",
" 'std::map<int>' 253.066667 \n",
"int_nosucc_lookup 'robin_hood::unordered_flat<int>' 37.600000 \n",
" 'robin_hood::unordered_node<int>' 50.966667 \n",
" 'std::map<int>' 254.733333 \n",
"int_succ_lookup 'robin_hood::unordered_flat<int>' 25.133333 \n",
" 'robin_hood::unordered_node<int>' 59.466667 \n",
" 'std::map<int>' 72.166667 \n",
"string_delete 'robin_hood::unordered_flat<string>' 76.666667 \n",
" 'robin_hood::unordered_node<string>' 52.633333 \n",
" 'std::map<string>' 377.800000 \n",
"string_insert 'robin_hood::unordered_flat<string>' 208.900000 \n",
" 'robin_hood::unordered_node<string>' 172.733333 \n",
" 'std::map<string>' 398.800000 \n",
"string_nosucc_lookup 'robin_hood::unordered_flat<string>' 176.266667 \n",
" 'robin_hood::unordered_node<string>' 130.733333 \n",
" 'std::map<string>' 335.333333 \n",
"string_succ_lookup 'robin_hood::unordered_flat<string>' 163.900000 \n",
" 'robin_hood::unordered_node<string>' 258.266667 \n",
" 'std::map<string>' 385.633333 \n",
"\n",
" 20000000 \\\n",
"TEST MAP \n",
"int_delete 'robin_hood::unordered_flat<int>' 23.466667 \n",
" 'robin_hood::unordered_node<int>' 28.933333 \n",
" 'std::map<int>' 135.300000 \n",
"int_insert 'robin_hood::unordered_flat<int>' 49.066667 \n",
" 'robin_hood::unordered_node<int>' 71.033333 \n",
" 'std::map<int>' 251.300000 \n",
"int_nosucc_lookup 'robin_hood::unordered_flat<int>' 53.966667 \n",
" 'robin_hood::unordered_node<int>' 68.733333 \n",
" 'std::map<int>' 253.566667 \n",
"int_succ_lookup 'robin_hood::unordered_flat<int>' 28.133333 \n",
" 'robin_hood::unordered_node<int>' 61.533333 \n",
" 'std::map<int>' 72.166667 \n",
"string_delete 'robin_hood::unordered_flat<string>' 122.866667 \n",
" 'robin_hood::unordered_node<string>' 73.033333 \n",
" 'std::map<string>' 391.266667 \n",
"string_insert 'robin_hood::unordered_flat<string>' 238.900000 \n",
" 'robin_hood::unordered_node<string>' 184.100000 \n",
" 'std::map<string>' 407.800000 \n",
"string_nosucc_lookup 'robin_hood::unordered_flat<string>' 210.400000 \n",
" 'robin_hood::unordered_node<string>' 153.233333 \n",
" 'std::map<string>' 343.333333 \n",
"string_succ_lookup 'robin_hood::unordered_flat<string>' 171.333333 \n",
" 'robin_hood::unordered_node<string>' 272.933333 \n",
" 'std::map<string>' 399.200000 \n",
"\n",
" 25000000 \\\n",
"TEST MAP \n",
"int_delete 'robin_hood::unordered_flat<int>' 45.933333 \n",
" 'robin_hood::unordered_node<int>' 56.266667 \n",
" 'std::map<int>' 139.566667 \n",
"int_insert 'robin_hood::unordered_flat<int>' 103.266667 \n",
" 'robin_hood::unordered_node<int>' 129.100000 \n",
" 'std::map<int>' 251.100000 \n",
"int_nosucc_lookup 'robin_hood::unordered_flat<int>' 111.266667 \n",
" 'robin_hood::unordered_node<int>' 130.166667 \n",
" 'std::map<int>' 253.400000 \n",
"int_succ_lookup 'robin_hood::unordered_flat<int>' 36.766667 \n",
" 'robin_hood::unordered_node<int>' 72.600000 \n",
" 'std::map<int>' 72.466667 \n",
"string_delete 'robin_hood::unordered_flat<string>' 232.700000 \n",
" 'robin_hood::unordered_node<string>' 135.300000 \n",
" 'std::map<string>' 409.000000 \n",
"string_insert 'robin_hood::unordered_flat<string>' 394.100000 \n",
" 'robin_hood::unordered_node<string>' 250.333333 \n",
" 'std::map<string>' 419.900000 \n",
"string_nosucc_lookup 'robin_hood::unordered_flat<string>' 342.733333 \n",
" 'robin_hood::unordered_node<string>' 203.833333 \n",
" 'std::map<string>' 348.466667 \n",
"string_succ_lookup 'robin_hood::unordered_flat<string>' 182.533333 \n",
" 'robin_hood::unordered_node<string>' 285.733333 \n",
" 'std::map<string>' 409.733333 \n",
"\n",
" 30000000 \\\n",
"TEST MAP \n",
"int_delete 'robin_hood::unordered_flat<int>' 16.566667 \n",
" 'robin_hood::unordered_node<int>' 23.100000 \n",
" 'std::map<int>' 154.800000 \n",
"int_insert 'robin_hood::unordered_flat<int>' 39.666667 \n",
" 'robin_hood::unordered_node<int>' 74.533333 \n",
" 'std::map<int>' 292.166667 \n",
"int_nosucc_lookup 'robin_hood::unordered_flat<int>' 41.600000 \n",
" 'robin_hood::unordered_node<int>' 57.433333 \n",
" 'std::map<int>' 273.366667 \n",
"int_succ_lookup 'robin_hood::unordered_flat<int>' 31.400000 \n",
" 'robin_hood::unordered_node<int>' 75.133333 \n",
" 'std::map<int>' 84.733333 \n",
"string_delete 'robin_hood::unordered_flat<string>' 82.133333 \n",
" 'robin_hood::unordered_node<string>' 62.900000 \n",
" 'std::map<string>' 426.833333 \n",
"string_insert 'robin_hood::unordered_flat<string>' 216.866667 \n",
" 'robin_hood::unordered_node<string>' 179.966667 \n",
" 'std::map<string>' 438.633333 \n",
"string_nosucc_lookup 'robin_hood::unordered_flat<string>' 191.433333 \n",
" 'robin_hood::unordered_node<string>' 139.900000 \n",
" 'std::map<string>' 362.233333 \n",
"string_succ_lookup 'robin_hood::unordered_flat<string>' 176.500000 \n",
" 'robin_hood::unordered_node<string>' 288.500000 \n",
" 'std::map<string>' 426.500000 \n",
"\n",
" 35000000 \\\n",
"TEST MAP \n",
"int_delete 'robin_hood::unordered_flat<int>' 19.566667 \n",
" 'robin_hood::unordered_node<int>' 26.166667 \n",
" 'std::map<int>' 164.200000 \n",
"int_insert 'robin_hood::unordered_flat<int>' 46.866667 \n",
" 'robin_hood::unordered_node<int>' 83.533333 \n",
" 'std::map<int>' 303.200000 \n",
"int_nosucc_lookup 'robin_hood::unordered_flat<int>' 47.366667 \n",
" 'robin_hood::unordered_node<int>' 63.000000 \n",
" 'std::map<int>' 278.166667 \n",
"int_succ_lookup 'robin_hood::unordered_flat<int>' 33.066667 \n",
" 'robin_hood::unordered_node<int>' 77.466667 \n",
" 'std::map<int>' 89.033333 \n",
"string_delete 'robin_hood::unordered_flat<string>' 100.233333 \n",
" 'robin_hood::unordered_node<string>' 59.100000 \n",
" 'std::map<string>' 437.366667 \n",
"string_insert 'robin_hood::unordered_flat<string>' 226.166667 \n",
" 'robin_hood::unordered_node<string>' 196.600000 \n",
" 'std::map<string>' 448.633333 \n",
"string_nosucc_lookup 'robin_hood::unordered_flat<string>' 201.600000 \n",
" 'robin_hood::unordered_node<string>' 136.466667 \n",
" 'std::map<string>' 371.300000 \n",
"string_succ_lookup 'robin_hood::unordered_flat<string>' 178.400000 \n",
" 'robin_hood::unordered_node<string>' 292.266667 \n",
" 'std::map<string>' 441.966667 \n",
"\n",
" 40000000 \\\n",
"TEST MAP \n",
"int_delete 'robin_hood::unordered_flat<int>' 24.233333 \n",
" 'robin_hood::unordered_node<int>' 31.200000 \n",
" 'std::map<int>' 161.700000 \n",
"int_insert 'robin_hood::unordered_flat<int>' 59.833333 \n",
" 'robin_hood::unordered_node<int>' 99.566667 \n",
" 'std::map<int>' 306.166667 \n",
"int_nosucc_lookup 'robin_hood::unordered_flat<int>' 58.800000 \n",
" 'robin_hood::unordered_node<int>' 75.966667 \n",
" 'std::map<int>' 278.733333 \n",
"int_succ_lookup 'robin_hood::unordered_flat<int>' 35.700000 \n",
" 'robin_hood::unordered_node<int>' 80.000000 \n",
" 'std::map<int>' 91.266667 \n",
"string_delete 'robin_hood::unordered_flat<string>' 128.500000 \n",
" 'robin_hood::unordered_node<string>' 85.266667 \n",
" 'std::map<string>' 448.166667 \n",
"string_insert 'robin_hood::unordered_flat<string>' 245.700000 \n",
" 'robin_hood::unordered_node<string>' 207.166667 \n",
" 'std::map<string>' 463.500000 \n",
"string_nosucc_lookup 'robin_hood::unordered_flat<string>' 223.566667 \n",
" 'robin_hood::unordered_node<string>' 159.500000 \n",
" 'std::map<string>' 376.066667 \n",
"string_succ_lookup 'robin_hood::unordered_flat<string>' 182.133333 \n",
" 'robin_hood::unordered_node<string>' 296.700000 \n",
" 'std::map<string>' 463.000000 \n",
"\n",
" 45000000 \\\n",
"TEST MAP \n",
"int_delete 'robin_hood::unordered_flat<int>' 32.900000 \n",
" 'robin_hood::unordered_node<int>' 41.900000 \n",
" 'std::map<int>' 166.400000 \n",
"int_insert 'robin_hood::unordered_flat<int>' 85.566667 \n",
" 'robin_hood::unordered_node<int>' 126.200000 \n",
" 'std::map<int>' 317.300000 \n",
"int_nosucc_lookup 'robin_hood::unordered_flat<int>' 82.400000 \n",
" 'robin_hood::unordered_node<int>' 102.166667 \n",
" 'std::map<int>' 288.666667 \n",
"int_succ_lookup 'robin_hood::unordered_flat<int>' 38.766667 \n",
" 'robin_hood::unordered_node<int>' 82.933333 \n",
" 'std::map<int>' 94.566667 \n",
"string_delete 'robin_hood::unordered_flat<string>' 172.533333 \n",
" 'robin_hood::unordered_node<string>' 111.966667 \n",
" 'std::map<string>' 471.900000 \n",
"string_insert 'robin_hood::unordered_flat<string>' 294.333333 \n",
" 'robin_hood::unordered_node<string>' 228.566667 \n",
" 'std::map<string>' 470.933333 \n",
"string_nosucc_lookup 'robin_hood::unordered_flat<string>' 271.666667 \n",
" 'robin_hood::unordered_node<string>' 183.266667 \n",
" 'std::map<string>' 394.466667 \n",
"string_succ_lookup 'robin_hood::unordered_flat<string>' 185.866667 \n",
" 'robin_hood::unordered_node<string>' 302.766667 \n",
" 'std::map<string>' 468.466667 \n",
"\n",
" 50000000 \n",
"TEST MAP \n",
"int_delete 'robin_hood::unordered_flat<int>' 48.266667 \n",
" 'robin_hood::unordered_node<int>' 61.500000 \n",
" 'std::map<int>' 172.333333 \n",
"int_insert 'robin_hood::unordered_flat<int>' 128.100000 \n",
" 'robin_hood::unordered_node<int>' 169.233333 \n",
" 'std::map<int>' 310.600000 \n",
"int_nosucc_lookup 'robin_hood::unordered_flat<int>' 119.600000 \n",
" 'robin_hood::unordered_node<int>' 140.166667 \n",
" 'std::map<int>' 287.000000 \n",
"int_succ_lookup 'robin_hood::unordered_flat<int>' 43.466667 \n",
" 'robin_hood::unordered_node<int>' 89.566667 \n",
" 'std::map<int>' 93.933333 \n",
"string_delete 'robin_hood::unordered_flat<string>' 240.166667 \n",
" 'robin_hood::unordered_node<string>' 167.733333 \n",
" 'std::map<string>' 481.933333 \n",
"string_insert 'robin_hood::unordered_flat<string>' 378.300000 \n",
" 'robin_hood::unordered_node<string>' 281.533333 \n",
" 'std::map<string>' 468.766667 \n",
"string_nosucc_lookup 'robin_hood::unordered_flat<string>' 355.566667 \n",
" 'robin_hood::unordered_node<string>' 215.466667 \n",
" 'std::map<string>' 392.066667 \n",
"string_succ_lookup 'robin_hood::unordered_flat<string>' 191.366667 \n",
" 'robin_hood::unordered_node<string>' 309.800000 \n",
" 'std::map<string>' 471.433333 \n",
"\n",
"[24 rows x 31 columns]"
]
},
"execution_count": 3,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"groups_mean = data.groupby([\"TEST\", \"MAP\"]).mean()\n",
"groups_mean"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {
"scrolled": true
},
"outputs": [],
"source": [
"groups_std = data.groupby([\"TEST\", \"MAP\"]).std()"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {
"scrolled": true
},
"outputs": [
{
"data": {
"image/png": "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sVqzZo327dunW265RXFxcRowYICnhv3796tfv37q2rWrnnjiiQrvcejQocrKylJcXJxWr15d5tgrr7yiXr16qXv37rr99tuVk5Ojzz77TOvXr9fkyZPVo0cP7du3r8w5J0+e1F//+lf17t3bM5Ns2bJl+u1vfyvJ/X0wadIkXX311WrdurXne+Lxxx/Xxo0b1aNHDz3//PP67rvv1L59ez366KPas2dPubWXfH8CAAAAAAAAwOUo8d1EJb6b6O0yUAv5ebuAmvTMW7uVdPDkefslHXL3qcw+YJ2b1dfTP+9S6Rq++OILz+vvv/9ey5cvV9++fXXw4EFNmTJF27ZtU4MGDXTTTTdp3bp1uu2225Sdna34+Hg9//zzmjZtmp555hm99NJLZ40dERGh7du36y9/+Ytmz56tRYsWnbOOb775Rhs2bFBmZqY6dOigiRMnaufOnVq6dKk2b94sa6369Omj6667TkVFRedsX7VqlXbs2KGCggLFxsYqLi5OkrRgwQJJ0oQJE7R161YtWLCgwnoquoenn35aPXv21Lp16/TRRx/p3nvv1Y4dOyS5g7xNmzYpMDBQc+bMkdPp1J49e7Rz507FxsZKklJTUzV9+nR98MEHCgoK0qxZszRnzhw99dRTkqTw8HBt375dkjRo0CAtWLBA7dq10+bNm/XrX/9aH330kR588EFNnDhR9957r+bPn1/hPaxfv17BwcGeGqdOneo5NmLECN1///2SpCeeeEKLFy/W7373Ow0dOlRDhgzRHXfc4em7adMmLVq0SJ9++qluv/12vfbaa2rfvn251zx06JA2bdqkb775RkOHDtUdd9yhmTNnavbs2Xr77bc9/Xbu3KnVq1dr/PjxMsbol7/8pe68804FBQVJKvv9CQAAAAAAAABAXVGnA7DaplWrVurbt68kd/CQkJDgmYFz991365NPPtFtt90mHx8fjRo1SpI0ZswYjRgxotzxStrj4uL0j3/8o8JrDx48WP7+/vL391ejRo105MgRbdq0ScOHD/eEISNGjNDGjRtlrS23vaioSMOHD5fT6ZTknvlUYsKECZ7X8fHxlQq/znUPmzZt0htvvCFJuv7665WWlqaTJ096rhkYGChJ+uSTTzRp0iRJUrdu3dStWzdJ0ueff66kpCT1799fknTq1Cn169fPc82SzzYrK0ufffaZRo4c6TmWn58vSfr00089Ndxzzz1nzdCrrF27dumJJ55Qenq6srKydPPNN5fbb9KkSXr11Vc1f/58LV68WL6+vhWOW/J90rlzZx05cuSc/UJCQjR+/HiNHz9ee/bs0S9/+Us9+OCDns8TAAAAAAAAAIC6qE4HYJWdqVUy82v1r/qdp+fFKQmUqsoYU267v7+/JMnX1/e8e2KV9K1s/+ri5+dXZr+zvLy8cuuqbE2V+Qyttbrxxhu1cuXKCscoKipSWFiYZ+bWmc71uVfFuHHjtG7dOnXv3l3Lli3Txx9/XG6/3//+96pfv76eeeYZvfvuu0pMTFRCQsJ5v/aS+34rkpKSouXLl2vlypXq3r17mRlqAAAAAAAAAADURewB5iW9e/fWf/7zH6WmpqqwsFArV67UddddJ8kdzJTs6/T666/rmmuuqZEaBgwYoHXr1iknJ0fZ2dl68803NWDAgHO2X3vttVq3bp1yc3O
"text/plain": [
"<Figure size 2160x360 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAABsAAAAE/CAYAAAD42gY8AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjMsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+AADFEAAAgAElEQVR4nOzdeVzVZf7//8fFIpsgCO6aKO4pbrhlJmaLpalppZWlpDU6SzZNZTO/SnNsccafZcvUOCo6jtuYxdgyfsqyRS0NGzXTyiXKPQFRdoFzff94wxEUEA04is/77XZu55z3+3pf79d1WLzdeHpdl7HWIiIiIiIiIiIiIiIiIlJTeHm6ABEREREREREREREREZHKpABMREREREREREREREREahQFYCIiIiIiIiIiIiIiIlKjKAATERERERERERERERGRGkUBmIiIiIiIiIiIiIiIiNQoCsBERERERERERERERESkRlEAJiIiIiIiNYox5htjTKyn66guxhFvjDlujNlcgfYLjTEzyjg3zhizvhJqmmaM+dcv7UdERERERORC+Xi6ABERERERkcpkrb2yom2NMUnABGvt2qqrqMpdDVwPNLXWZnq6GBERERERkYuBZoCJiIiIiIhc2poDSQq/RERERERETlMAJiIiIiIiNYoxJskYc13h62nGmH8bY/5pjEkvXB4xpvDcYuAK4G1jTIYx5rFS+oowxrxjjEkzxqQaYz4zxngVnrPGmFbF2pZYWtAYM8wYs9UYc9IYs9cYM6jweN3CJQsPFS5bmFDsmiGF16QZYzYaY6KLnZtijDlYOI7vjDEDjTHjgXlAn8IxPF3aMoZn1noen+VVxpgvjTEnCp+vKnausTFmdeHnsscYc38ZffgaY5YZY1YZY2qV8jnFGmMOFHufZIz5ozFmZ+HnE2+M8T/f2kVERERE5PKmAExERERERGq6ocByIBRYDbwCYK29B/gJuMVaW9ta+5dSrv0DcACoBzQA/gTYc93QGNMT+CfwaOF9rwGSCk8vBgKBK4H6wAuF13QFFgC/AsKBvwOrjTF+xpi2wG+BHtbaYOBGnFlf84GJwOeFY5ha8Y/lnGOoC7wLvFRYz2zgXWNMeGGT5TifTWPgNuBZY8y1Z/QRACQAucAd1tpTFbz93ThjjALaAE/8stGIiIiIiMjlRgGYiIiIiIjUdOutte9ZawtwwqfO53FtHtAIaG6tzbPWfmatPWcABowHFlhrP7DWuqy1B6213xpjGgE3AROttccL+/yk8JoHgL9bazdZawustYtwgqPeQAHgB3Qwxvhaa5OstXvPYxwXYjCw21q72Fqbb61dBnwL3GKMaQb0BaZYa3OstVtxZqLdW+z6EGANsBeIK/z8K+oVa+1+a20q8AxwZ2UMSERERERELh8KwEREREREpKY7Uux1FuBvjPGp4LV/BfYA7xtj9hljHq/gdc1wgp/Sjqdaa4+Xcq458IfC5Q/TjDFphe0bW2v3AA8B04CfjTHLjTGNK1jLhWoM/HjGsR+BJoXnUq216aWcK9IbiAaer2BoWNz+M/qt6rGKiIiIiEgNowBMREREREQuZ+UGM9badGvtH6y1LXGWUnzYGDOw8HQWzlKGRRoWe70fZ/m+M+0H6hpjQss494y1NrTYI7Bw5hXW2qXW2qtxgjILzCyj7MzidRljGpbR7lwOFd6ruCuAg4Xn6hpjgks5V+R94DngQ2NMg7Lqo+TnVqTZGf0eOr/SRURERETkcqcATERERERELmdHgZZlnTTGDDHGtDLGGOAEzlKErsLTW4G7jDHexphBQP9il84H4owxA40xXsaYJsaYdtbaw8B/gb8ZY8KMMb7GmGsKr/kHMNEY08s4gowxg40xwcaYtsaYa40xfkAOkF2sjjNtA640xnQxxvjjzBq7EO8BbYwxdxljfIwxo4AOwDvW2v3ARuA5Y4y/MSYaZ9nHfxXvoHBftaU4IVhEsc/tZmNM3cJw7qFS7v0bY0zTwn3I/j9gxQWOQURERERELlMKwERERERE5HL2HPBE4ZKDj5RyvjWwFsgAPgf+Zq1dV3huMnALkAbcDSQUXWSt3QzEAS/gBGefcHo21T04e4t9C/xMYQBkrU0E7gdeAY7jLL04rvAaP+B5IBlnScf6wB9LG5C19ntgemHdu4H1FfwszuwnBRgC/AFIAR4Dhlhrkwub3AlE4szOeguYaq1dW0o/f8b5bNYWBlqLcUK6JJxZYqWFW0sLz+3DWUpyxoWMQURERERELl/m/JdiFxEREREREakaxpgkYEJpYZqIiIiIiEhFaQaYiIiIiIiIiIiIiIiI1CgKwERERERERERERERERKRG0RKIIiIiIiIiIiIiIiIiUqNoBpiIiIiIiIiIiIiIiIjUKArAREREREREREREREREpEbx8XQBv0RERISNjIz0dBkiIiIiIiIiIiIiIiJSzbZs2ZJsra1X2rlLOgCLjIwkMTHR02WIiIiIiIiIiIiIiIhINTPG/FjWOS2BKCIiIiIiIiIiIiIiIjWKAjARERERERERERERERGpURSAiYiIiIiIiIiIiIiISI1ySe8BVpq8vDwOHDhATk6Op0sRqZH8/f1p2rQpvr6+ni5FRERERERERERERKRUNS4AO3DgAMHBwURGRmKM8XQ5IjWKtZaUlBQOHDhAixYtPF2OiIiIiIiIiIiIiEipatwSiDk5OYSHhyv8EqkCxhjCw8M1w1JERERERERERERELmpVFoAZYxYYY342xuwodqyuMeYDY8zuwuewwuPGGPOSMWaPMWa7MabbL7z3Ly1fRMqgny8RERERERERERERudhV5QywhcCgM449DnxorW0NfFj4HuAmoHXh4wHgtSqs6yyj/v45o/7+eXXeUkRERERERERERERERKpIlQVg1tpPgdQzDg8DFhW+XgQML3b8n9bxBRBqjGlUVbVVp8jIyPO+pnbt2qUef+qpp1i7du159zdt2jRmzZp13td5qt8LFRsbS2JiYpX0XdbXpMijjz7KlVdeyaOPPlqhzyUhIYGdO3dW+P6rV6/m+eefL7dNUlISS5curXCfcGHfnyIiIiIiIiIiIiIiF7vq3gOsgbX2cOHrI0CDwtdNgP3F2h0oPFYjWWtxuVznfd306dO57rrrqqCiS09+fv4v7qOgoKASKnHMnTuX7du389e//rVC7SsagKWmOhny0KFDefzxx8tte2YAlpmZSV5eXoXqERERERERERERERGpSao7AHOz1lrAnu91xpgHjDGJxpjEY8eOVUFllatevXqAE060bduWe++9l44dO7J//36WLVtGp06d6NixI1OmTClx3e9//3uuvPJKBg4cSNE4x40bxxtvvAE4M3emTp1Kt27d6NSpE99++225dezcuZPY2FhatmzJSy+95D4+e/ZsOnbsSMeOHXnxxRfPefyZZ56hTZs2XH311Xz33XfnHP/HH3/MkCFD3O9/+9vfsnDhwnLHkJqayvDhw4mOjqZ3795s374dcGac3XPPPfTt25d77rmH7OxsRo8eTfv27bn11lvJzs523+f999+nT58+dOvWjdtvv52MjAz3PadMmUK3bt1YuXIle/fuZdCgQXTv3p1+/fq5a/jhhx/o06cPnTp14oknnih3jEOHDiUjI4Pu3buzYsWKEuf+8Y9/0KNHDzp37szIkSPJyspi48aNrF69mkcffZQuXbqwd+/eEtecPHmSv//97/Ts2dM9k2zhwoX89re/BZzvgwcffJCrrrqKli1bur8nHn/8cT777DO6dOnCCy+8wPfff0+bNm145JFH2LVrV6m1F31/ioiIiIiIiIiIiIhnxa2JI25NnKfLqDF8qvl+R40xjay1hwuXOPy58PhBoFmxdk0Lj53FWjsXmAsQExNTboD29NvfsPPQyXMWtfOw06Yi+4B1aBzC1FuuPGe7Il9++aX79e7du1m0aBG9e/fm0KFDTJkyhS1bthAWFsYNN9xAQkICw4cPJzMzk5iYGF544QWmT5/O008/zSuvvHJW3xEREXz11Vf87W9/Y9asWcybN6/MOr7
"text/plain": [
"<Figure size 2160x360 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 2160x360 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 2160x360 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"for i in groups_mean.loc[\"int_insert\"].index:\n",
"# plt.plot(groups_mean.loc[\"int_insert\", i], label=i)\n",
" plt.errorbar(groups_mean.columns,groups_mean.loc[\"int_insert\", i], yerr=groups_std.loc[\"int_insert\", i], label=i)\n",
"plt.ylabel('insert time(ns)')\n",
"plt.legend()\n",
"plt.title(\"int insert\")\n",
"# plt.xscale(\"log\")\n",
"plt.show()\n",
"for i in groups_mean.loc[\"int_insert\"].index:\n",
"# plt.plot(groups_mean.loc[\"int_succ_lookup\", i], label=i)\n",
" plt.errorbar(groups_mean.columns,groups_mean.loc[\"int_succ_lookup\", i], yerr=groups_std.loc[\"int_succ_lookup\", i], label=i)\n",
"plt.ylabel('succesful lookup time(ns)')\n",
"plt.legend()\n",
"plt.title(\"int succesful lookup\")\n",
"# plt.xscale(\"log\")\n",
"plt.show()\n",
"for i in groups_mean.loc[\"int_insert\"].index:\n",
"# plt.plot(groups_mean.loc[\"int_succ_lookup\", i], label=i)\n",
" plt.errorbar(groups_mean.columns,groups_mean.loc[\"int_nosucc_lookup\", i], yerr=groups_std.loc[\"int_nosucc_lookup\", i], label=i)\n",
"plt.ylabel('unscuccesful time(ns)')\n",
"plt.legend()\n",
"plt.title(\"int unsuccesful lookup\")\n",
"# plt.xscale(\"log\")\n",
"plt.show()\n",
"for i in groups_mean.loc[\"int_insert\"].index:\n",
"# plt.plot(groups_mean.loc[\"int_succ_lookup\", i], label=i)\n",
" plt.errorbar(groups_mean.columns,groups_mean.loc[\"int_delete\", i], yerr=groups_std.loc[\"int_delete\", i], label=i)\n",
"plt.ylabel('delete time(ns)')\n",
"plt.legend()\n",
"plt.title(\"int delete\")\n",
"# plt.xscale(\"log\")\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"scrolled": true
},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {
"scrolled": true
},
"outputs": [
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 2160x360 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"data": {
"image/png": "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a+0hYChwH85n9QAw1Fp70NXlZqANztlZbwHTrbWrqxjnzzifzWpXoPUqzpAuE+cssarCrYWutu9wLiU561TuQUREREREGh5z8kusi4iIiIiIXHiMMUuAHdba6Z6uRcAYkwlMqipMExERERER0QwwERERERGRKhhjehtj2rmWJhwMXE+F2VsiIiIiIiJy7vLxdAEiIiIiIiLnqIuAN4GmwF5gsrX2C8+WJCIiIiIiInWhJRBFRERERERERERERESkQdESiCIiIiIiIiIiIiIiItKgKAATERERERERERERERGRBuW83gMsIiLCtmnTxtNliIiIiIiIiIiIiIiIyFm2cePGg9baZlW1ndcBWJs2bUhPT/d0GSIiIiIiIiIiIiIiInKWGWO+r65NSyCKiIiIiIiIiIiIiIhIg6IATERERERERERERERERBoUBWAiIiIiIiIiIiIiIiLSoJzXe4BVpaSkhL1791JYWOjpUkSkCv7+/kRHR+Pr6+vpUkRERERERERERESkgWpwAdjevXsJCQmhTZs2GGM8XY6IVGCt5dChQ+zdu5fY2FhPlyMiIiIiIiIiIiIiDVSDWwKxsLCQpk2bKvwSOQcZY2jatKlmaIqIiIiIiIiIiIhIvWpwARig8EvkHKa/nyIiIiIiIiIiIiJS3xpkAHayRv/tM0b/7TNPlyEiIiIiIiIiIiIiIiJngAKwetamTZuTPic4OLjK4w8//DCrV68+6fFmzJjBk08+edLneWrcU5WcnEx6enq9jF3db1Lu/vvvp2vXrtx///11ei7Lly8nIyPjtGrKzMxk4cKF1bZnZWVx4403ntY1avLBBx+QkpJSb+OLiIiIiIiIiIiIiJwqBWAeYK3F4XCc9HmPPPIIV155ZT1UdP4pLS097THKysrOQCVOL774Ilu2bOGJJ56oU/+6BmCHDx+utq2mAKy0tJSoqCiWLVtWp3qqcuTIkVM+V0RERERERERERETEk+o1ADPGZBpjthpjNhtj0l3Hmhhj3jXGfOt6b+w6bowxzxhjdhpjthhjetZnbWdLs2bNAGdY0bFjR8aPH09cXBx79uxh0aJFxMfHExcXx9SpUyud97vf/Y6uXbsyaNAgfv75ZwBSUlLcgUabNm2YPn06PXv2JD4+nh07dtRYR0ZGBsnJybRt25ZnnnnGffypp54iLi6OuLg4Zs+eXevxRx99lA4dOnDppZfy9ddf13r/H3zwAUOHDnV/v/vuu1mwYEGN93D48GGGDx9OQkICSUlJbNmyBXDOOBs3bhz9+/dn3LhxFBQUMGbMGDp37syIESMoKChwX+edd96hX79+9OzZk1GjRpGbm+u+5tSpU+nZsydLly5l165dDB48mF69ejFgwAB3Dbt376Zfv37Ex8czbdq0Gu9x2LBh5Obm0qtXL5YsWVKp7aWXXqJ3795069aNG264gfz8fD799FNWrFjB/fffT/fu3dm1a1elc44dO8bf/vY3+vTp455J9uGHH9K9e3e6d+9Ojx49yMnJ4cEHH+Tjjz+me/fu/PWvf2XBggUMGzaMK664gkGDBpGZmUlcXBwACxYsYOTIkQwePJiLL76YBx54wH29+fPn06FDB/r06cPtt9/O3XffDcCSJUuIi4vj//7v/9x/Bitq1KgRYWFhNT4bEREREREREREROTe
"text/plain": [
"<Figure size 2160x360 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 2160x360 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAABsAAAAE/CAYAAAD42gY8AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjMsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+AADFEAAAgAElEQVR4nOzdd3hVVd728e9KIYUUQgotkERJqKGE0EQgVBnhkWIBFSRxkEccByyD+DoooOjoM4xiYWQUDI4KMqAyqAwjKCDgCEKkGZRmQm8JgVRIWe8fJzlDJFQJB8L9ua5cZ5+91177t06CJTdrLWOtRURERERERERERERERKSqcHN1ASIiIiIiIiIiIiIiIiKXkwIwERERERERERERERERqVIUgImIiIiIiIiIiIiIiEiVogBMREREREREREREREREqhQFYCIiIiIiIiIiIiIiIlKlKAATERERERERERERERGRKkUBmIiIiIiIyBVgjPmXMWb4FXqWNcY0vIB2CcaYvVeiJhERERERkSvJw9UFiIiIiIiIXMuMMROBhtbaoedqZ639zZWpqHJc6DhFRERERESuBpoBJiIiIiIiUomMg/7fS0RERERE5ArS/4SJiIiIiIhcAGPMOGPMPmNMtjHmJ2NMD2NMH+ApYLAxJscYs7G07XJjzPPGmNVAHnBD6bkRpdcTjTGrjDFTjDHHjDE/G2N+c9qzoowxX5c+a6kxZpox5v1z1DbWGHPAGLPfGHP/L655lT5ntzHmkDFmujHG5yz91DXGfGSMOVJa0+jS82cbZ6AxZmbps/cZYyYbY9x/zecsIiIiIiJyOSgAExEREREROQ9jTCPgYaCttdYfuAVIs9YuBl4A5lpr/ay1LU+7bRgwEvAH0ivotj3wExAC/B8w0xhjSq/NBtYCwcDE0r7OVlsf4A9ALyAa6PmLJi8CMUAroCFQD3imgn7cgE+BjaVtegCPGGNuOcc4ZwFFpf22BnoDI85Wq4iIiIiIyJWiAExEREREROT8igEvoKkxxtNam2at3Xmee2ZZa3+w1hZZawsruJ5urX3bWlsMvAvUAWoZYxoAbYFnrLWnrLWrgIXneM5dQLK1dou1NhdHYAY4ll/EEcI9aq3NtNZm4wiyhlTQT1sg1Fr7bOlzdwFvn6UtxphawK3AI9baXGvtYeCVs7UXERERERG5kjxcXYCIiIiIiMjVzlq7wxjzCI5wqZkx5t/AY9ba/ee4bc95uj14Wv95pZO//HDMCMu01ub9oq/6Z+mnLrD+tPenzzYLBXyB9f+dXIYBKlqmMAKoa4zJOu2cO7DyLM+NADyBA6f17cb5xy0iIiIiIlLpFICJiIiIiIhcAGvtbGC2MSYA+BvwEo6lCe3ZbrnERx0AahpjfE8Lwc4WfpW1P/16g9OOjwL5QDNr7b7zPHcP8LO1Nvos1385nj3ASSDEWlt0nr5FRERERESuKC2BKCIiIiIich7GmEbGmO7GGC+gAEeoVFJ6+RAQWbqH1q9mrU0H1gETjTHVjDEdgf85xy3/ABKNMU2NMb7AhNP6KsGxjOErxpiw0rHUM8bcUkE/a4FsY8w4Y4yPMcbdGNPcGNO29Hq5cVprDwBfAH8xxgQYY9yMMTcaY7r+uk9ARERERETk11MAJiIiIiIicn5ewIs4ZlQdBMKA/1d6bV7pa4YxJuUyPe9eoCOQAUwG5uKYbXUGa+2/gKnAV8CO0tfTjSs9/60x5gSwFGhUQT/FQD+gFfAzjrHOAAJLm1Q0zvuAakAqcAyYj2MvMxEREREREZcy1l7qqhwiIiIiIiJyJRhj5gI/WmsnnLexiIiIiIiIaAaYiIiIiIjI1cYY07Z0OUE3Y0wfoD+wwNV1iYiIiIiIXCs8XF2AiIiIiIiInKE28DEQDOwFRllrv3dtSSIiIiIiItcOLYEoIiIiIiIiIiIiIiIiVYqWQBQREREREREREREREZEqRQGYiIiIiIiIiIiIiIiIVCnX9B5gISEhNjIy0tVliIiIiIiIiIiIiIiIyBW2fv36o9ba0IquXdMBWGRkJOvWrXN1GSIiIiIiIiIiIiIiInKFGWPSz3ZNSyCKiIiIiIiIiIiIiIhIlaIATERERERERERERERERKoUBWAiIiIiIiIiIiIiIiJSpVzTe4BVpLCwkL1791JQUODqUkSkAt7e3oSHh+Pp6enqUkRERERERERERESkiqpyAdjevXvx9/cnMjISY4yryxGR01hrycjIYO/evURFRbm6HBERERERERERERGpoqrcEogFBQUEBwcr/BK5ChljCA4O1gxNEREREREREREREalUVS4AAxR+iVzF9OdTRERERERERERERCpbpQZgxpg0Y8xmY8wGY8y60nM1jTFLjDHbS1+DSs8bY8xrxpgdxphNxpi4yqztdIP/9h8G/+0/V+pxIiIiIiIiIiIiIiIiUomuxAywbtbaVtba+NL3TwJfWmujgS9L3wP8Bogu/RoJvHkFaqt0kZGRF32Pn59fheefeeYZli5detH9TZw4kSlTplz0fa7q91IlJCSwbt26Sun7bN+TMmPHjqVZs2aMHTv2gj6XBQsWkJqa+qtqSktLY/bs2We9vn//fu64445f9YxzWb58OYmJiZXWv4iIiIiIiIiIiIjIpXLFEoj9gXdLj98FBpx2/u/W4VughjGmjgvqq3TWWkpKSi76vmeffZaePXtWQkXXnqKiol/dR3Fx8WWoxOGtt95i06ZN/PnPf76g9hcagGVmZp712rkCsKKiIurWrcv8+fMvqJ6KHDt27JLvFRERERERERERERFxpcoOwCzwhTFmvTFmZOm5WtbaA6XHB4Fapcf1gD2n3bu39Nw1LTQ0FHCEFY0aNeK+++6jefPm7Nmzhzlz5hAbG0vz5s0ZN25cufseffRRmjVrRo8ePThy5AgAiYmJzkAjMjKSCRMmEBcXR2xsLD/++OM560hNTSUhIYEbbriB1157zXn+5Zdfpnnz5jRv3pypU6ee9/zzzz9PTEwMN998Mz/99NN5x798+XL69evnfP/www8za9asc44hMzOTAQMG0KJFCzp06MCmTZsAx4yzYcOG0alTJ4YNG0Z+fj5DhgyhSZMmDBw4kPz8fOdzvvjiCzp27EhcXBx33nknOTk5zmeOGzeOuLg45s2bx86dO+nTpw9t2rShc+fOzhp+/vlnOnbsSGxsLOPHjz/nGG+77TZycnJo06YNc+fOLXft7bffpm3btrRs2ZLbb7+dvLw8vvnmGxYuXMjYsWNp1aoVO3fuLHfPiRMn+Nvf/ka7du2cM8lWrFhBq1ataNWqFa1btyY7O5snn3ySlStX0qpVK1555RVmzZrFbbfdRvfu3enRowdpaWk0b94cgFmzZjFo0CD69OlDdHQ0TzzxhPN5M2fOJCYmhnbt2vHAAw/w8MMPAzB37lyaN2/OX/7yF+fP4OmqVatGYGDgOT8bEREREREREREREbkwSYuTSFqc5OoyqgyPSu7/ZmvtPmNMGLDEGFMupbHWWmOMvZgOS4O0kQANGjQ4Z9tJn/5A6v4T5+0z9YCjzYXsA9a0bgAT/qfZBVTq8N133zmPt2/fzrvvvkuHDh3Yv38/48aNY/369QQFBdG7d28WLFjAgAEDyM3NJT4+nldeeYVnn32WSZMm8cYbb5zRd0hICCkpKfz1r39lypQpzJgx46x1/Pjjjyxbtozs7GwaNWrEqFGj2LRpE8nJyaxZswZrLe3bt6dr166UlJSc9fyHH37Ihg0bKCoqIi4ujjZt2gAwffp0AB588EHWrVvH9OnTz1nPucYwYcIEWrduzYIFC/jqq6+477772LBhA+AI8latWoWPjw8vv/wyvr6+bN26lU2bNhEX59g27ujRo0yePJmlS5dSvXp1XnrpJV5++WWeeeYZAIKDg0lJSQGgR48eTJ8+nejoaNasWcNDDz3EV199xZgxYxg1ahT33Xcf06ZNO+cYFi5ciJ+fn7PGiRMnOq8NGjSIBx54AIDx48czc+ZMfv/733PbbbfRr1+/cksUrlq1ihkzZrB69Wpuv/123n/
"text/plain": [
"<Figure size 2160x360 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"for i in groups_mean.loc[\"string_insert\"].index:\n",
"# plt.plot(groups_mean.loc[\"string_insert\", i], label=i)\n",
" plt.errorbar(groups_mean.columns,groups_mean.loc[\"string_insert\", i], yerr=groups_std.loc[\"string_insert\", i], label=i)\n",
"plt.ylabel('insert time(ns)')\n",
"plt.legend()\n",
"plt.title(\"string insert\")\n",
"# plt.xscale(\"log\")\n",
"plt.show()\n",
"\n",
"\n",
"for i in groups_mean.loc[\"string_insert\"].index:\n",
"# plt.plot(groups_mean.loc[\"string_succ_lookup\", i], label=i)\n",
" plt.errorbar(groups_mean.columns,groups_mean.loc[\"string_succ_lookup\", i], yerr=groups_std.loc[\"string_succ_lookup\", i], label=i)\n",
"plt.ylabel('succesful lookup time(ns)')\n",
"plt.legend()\n",
"plt.title(\"string succesful lookup\")\n",
"# plt.xscale(\"log\")\n",
"plt.show()\n",
"\n",
"for i in groups_mean.loc[\"string_insert\"].index:\n",
"# plt.plot(groups_mean.loc[\"string_succ_lookup\", i], label=i)\n",
" plt.errorbar(groups_mean.columns,groups_mean.loc[\"string_nosucc_lookup\", i], yerr=groups_std.loc[\"string_nosucc_lookup\", i], label=i)\n",
"plt.ylabel('unscuccesful time(ns)')\n",
"plt.legend()\n",
"plt.title(\"string unsuccesful lookup\")\n",
"# plt.xscale(\"log\")\n",
"plt.show()\n",
"for i in groups_mean.loc[\"string_insert\"].index:\n",
"# plt.plot(groups_mean.loc[\"string_succ_lookup\", i], label=i)\n",
" plt.errorbar(groups_mean.columns,groups_mean.loc[\"string_delete\", i], yerr=groups_std.loc[\"string_delete\", i], label=i)\n",
"plt.ylabel('delete time(ns)')\n",
"plt.legend()\n",
"plt.title(\"string delete\")\n",
"# plt.xscale(\"log\")\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.8.1"
}
},
"nbformat": 4,
"nbformat_minor": 4
}