add bench results

This commit is contained in:
greg
2019-04-11 08:00:51 -04:00
parent 453b6583c8
commit 16f6cb92ae
4 changed files with 165 additions and 84 deletions
+69
View File
@@ -0,0 +1,69 @@
<html><head></head><body>
<script src="https://cdn.plot.ly/plotly-latest.min.js"></script>
<div id="id_ebc96fe0" style="height:250em"></div>
<script>
var colors = Plotly.d3.scale.category10().range();
var m0y = [ "eastl::hash_map", "std::unordered_map", "boost::unordered_map 1_58", "phmap::<br>parallel_node_hash_map", "boost::multi_index::<br>hashed_unique", "absl::node_hash_map", "phmap::node_hash_map", "spp::sparse_hash_map", "<b>tsl::sparse_map</b>", "folly::F14NodeMap", "robin_hood::<br>unordered_node_map", "folly::F14ValueMap", "<b>phmap::<br>parallel_flat_hash_map</b>", "absl::flat_hash_map", "tsl::hopscotch_map", "ska::bytell_hash_map", "<b>phmap::flat_hash_map</b>", "emilib1::HashMap", "<b>robin_hood::<br>unordered_flat_map</b>", "<b>tsl::robin_map</b>"];
var m1y = [ "eastl::hash_map", "boost::unordered_map 1_58", "std::unordered_map", "phmap::<br>parallel_node_hash_map", "boost::multi_index::<br>hashed_unique", "phmap::node_hash_map", "absl::node_hash_map", "spp::sparse_hash_map", "<b>tsl::sparse_map</b>", "folly::F14NodeMap", "robin_hood::<br>unordered_node_map", "folly::F14ValueMap", "absl::flat_hash_map", "<b>phmap::<br>parallel_flat_hash_map</b>", "phmap::flat_hash_map", "tsl::hopscotch_map", "ska::bytell_hash_map", "emilib1::HashMap", "<b>robin_hood::<br>unordered_flat_map</b>", "<b>tsl::robin_map</b>"];
var m2y = [ "eastl::hash_map", "std::unordered_map", "boost::unordered_map 1_58", "phmap::<br>parallel_node_hash_map", "boost::multi_index::<br>hashed_unique", "absl::node_hash_map", "phmap::node_hash_map", "spp::sparse_hash_map", "<b>tsl::sparse_map</b>", "folly::F14NodeMap", "robin_hood::<br>unordered_node_map", "folly::F14ValueMap", "<b>phmap::<br>parallel_flat_hash_map</b>", "absl::flat_hash_map", "tsl::hopscotch_map", "emilib1::HashMap", "phmap::flat_hash_map", "<b>ska::bytell_hash_map</b>", "<b>robin_hood::<br>unordered_flat_map</b>", "<b>tsl::robin_map</b>"];
var m3y = [ "absl::node_hash_map", "absl::flat_hash_map", "boost::unordered_map 1_58", "std::unordered_map", "eastl::hash_map", "phmap::<br>parallel_node_hash_map", "boost::multi_index::<br>hashed_unique", "phmap::node_hash_map", "spp::sparse_hash_map", "<b>tsl::sparse_map</b>", "folly::F14NodeMap", "robin_hood::<br>unordered_node_map", "folly::F14ValueMap", "<b>phmap::<br>parallel_flat_hash_map</b>", "phmap::flat_hash_map", "tsl::hopscotch_map", "<b>ska::bytell_hash_map</b>", "emilib1::HashMap", "<b>robin_hood::<br>unordered_flat_map</b>", "<b>tsl::robin_map</b>"];
var m4y = [ "absl::node_hash_map", "absl::flat_hash_map", "std::unordered_map", "boost::unordered_map 1_58", "eastl::hash_map", "phmap::<br>parallel_node_hash_map", "boost::multi_index::<br>hashed_unique", "phmap::node_hash_map", "spp::sparse_hash_map", "<b>tsl::sparse_map</b>", "folly::F14NodeMap", "robin_hood::<br>unordered_node_map", "<b>phmap::<br>parallel_flat_hash_map</b>", "<b>folly::F14ValueMap</b>", "<b>phmap::flat_hash_map</b>", "ska::bytell_hash_map", "emilib1::HashMap", "tsl::hopscotch_map", "<b>robin_hood::<br>unordered_flat_map</b>", "<b>tsl::robin_map</b>"];
var measurement_names = [ "insert 100M int" ];
var data = [
{ x: [ 48.0243, 46.5861, 45.9632, 40.5576, 37.6103, 31.3413, 30.9575, 27.1914, 24.8357, 22.0214, 20.3446, 15.2266, 13.8475, 13.7777, 12.2028, 12.0487, 11.1835, 10.9024, 9.23316, 6.46943 ],
y: m0y, name: measurement_names[0] + ' (absl::Hash)', type: 'bar', orientation: 'h', yaxis: 'y', marker: { color: colors[0], },
textposition: 'outside',
text: [ "48.0s<br>4156MB", "46.6s<br>3989MB", "46.0s<br>3777MB", "40.6s<br>4161MB", "37.6s<br>3777MB", "31.3s<br>4161MB", "31.0s<br>4161MB", "27.2s<br>1233MB", "<b>24.8s<br>1060MB</b>", "22.0s<br>4033MB", "20.3s<br>2296MB", "15.2s<br>1537MB", "<b>13.8s<br>1180MB</b>", "13.8s<br>1721MB", "12.2s<br>3064MB", "12.0s<br>1721MB", "<b>11.2s<br>1720MB</b>", "10.9s<br>2296MB", "<b>9.23s<br>1720MB</b>", "<b>6.47s<br>4600MB</b>" ],
},
{ x: [ 47.2099, 46.459, 45.9743, 40.3984, 37.8695, 32.6551, 30.9481, 26.997, 24.7551, 22.2447, 20.2678, 15.2371, 13.8187, 13.5773, 13.1002, 12.4352, 11.5716, 10.8488, 8.66035, 6.54138 ],
y: m1y, name: measurement_names[0] + ' (robin_hood::hash)', type: 'bar', orientation: 'h', yaxis: 'y2', marker: { color: colors[0], },
textposition: 'outside',
text: [ "47.2s<br>4156MB", "46.5s<br>3777MB", "46.0s<br>3989MB", "40.4s<br>4161MB", "37.9s<br>3776MB", "32.7s<br>4161MB", "30.9s<br>4161MB", "27.0s<br>1233MB", "<b>24.8s<br>1060MB</b>", "22.2s<br>4034MB", "20.3s<br>2296MB", "15.2s<br>1537MB", "13.8s<br>1721MB", "<b>13.6s<br>1180MB</b>", "13.1s<br>1721MB", "12.4s<br>3064MB", "11.6s<br>1721MB", "10.8s<br>2296MB", "<b>8.66s<br>1720MB</b>", "<b>6.54s<br>4601MB</b>" ],
},
{ x: [ 47.4464, 46.6774, 46.5407, 41.3329, 38.0029, 33.5645, 32.8472, 27.6975, 24.856, 22.4334, 21.0759, 15.6409, 15.0877, 13.0797, 12.4225, 11.8954, 11.5608, 11.4623, 8.98865, 7.1118 ],
y: m2y, name: measurement_names[0] + ' (FNV1a)', type: 'bar', orientation: 'h', yaxis: 'y3', marker: { color: colors[0], },
textposition: 'outside',
text: [ "47.4s<br>4156MB", "46.7s<br>3989MB", "46.5s<br>3777MB", "41.3s<br>4161MB", "38.0s<br>3777MB", "33.6s<br>4161MB", "32.8s<br>4160MB", "27.7s<br>1233MB", "<b>24.9s<br>1060MB</b>", "22.4s<br>4033MB", "21.1s<br>2297MB", "15.6s<br>1537MB", "<b>15.1s<br>1181MB</b>", "13.1s<br>1720MB", "12.4s<br>3064MB", "11.9s<br>2296MB", "11.6s<br>1720MB", "<b>11.5s<br>1720MB</b>", "<b>8.99s<br>1720MB</b>", "<b>7.11s<br>4600MB</b>" ],
},
{ x: [ 0, 0, 46.7195, 45.8197, 43.3253, 39.7176, 37.2546, 30.3592, 26.6751, 24.2579, 21.7569, 20.2528, 15.0232, 13.9146, 13.091, 11.9234, 10.9833, 10.4468, 8.26594, 5.9112 ],
y: m3y, name: measurement_names[0] + ' (Identity)', type: 'bar', orientation: 'h', yaxis: 'y4', marker: { color: colors[0], },
textposition: 'outside',
text: [ "timeout", "timeout", "46.7s<br>3777MB", "45.8s<br>3989MB", "43.3s<br>4156MB", "39.7s<br>4161MB", "37.3s<br>3776MB", "30.4s<br>4160MB", "26.7s<br>1233MB", "<b>24.3s<br>1060MB</b>", "21.8s<br>4033MB", "20.3s<br>2297MB", "15.0s<br>1536MB", "<b>13.9s<br>1181MB</b>", "13.1s<br>1721MB", "11.9s<br>3064MB", "<b>11.0s<br>1720MB</b>", "10.4s<br>2296MB", "<b>8.27s<br>1720MB</b>", "<b>5.91s<br>4600MB</b>" ],
},
{ x: [ 0, 0, 46.2752, 45.6408, 44.4415, 40.7703, 40.6562, 31.647, 27.6576, 24.8331, 22.714, 21.0315, 16.516, 15.5407, 12.0583, 11.9637, 11.4148, 10.9306, 9.04966, 7.0222 ],
y: m4y, name: measurement_names[0] + ' (folly::hasher)', type: 'bar', orientation: 'h', yaxis: 'y5', marker: { color: colors[0], },
textposition: 'outside',
text: [ "timeout", "timeout", "46.3s<br>3989MB", "45.6s<br>3777MB", "44.4s<br>4156MB", "40.8s<br>4160MB", "40.7s<br>3777MB", "31.6s<br>4161MB", "27.7s<br>1233MB", "<b>24.8s<br>1060MB</b>", "22.7s<br>4034MB", "21.0s<br>2296MB", "<b>16.5s<br>1181MB</b>", "<b>15.5s<br>1537MB</b>", "<b>12.1s<br>1720MB</b>", "12.0s<br>1720MB", "11.4s<br>2297MB", "10.9s<br>3064MB", "<b>9.05s<br>1720MB</b>", "<b>7.02s<br>4600MB</b>" ],
},
];
var layout = {
// title: { text: 'InsertManyInt'},
grid: {
ygap: 0.1,
subplots: [
['xy'],
['xy2'],
['xy3'],
['xy4'],
['xy5'],
] },
barmode: 'stack',
yaxis: { title: 'absl::Hash', automargin: true, },
yaxis2: { title: 'robin_hood::hash', automargin: true, },
yaxis3: { title: 'FNV1a', automargin: true, },
yaxis4: { title: 'Identity', automargin: true, },
yaxis5: { title: 'folly::hasher', automargin: true, },
xaxis: { automargin: true, },
legend: { traceorder: 'normal' },
margin: { pad: 0, l:0, r:0, t:0, b:0, },
showlegend:false,
};
Plotly.newPlot('id_ebc96fe0', data, layout);
</script>
</body></html>
+84
View File
@@ -0,0 +1,84 @@
<html><head></head><body>
<script src="https://cdn.plot.ly/plotly-latest.min.js"></script>
<div id="id_ceec23e8" style="height:250em"></div>
<script>
var colors = Plotly.d3.scale.category10().range();
var m0y = [ "std::unordered_map", "boost::unordered_map 1_58", "eastl::hash_map", "boost::multi_index::<br>hashed_unique", "phmap::<br>parallel_node_hash_map", "folly::F14NodeMap", "spp::sparse_hash_map", "folly::F14ValueMap", "phmap::<br>parallel_flat_hash_map", "<b>tsl::sparse_map</b>", "phmap::node_hash_map", "<b>ska::bytell_hash_map</b>", "absl::node_hash_map", "tsl::hopscotch_map", "tsl::robin_map", "emilib1::HashMap", "absl::flat_hash_map", "<b>phmap::flat_hash_map</b>", "robin_hood::<br>unordered_node_map", "<b>robin_hood::<br>unordered_flat_map</b>"];
var m1y = [ "std::unordered_map", "boost::unordered_map 1_58", "eastl::hash_map", "boost::multi_index::<br>hashed_unique", "phmap::<br>parallel_node_hash_map", "spp::sparse_hash_map", "folly::F14NodeMap", "folly::F14ValueMap", "phmap::<br>parallel_flat_hash_map", "<b>tsl::sparse_map</b>", "phmap::node_hash_map", "ska::bytell_hash_map", "tsl::robin_map", "tsl::hopscotch_map", "absl::node_hash_map", "emilib1::HashMap", "phmap::flat_hash_map", "absl::flat_hash_map", "robin_hood::<br>unordered_node_map", "<b>robin_hood::<br>unordered_flat_map</b>"];
var m2y = [ "std::unordered_map", "boost::unordered_map 1_58", "eastl::hash_map", "boost::multi_index::<br>hashed_unique", "phmap::<br>parallel_node_hash_map", "spp::sparse_hash_map", "folly::F14NodeMap", "folly::F14ValueMap", "<b>tsl::sparse_map</b>", "<b>phmap::<br>parallel_flat_hash_map</b>", "<b>ska::bytell_hash_map</b>", "phmap::node_hash_map", "tsl::hopscotch_map", "tsl::robin_map", "absl::node_hash_map", "emilib1::HashMap", "<b>phmap::flat_hash_map</b>", "absl::flat_hash_map", "robin_hood::<br>unordered_node_map", "<b>robin_hood::<br>unordered_flat_map</b>"];
var m3y = [ "std::unordered_map", "boost::unordered_map 1_58", "eastl::hash_map", "boost::multi_index::<br>hashed_unique", "phmap::<br>parallel_node_hash_map", "folly::F14NodeMap", "spp::sparse_hash_map", "folly::F14ValueMap", "phmap::<br>parallel_flat_hash_map", "<b>tsl::sparse_map</b>", "absl::node_hash_map", "<b>ska::bytell_hash_map</b>", "tsl::robin_map", "tsl::hopscotch_map", "phmap::node_hash_map", "emilib1::HashMap", "phmap::flat_hash_map", "absl::flat_hash_map", "robin_hood::<br>unordered_node_map", "<b>robin_hood::<br>unordered_flat_map</b>"];
var m4y = [ "std::unordered_map", "boost::unordered_map 1_58", "eastl::hash_map", "boost::multi_index::<br>hashed_unique", "phmap::<br>parallel_node_hash_map", "folly::F14NodeMap", "spp::sparse_hash_map", "folly::F14ValueMap", "phmap::<br>parallel_flat_hash_map", "<b>tsl::sparse_map</b>", "tsl::hopscotch_map", "phmap::node_hash_map", "ska::bytell_hash_map", "tsl::robin_map", "emilib1::HashMap", "absl::node_hash_map", "<b>phmap::flat_hash_map</b>", "absl::flat_hash_map", "robin_hood::<br>unordered_node_map", "<b>robin_hood::<br>unordered_flat_map</b>"];
var measurement_names = [ "Lookup 100m ints, all present", "Lookup 100m ints, few present" ];
var data = [
{ x: [ 6.09273, 5.59661, 4.45374, 3.21348, 3.21045, 4.5991, 3.05524, 4.11665, 3.09899, 2.24369, 2.58126, 1.85537, 2.4263, 1.79238, 1.69386, 1.63569, 2.40407, 2.30709, 2.03579, 1.84841 ],
y: m0y, name: measurement_names[0] + ' (Identity)', type: 'bar', orientation: 'h', yaxis: 'y', marker: { color: colors[0], },
},
{ x: [ 10.2008, 9.1466, 6.37539, 4.5774, 3.99865, 2.13146, 3.32416, 1.86786, 2.3017, 2.32003, 1.25903, 1.83202, 1.17546, 1.78976, 1.83893, 1.58476, 0.780565, 0.84493, 0.862883, 0.647773 ],
y: m0y, name: measurement_names[1] + ' (Identity)', type: 'bar', orientation: 'h', yaxis: 'y', marker: { color: colors[1], },
textposition: 'outside',
text: [ "16.3s<br>30MB", "14.7s<br>34MB", "10.8s<br>30MB", "7.79s<br>34MB", "7.21s<br>40MB", "6.73s<br>39MB", "6.38s<br>3.0MB", "5.98s<br>7.8MB", "5.40s<br>9.7MB", "<b>4.56s<br>1.6MB</b>", "3.84s<br>40MB", "<b>3.69s<br>9.5MB</b>", "3.60s<br>41MB", "3.58s<br>23MB", "3.53s<br>16MB", "3.22s<br>28MB", "3.18s<br>10MB", "<b>3.15s<br>9.6MB</b>", "2.90s<br>18MB", "<b>2.50s<br>9.7MB</b>" ],
},
{ x: [ 6.65363, 5.69525, 4.7806, 3.47087, 3.3872, 3.3091, 4.48918, 4.11998, 2.8847, 2.63458, 2.8573, 2.16055, 2.05412, 2.02524, 2.72429, 1.91438, 2.59933, 2.32844, 2.17994, 1.94799 ],
y: m1y, name: measurement_names[0] + ' (robin_hood::hash)', type: 'bar', orientation: 'h', yaxis: 'y2', marker: { color: colors[0], },
},
{ x: [ 10.9964, 9.38402, 6.89724, 4.71998, 4.10179, 3.44095, 2.25682, 1.94596, 2.33889, 2.58169, 1.34897, 2.02432, 2.12016, 2.11878, 1.24275, 1.94923, 0.824703, 0.849779, 0.891153, 0.703689 ],
y: m1y, name: measurement_names[1] + ' (robin_hood::hash)', type: 'bar', orientation: 'h', yaxis: 'y2', marker: { color: colors[1], },
textposition: 'outside',
text: [ "17.7s<br>30MB", "15.1s<br>34MB", "11.7s<br>30MB", "8.19s<br>34MB", "7.49s<br>40MB", "6.75s<br>3.1MB", "6.75s<br>39MB", "6.07s<br>8.0MB", "5.22s<br>9.6MB", "<b>5.22s<br>1.7MB</b>", "4.21s<br>40MB", "4.18s<br>9.5MB", "4.17s<br>16MB", "4.14s<br>23MB", "3.97s<br>41MB", "3.86s<br>28MB", "3.42s<br>9.7MB", "3.18s<br>9.8MB", "3.07s<br>18MB", "<b>2.65s<br>9.5MB</b>" ],
},
{ x: [ 6.66338, 6.24015, 5.07543, 3.44506, 3.73155, 3.5035, 4.4533, 4.31187, 2.83837, 3.06711, 2.47329, 3.0799, 2.11329, 2.05225, 2.82426, 1.91895, 2.79399, 2.46331, 2.2786, 2.24025 ],
y: m2y, name: measurement_names[0] + ' (absl::Hash)', type: 'bar', orientation: 'h', yaxis: 'y3', marker: { color: colors[0], },
},
{ x: [ 10.722, 9.76758, 6.71071, 4.95828, 4.62927, 3.57077, 2.24758, 2.05518, 2.82352, 2.39904, 2.51172, 1.36964, 2.0896, 2.14932, 1.31154, 2.03569, 0.887126, 0.869671, 0.980009, 0.792403 ],
y: m2y, name: measurement_names[1] + ' (absl::Hash)', type: 'bar', orientation: 'h', yaxis: 'y3', marker: { color: colors[1], },
textposition: 'outside',
text: [ "17.4s<br>30MB", "16.0s<br>34MB", "11.8s<br>30MB", "8.40s<br>34MB", "8.36s<br>40MB", "7.07s<br>3.3MB", "6.70s<br>39MB", "6.37s<br>8.1MB", "<b>5.66s<br>2.0MB</b>", "<b>5.47s<br>9.6MB</b>", "<b>4.99s<br>9.7MB</b>", "4.45s<br>40MB", "4.20s<br>24MB", "4.20s<br>16MB", "4.14s<br>40MB", "3.95s<br>27MB", "<b>3.68s<br>9.7MB</b>", "3.33s<br>10.0MB", "3.26s<br>17MB", "<b>3.03s<br>9.8MB</b>" ],
},
{ x: [ 6.95211, 6.09279, 5.31459, 4.08509, 4.24607, 4.97288, 3.77825, 4.76691, 3.66088, 2.77892, 3.655, 2.56675, 2.43673, 2.40619, 3.29471, 2.14408, 3.10058, 2.8998, 2.6087, 2.47888 ],
y: m3y, name: measurement_names[0] + ' (FNV1a)', type: 'bar', orientation: 'h', yaxis: 'y4', marker: { color: colors[0], },
},
{ x: [ 11.2277, 9.58056, 7.07844, 5.85105, 4.86657, 2.78663, 3.83655, 2.59393, 2.73211, 2.78004, 1.48876, 2.36505, 2.46462, 2.43899, 1.47182, 2.26155, 1.01941, 0.979579, 1.03254, 0.826174 ],
y: m3y, name: measurement_names[1] + ' (FNV1a)', type: 'bar', orientation: 'h', yaxis: 'y4', marker: { color: colors[1], },
textposition: 'outside',
text: [ "18.2s<br>30MB", "15.7s<br>34MB", "12.4s<br>30MB", "9.94s<br>34MB", "9.11s<br>41MB", "7.76s<br>39MB", "7.61s<br>3.1MB", "7.36s<br>8.2MB", "6.39s<br>9.5MB", "<b>5.56s<br>1.9MB</b>", "5.14s<br>41MB", "<b>4.93s<br>9.5MB</b>", "4.90s<br>15MB", "4.85s<br>24MB", "4.77s<br>40MB", "4.41s<br>28MB", "4.12s<br>9.7MB", "3.88s<br>9.8MB", "3.64s<br>18MB", "<b>3.31s<br>9.6MB</b>" ],
},
{ x: [ 7.35645, 6.25722, 5.32267, 3.85399, 4.15846, 4.89069, 3.79757, 4.62627, 3.91166, 3.07408, 2.77335, 3.92735, 2.74664, 2.55085, 2.54922, 3.36016, 3.48198, 3.14594, 2.66844, 2.67578 ],
y: m4y, name: measurement_names[0] + ' (folly::hasher)', type: 'bar', orientation: 'h', yaxis: 'y5', marker: { color: colors[0], },
},
{ x: [ 13.2899, 9.94186, 7.02841, 5.70523, 4.86622, 2.84434, 3.79266, 2.61543, 2.87419, 2.96693, 2.80997, 1.65029, 2.75361, 2.6665, 2.51803, 1.53568, 1.08902, 1.03741, 1.0671, 0.939645 ],
y: m4y, name: measurement_names[1] + ' (folly::hasher)', type: 'bar', orientation: 'h', yaxis: 'y5', marker: { color: colors[1], },
textposition: 'outside',
text: [ "20.6s<br>30MB", "16.2s<br>34MB", "12.4s<br>30MB", "9.56s<br>34MB", "9.02s<br>40MB", "7.74s<br>39MB", "7.59s<br>3.2MB", "7.24s<br>7.9MB", "6.79s<br>9.6MB", "<b>6.04s<br>1.6MB</b>", "5.58s<br>24MB", "5.58s<br>40MB", "5.50s<br>9.6MB", "5.22s<br>16MB", "5.07s<br>28MB", "4.90s<br>41MB", "<b>4.57s<br>9.3MB</b>", "4.18s<br>10.0MB", "3.74s<br>18MB", "<b>3.62s<br>9.8MB</b>" ],
},
];
var layout = {
// title: { text: 'Lookup'},
grid: {
ygap: 0.1,
subplots: [
['xy'],
['xy2'],
['xy3'],
['xy4'],
['xy5'],
] },
barmode: 'stack',
yaxis: { title: 'Identity', automargin: true, },
yaxis2: { title: 'robin_hood::hash', automargin: true, },
yaxis3: { title: 'absl::Hash', automargin: true, },
yaxis4: { title: 'FNV1a', automargin: true, },
yaxis5: { title: 'folly::hasher', automargin: true, },
xaxis: { automargin: true, },
legend: { traceorder: 'normal' },
margin: { pad: 0, l:0, r:0, t:0, b:0, },
showlegend:false,
};
Plotly.newPlot('id_ceec23e8', data, layout);
</script>
</body></html>
+12
View File
@@ -0,0 +1,12 @@
<!DOCTYPE html>
<html>
<body>
<h2>Benchmark Results</h2>
<a href="InsertManyInt.html">insert 100m values in map<int, int></a> <p>
<a href="Lookup.html">Lookup 100m ints, all present | Lookup 100m ints, few present</a> <p>
</body>
</html>