Merge pull request #11812 from blinkov/benchmark-style-tuning

[website] tune benchmark pages styling + add extra checks
This commit is contained in:
alexey-milovidov 2020-06-20 08:10:17 +03:00 committed by GitHub
commit 26d19a64dc
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
39 changed files with 268 additions and 114 deletions

View File

@ -278,6 +278,10 @@ def minify_website(args):
def process_benchmark_results(args):
benchmark_root = os.path.join(args.website_dir, 'benchmark')
required_keys = {
'dbms': ['result'],
'hardware': ['result', 'system', 'system_full', 'kind']
}
for benchmark_kind in ['dbms', 'hardware']:
results = []
results_root = os.path.join(benchmark_root, benchmark_kind, 'results')
@ -285,7 +289,11 @@ def process_benchmark_results(args):
result_file = os.path.join(results_root, result)
logging.debug(f'Reading benchmark result from {result_file}')
with open(result_file, 'r') as f:
results += json.loads(f.read())
result = json.loads(f.read())
for item in result:
for required_key in required_keys[benchmark_kind]:
assert required_key in item, f'No "{required_key}" in {result_file}'
results += result
results_js = os.path.join(args.output_dir, 'benchmark', benchmark_kind, 'results.js')
with open(results_js, 'w') as f:
data = json.dumps(results)

View File

@ -7,12 +7,16 @@ var data_sizes =
var systems = [];
var systems_full = [];
var system_kinds = [];
var systems_uniq = {};
for (r in results) {
if (systems_uniq[results[r].system])
continue;
systems_uniq[results[r].system] = 1;
systems.push(results[r].system);
systems_full.push(results[r].system_full);
system_kinds.push(results[r].kind);
}
var runs = ["first (cold cache)", "second", "third"];
@ -26,13 +30,17 @@ try {
} catch (e) {
}
if (!current_systems.length) {
current_systems = systems;
}
function update_hash() {
window.location.hash = JSON.stringify([current_data_size, current_systems, current_runs]);
}
function generate_selectors(elem) {
var html = '<table class="table table-borderless"><tbody><tr id="systems_selector"><th scope="row" class="text-right w-15"><strong class="fake-btn">Compare</strong></th><td>';
var html = '<div id="systems_selector"><h3>Compare</h3>';
var available_results = results;
@ -48,34 +56,46 @@ function generate_selectors(elem) {
for (var i = 0; i < systems.length; i++) {
var selected = current_systems.indexOf(systems[i]) != -1;
var available = available_systems_for_current_data_size.indexOf(systems[i]) != -1;
var button_class = 'btn-outline-dark';
if (system_kinds[i] == 'cloud' || system_kinds[i] == 'vps') {
button_class = 'btn-outline-primary';
} else if (system_kinds[i] == 'desktop' || system_kinds[i] == 'laptop') {
button_class = 'btn-outline-secondary';
};
html += '<button type="button" class="btn btn-outline-dark mr-2 mb-2' +
html += '<button type="button" class="btn btn-sm mr-2 mb-2 ' + button_class +
(selected && available ? ' active' : '') +
(available ? '' : ' disabled') +
'">' + systems[i] + '</button>';
(available ? '' : ' disabled') + '"';
if (systems_full[i]) {
html += ' data-toggle="tooltip" data-placement="bottom" title="' + systems_full[i] + '"';
}
html += '>' + systems[i] + '</button>';
}
html += '</td></tr>';
if (current_data_size) {
html += '<tr id="data_size_selector"><th scope="row" class="text-right w-15"><strong class="fake-btn">Dataset&nbsp;size</strong></th><td>';
html += '</div><div id="data_size_selector"><h3>Dataset&nbsp;size</h3>';
for (var i = 0; i < data_sizes.length; i++) {
html += '<button type="button" class="btn btn-outline-dark mr-2 mb-2' + (data_sizes[i].id == current_data_size ? ' active' : '') + '" data-size-id="' + data_sizes[i].id + '">' + data_sizes[i].name + '</button>';
html += '<button type="button" class="btn btn-sm btn-outline-dark mr-2 mb-2' + (data_sizes[i].id == current_data_size ? ' active' : '') + '" data-size-id="' + data_sizes[i].id + '">' + data_sizes[i].name + '</button>';
}
}
html += '</td></tr>';
html += '<tr id="runs_selector"><th scope="row" class="text-right w-15"><strong class="fake-btn">Run</strong></th><td>';
html += '</div><div id="runs_selector"><h3>Run</h3>';
for (var i = 0; i < runs.length; i++) {
html += '<button type="button" class="btn btn-outline-dark mr-2 mb-2' + (current_runs.indexOf(String(i)) != -1 ? ' active' : '') + '" data-run-id="' + i + '">' + runs[i] + '</button>';
html += '<button type="button" class="btn btn-sm btn-outline-dark mr-2 mb-2' + (current_runs.indexOf(String(i)) != -1 ? ' active' : '') + '" data-run-id="' + i + '">' + runs[i] + '</button>';
}
html += '</td></tr></tbody></table>';
html += '</div>';
elem.html(html);
$('button').focus(function() {
$('[data-toggle="tooltip"]').tooltip('hide');
});
$('#systems_selector button:not(.disabled)').click(function (event) {
event.preventDefault();
var target = $(event.target || event.srcElement);
if (target.hasClass("active") && current_systems.length == 1) {
@ -98,6 +118,7 @@ function generate_selectors(elem) {
if (current_data_size) {
$('#data_size_selector button').click(function (event) {
event.preventDefault();
var target = $(event.target || event.srcElement);
current_data_size = target.attr("data-size-id");
@ -110,6 +131,7 @@ function generate_selectors(elem) {
}
$('#runs_selector button').click(function (event) {
event.preventDefault();
var target = $(event.target || event.srcElement);
if (target.hasClass("active") && current_runs.length == 1) {
@ -172,12 +194,16 @@ function generate_comparison_table() {
var html = "";
html += "<table class='table table-bordered'>";
html += "<table class='table table-bordered table-sm'>";
html += "<tr>";
html += "<th><input id='query_checkbox_toggler' type='checkbox' checked /></th>";
html += "<th>Query</th>";
for (var j = 0; j < filtered_results.length; j++) {
html += "<th colspan='" + current_runs.length + "'>" + filtered_results[j].system +
html += "<th colspan='" + current_runs.length + "'";
if (filtered_results[j].system_full) {
html += ' data-toggle="tooltip" title="' + filtered_results[j].system_full + '"';
}
html += " class='text-center'>" + filtered_results[j].system.replace(/ /g, '&nbsp;') +
(filtered_results[j].version ? " (" + filtered_results[j].version + ")" : "") + "</th>";
}
html += "</tr>";
@ -369,16 +395,22 @@ function generate_diagram() {
}
}
html += "<table class='table table-borderless'>";
html += "<table class='table table-borderless table-sm'>";
var table_rows = [];
for (var j = 0; j < filtered_results.length; j++) {
var total_ratio = +$("#absolute_totals" + j).attr("data-ratio");
var table_row = "";
html += "<tr>";
html += "<td class='text-right w-15'><strong>" + filtered_results[j].system + "</strong>" +
(filtered_results[j].version ? "<br />(" + filtered_results[j].version.replace(/ /g, '&nbsp;') + ")" : "") + "</td>";
table_row += "<tr>";
table_row += "<td class='text-right w-15 align-middle'";
if (filtered_results[j].system_full) {
table_row += ' data-toggle="tooltip" data-placement="right" title="' + filtered_results[j].system_full + '"';
}
table_row += ">" + filtered_results[j].system + "" +
(filtered_results[j].version ? "<br /><span class='text-muted'(" + filtered_results[j].version.replace(/ /g, '&nbsp;') + ")</span>" : "") + "</td>";
html += "<td class='w-75'>";
table_row += "<td class='w-75'>";
for (var current_run_idx = 0; current_run_idx < current_runs.length; current_run_idx++) {
var k = current_runs[current_run_idx];
@ -391,19 +423,40 @@ function generate_diagram() {
percents = (ratio * 100 / max_total_ratio).toFixed(2);
}
html += '<div class="progress ml-2 my-2" style="height:1rem;"><div class="progress-bar bg-orange" style="width: ' + percents + '%;">&nbsp;</div></div>';
table_row += '<div class="progress ml-2 my-2" style="height:1rem;"><div class="progress-bar ';
var bg = 'bg-dark';
if (filtered_results[j].kind == 'cloud' || filtered_results[j].kind == 'vps') {
bg = 'bg-primary';
} else if (filtered_results[j].kind == 'desktop' || filtered_results[j].kind == 'laptop') {
bg = 'bg-secondary';
}
table_row += bg + '" style="width: ' + percents + '%;">&nbsp;</div></div>';
}
html += "</td>";
html += "<td class='align-middle'><strong>" + (total_ratio / min_total_ratio).toFixed(2) + "</strong></td>";
html += "</tr>";
table_row += "</td>";
table_row += "<td class='align-middle'><strong>" + (total_ratio / min_total_ratio).toFixed(2) + "</strong></td>";
table_row += "</tr>";
table_rows.push({ data: table_row, value: total_ratio / min_total_ratio });
}
table_rows.sort(function(a, b) { return a.value - b.value; });
for (var j = 0; j < table_rows.length; j++) {
html += table_rows[j].data;
}
html += "</table>";
$('#diagram').html(html);
$('[data-toggle="tooltip"]').tooltip({
trigger: 'hover',
delay: { "show": 300, "hide": 100 }
});
}
generate_selectors($('#selectors'));

View File

@ -1,9 +1,6 @@
var current_data_size = 0;
var current_systems = [
'Xeon Gold 6230, 2 sockets, 40 threads',
'Dell PowerEdge R640 DX292 2x Xeon SP Gold 16-Core 2.10GHz, 196 GB RAM, 2x SSD 960 GB RAID-1',
'E5-2650 v2 @ 2.60GHz, 2 sockets, 16 threads, 8xHDD RAID-5'];
var current_systems = [];
var queries =
[

View File

@ -1,7 +1,11 @@
[
{
"system": "Xeon Gold 6230, 2 sockets, 40 threads",
"system": "Xeon Gold 6230",
"system_full": "Xeon Gold 6230, 2 sockets, 40 threads",
"cpu_vendor": "Intel",
"cpu_model": "Xeon Gold 6230",
"time": "2020-01-01 00:00:00",
"kind": "server",
"result":
[
[0.009, 0.002, 0.001],

View File

@ -1,7 +1,10 @@
[
{
"system": "Yandex Cloud Cascade Lake, 64 vCPU (32 threads), 128 GB RAM, 400 GB SSD",
"system": "Yandex Cloud s2.6xlarge",
"system_full": "Yandex Cloud Cascade Lake, 64 vCPU (32 threads), 128 GB RAM, 400 GB SSD",
"cpu_vendor": "Intel",
"time": "2020-01-11 00:00:00",
"kind": "cloud",
"result":
[
[0.037, 0.002, 0.002],
@ -51,8 +54,10 @@
},
{
"system": "Yandex Cloud Cascade Lake, 64 vCPU (32 threads), 128 GB RAM, 4 TB SSD",
"system": "Yandex Cloud s2.6xlarge 4TB SSD",
"system_full": "Yandex Cloud Cascade Lake, 64 vCPU (32 threads), 128 GB RAM, 4 TB SSD",
"time": "2020-01-13 00:00:00",
"kind": "cloud",
"result":
[
[0.054, 0.002, 0.002],

View File

@ -1,7 +1,10 @@
[
{
"system": "Yandex Cloud Cascade Lake, 4 vCPU (2 threads), 16 GB RAM, 30 GB SSD",
"system": "Yandex Cloud s2.small",
"system_full": "Yandex Cloud Cascade Lake, 4 vCPU (2 threads), 16 GB RAM, 30 GB SSD",
"cpu_vendor": "Intel",
"time": "2020-01-13 00:00:00",
"kind": "cloud",
"result":
[
[0.621, 0.002, 0.002],

View File

@ -1,7 +1,10 @@
[
{
"system": "Yandex Cloud Broadwell, 4 vCPU (2 threads), 16 GB RAM, 30 GB SSD",
"system": "Yandex Cloud s1.small",
"system_full": "Yandex Cloud Broadwell, 4 vCPU (2 threads), 16 GB RAM, 30 GB SSD",
"cpu_vendor": "Intel",
"time": "2020-01-14 00:00:00",
"kind": "cloud",
"result":
[
[0.507, 0.002, 0.002],

View File

@ -1,7 +1,10 @@
[
{
"system": "Dell PowerEdge R6415 DX180 AMD EPYC™ 7551P 32-Core Naples (Zen), 128 GB RAM, 2x SSD 960 GB RAID-1",
"system": "Dell PowerEdge R6415",
"system_full": "Dell PowerEdge R6415 DX180 AMD EPYC™ 7551P 32-Core Naples (Zen), 128 GB RAM, 2x SSD 960 GB RAID-1",
"cpu_vendor": "AMD",
"time": "2020-01-13 00:00:00",
"kind": "server",
"result":
[
[0.007, 0.002, 0.001],

View File

@ -1,7 +1,11 @@
[
{
"system": "Dell PowerEdge R640 DX292 2x Xeon SP Gold 16-Core 2.10GHz, 196 GB RAM, 2x SSD 960 GB RAID-1",
"system": "Dell PowerEdge R640",
"system_full": "Dell PowerEdge R640 DX292 2x Xeon SP Gold 16-Core 2.10GHz, 196 GB RAM, 2x SSD 960 GB RAID-1",
"cpu_vendor": "Intel",
"cpu_model": "Xeon SP Gold",
"time": "2020-01-13 00:00:00",
"kind": "server",
"result":
[
[0.005, 0.003, 0.003],

View File

@ -1,7 +1,9 @@
[
{
"system": "E5-2650 v2 @ 2.60GHz, 2 sockets, 16 threads, 8xHDD RAID-5",
"system": "Xeon E5-2650",
"system_full": "Xeon E5-2650 v2 @ 2.60GHz, 2 sockets, 16 threads, 8xHDD RAID-5",
"time": "2020-01-12 00:00:00",
"kind": "server",
"result":
[
[0.101, 0.002, 0.002],

View File

@ -1,7 +1,9 @@
[
{
"system": "Time4vps.eu VPS (KVM) Linux Ubuntu 4 Core (Skylake) 16GB RAM 160GB Disk",
"system": "Time4vps.eu",
"system_full": "Time4vps.eu VPS (KVM) Linux Ubuntu 4 Core (Skylake) 16GB RAM 160GB Disk",
"time": "2020-01-13 00:00:00",
"kind": "vps",
"result":
[
[0.068, 0.002, 0.002],

View File

@ -1,7 +1,9 @@
[
{
"system": "Lenovo B580 Laptop (i5-3210M)",
"system": "Lenovo B580",
"system_full": "Lenovo B580 Laptop (i5-3210M)",
"time": "2020-01-11 00:00:00",
"kind": "laptop",
"result":
[
[0.035, 0.003, 0.005],

View File

@ -1,7 +1,9 @@
[
{
"system": "Dell PowerEdge R730xd, 2 socket 10 cores E5-2640 v4, HW RAID5 3TBx12 SATA",
"system": "Dell PowerEdge R730xd",
"system_full": "Dell PowerEdge R730xd, 2 socket 10 cores E5-2640 v4, HW RAID5 3TBx12 SATA",
"time": "2020-01-14 00:00:00",
"kind": "server",
"result":
[
[0.225, 0.001, 0.002],

View File

@ -1,7 +1,9 @@
[
{
"system": "Yandex Managed ClickHouse, s3.3xlarge, Cascade Lake 32 vCPU, 128 GB RAM, 1 TB local SSD",
"system": "Yandex Managed ClickHouse s3.3xlarge",
"system_full": "Yandex Managed ClickHouse, s3.3xlarge, Cascade Lake 32 vCPU, 128 GB RAM, 1 TB local SSD",
"time": "2020-01-14 00:00:00",
"kind": "cloud",
"result":
[
[0.039, 0.041, 0.046],
@ -51,8 +53,10 @@
},
{
"system": "Yandex Managed ClickHouse, s3.3xlarge, Cascade Lake 32 vCPU, 128 GB RAM, 12.5 TB local HDD",
"system": "Yandex Managed ClickHouse s3.3xlarge",
"system_full": "Yandex Managed ClickHouse, s3.3xlarge, Cascade Lake 32 vCPU, 128 GB RAM, 12.5 TB local HDD",
"time": "2020-01-14 00:00:00",
"kind": "cloud",
"result":
[
[0.049, 0.049, 0.045],

View File

@ -1,7 +1,9 @@
[
{
"system": "Dell R530, 128GB DDR4, 2x480 GB SATA SSD, Perc H730 RAID-1",
"system": "Dell R530",
"system_full": "Dell R530, 128GB DDR4, 2x480 GB SATA SSD, Perc H730 RAID-1",
"time": "2020-01-14 00:00:00",
"kind": "server",
"result":
[
[0.027, 0.002, 0.002],

View File

@ -1,7 +1,9 @@
[
{
"system": "Xeon 2176G, 64GB RAM, 2xSSD 960GB (SAMSUNG MZQLB960HAJR-00007), ZFS RAID-1",
"system": "Xeon 2176G",
"system_full": "Xeon 2176G, 64GB RAM, 2xSSD 960GB (SAMSUNG MZQLB960HAJR-00007), ZFS RAID-1",
"time": "2020-01-14 00:00:00",
"kind": "server",
"result":
[
[0.001, 0.001, 0.001],

View File

@ -1,7 +1,9 @@
[
{
"system": "Azure DS3v2 4vcpu 14GB RAM 1TB Standard SSD",
"system": "Azure DS3v2 Standard SSD",
"system_full": "Azure DS3v2 4vcpu 14GB RAM 1TB Standard SSD",
"time": "2020-01-15 00:00:00",
"kind": "cloud",
"result":
[
[0.709, 0.004, 0.004],
@ -50,8 +52,10 @@
]
},
{
"system": "Azure DS3v2 4vcpu 14GB RAM 1TB Premium SSD",
"system": "Azure DS3v2 Premium SSD",
"system_full": "Azure DS3v2 4vcpu 14GB RAM 1TB Premium SSD",
"time": "2020-01-15 00:00:00",
"kind": "cloud",
"result":
[
[0.047, 0.004, 0.003],

View File

@ -1,7 +1,9 @@
[
{
"system": "AWS i3.8xlarge 32vCPU 244GiB 4x1900 NVMe SSD",
"system": "AWS i3.8xlarge",
"system_full": "AWS i3.8xlarge 32vCPU 244GiB 4x1900 NVMe SSD",
"time": "2020-01-15 00:00:00",
"kind": "cloud",
"result":
[
[0.009, 0.002, 0.002],

View File

@ -1,7 +1,9 @@
[
{
"system": "AWS m5d.24xlarge 96vCPU 384GiB 4x900 NVMe SSD",
"system": "AWS m5d.24xlarge",
"system_full": "AWS m5d.24xlarge 96vCPU 384GiB 4x900 NVMe SSD",
"time": "2020-01-15 00:00:00",
"kind": "cloud",
"result":
[
[0.012, 0.002, 0.002],

View File

@ -1,7 +1,9 @@
[
{
"system": "AWS i3en.24xlarge 96vCPU 768GiB 8x7500 NVMe SSD",
"system": "AWS i3en.24xlarge",
"system_full": "AWS i3en.24xlarge 96vCPU 768GiB 8x7500 NVMe SSD",
"time": "2020-01-15 00:00:00",
"kind": "cloud",
"result":
[
[0.010, 0.002, 0.002],

View File

@ -1,7 +1,9 @@
[
{
"system": "Huawei TaiShan 2280 v2 (AArch64) 64 core (2-die), one physical HDD",
"system": "Huawei TaiShan",
"system_full": "Huawei TaiShan 2280 v2 (AArch64) 64 core (2-die), one physical HDD",
"time": "2020-01-15 00:00:00",
"kind": "server",
"result":
[
[0.356, 0.002, 0.002],

View File

@ -1,7 +1,9 @@
[
{
"system": "AWS m5ad.24xlarge 96vCPU 384GiB 4x900 NVMe SSD, AMD EPYC 7000 series 2.5 GHz",
"system": "AWS m5ad.24xlarge",
"system_full": "AWS m5ad.24xlarge 96vCPU 384GiB 4x900 NVMe SSD, AMD EPYC 7000 series 2.5 GHz",
"time": "2020-01-17 00:00:00",
"kind": "cloud",
"result":
[
[0.013, 0.002, 0.002],

View File

@ -1,7 +1,9 @@
[
{
"system": "Lenovo Thinkpad X1 Carbon 6th Gen i7-8550U CPU @ 1.80GHz 4 threads, 16 GiB",
"system": "Lenovo Thinkpad X1 Carbon",
"system_full": "Lenovo Thinkpad X1 Carbon 6th Gen i7-8550U CPU @ 1.80GHz 4 threads, 16 GiB",
"time": "2020-01-18 00:00:00",
"kind": "laptop",
"result":
[
[0.006, 0.002, 0.002],

View File

@ -1,7 +1,9 @@
[
{
"system": "E5645 @ 2.40GHz, 2 sockets, 12 threads, 96 GiB, 14 x 2TB HDD RAID-10",
"system": "Xeon E5645",
"system_full": "Xeon E5645 @ 2.40GHz, 2 sockets, 12 threads, 96 GiB, 14 x 2TB HDD RAID-10",
"time": "2020-01-18 00:00:00",
"kind": "server",
"result":
[
[0.061, 0.003, 0.003],

View File

@ -1,7 +1,9 @@
[
{
"system": "AMD EPYC 7402P 2.8 GHz, 128 GB DDR4, SSD RAID1 2×1920 GB SSD (INTEL SSDSC2KB019T7)",
"system": "AMD EPYC 7402P SSD",
"system_full": "AMD EPYC 7402P 2.8 GHz, 128 GB DDR4, SSD RAID1 2×1920 GB SSD (INTEL SSDSC2KB019T7)",
"time": "2020-01-26 00:00:00",
"kind": "server",
"result":
[
[0.014, 0.002, 0.002],
@ -50,8 +52,10 @@
]
},
{
"system": "AMD EPYC 7402P 2.8 GHz, 128 GB DDR4, HDD RAID1 2×8000 GB HDD (TOSHIBA MG06ACA800E)",
"system": "AMD EPYC 7402P HDD",
"system_full": "AMD EPYC 7402P 2.8 GHz, 128 GB DDR4, HDD RAID1 2×8000 GB HDD (TOSHIBA MG06ACA800E)",
"time": "2020-01-26 00:00:00",
"kind": "server",
"result":
[
[0.149, 0.002, 0.002],
@ -100,8 +104,10 @@
]
},
{
"system": "AMD EPYC 7502P / 128G DDR4 / 2NVME SAMSUNG MZQLB960HAJR",
"system": "AMD EPYC 7502P nVME",
"system_full": "AMD EPYC 7502P / 128G DDR4 / 2NVME SAMSUNG MZQLB960HAJR",
"time": "2020-03-05 00:00:00",
"kind": "server",
"result":
[
[0.012, 0.019, 0.009],

View File

@ -1,7 +1,9 @@
[
{
"system": "Intel Xeon E5-1650v3 3.5 GHz, 64 GB DDR4, RAID1 2×480 GB SSD (INTEL SSDSC2BB480G4)",
"system": "Intel Xeon E5-1650v3",
"system_full": "Intel Xeon E5-1650v3 3.5 GHz, 64 GB DDR4, RAID1 2×480 GB SSD (INTEL SSDSC2BB480G4)",
"time": "2020-01-26 00:00:00",
"kind": "server",
"result":
[
[0.005, 0.001, 0.001],

View File

@ -1,7 +1,9 @@
[
{
"system": "Selectel Cloud, 16 vCPU, 32 GB RAM, 'fast disk'",
"system": "Selectel Cloud 'fast disk'",
"system_full": "Selectel Cloud, 16 vCPU, 32 GB RAM, 'fast disk'",
"time": "2020-01-26 00:00:00",
"kind": "cloud",
"result":
[
[0.017, 0.002, 0.002],
@ -50,8 +52,10 @@
]
},
{
"system": "Selectel Cloud, 16 vCPU, 32 GB RAM, 'basic disk'",
"system": "Selectel Cloud 'basic disk'",
"system_full": "Selectel Cloud, 16 vCPU, 32 GB RAM, 'basic disk'",
"time": "2020-01-26 00:00:00",
"kind": "cloud",
"result":
[
[0.142, 0.002, 0.002],
@ -100,8 +104,10 @@
]
},
{
"system": "Selectel Cloud, 16 vCPU, 32 GB RAM, 'universal disk'",
"system": "Selectel Cloud 'universal disk'",
"system_full": "Selectel Cloud, 16 vCPU, 32 GB RAM, 'universal disk'",
"time": "2020-01-26 00:00:00",
"kind": "cloud",
"result":
[
[0.016, 0.002, 0.002],

View File

@ -1,7 +1,9 @@
[
{
"system": "AWS a1.4xlarge (Graviton) 16 vCPU, 2.3 GHz, 32 GiB RAM, EBS",
"system": "AWS a1.4xlarge",
"system_full": "AWS a1.4xlarge (Graviton) 16 vCPU, 2.3 GHz, 32 GiB RAM, EBS",
"time": "2020-02-13 00:00:00",
"kind": "cloud",
"result":
[
[0.012, 0.003, 0.003],

View File

@ -1,7 +1,9 @@
[
{
"system": "ProLiant DL380 G7, 12Gb RAM, 2x Xeon X5675 3.07GHz, 8x300GB SAS soft RAID5",
"system": "ProLiant DL380 G7 (2 CPU)",
"system_full": "ProLiant DL380 G7, 12Gb RAM, 2x Xeon X5675 3.07GHz, 8x300GB SAS soft RAID5",
"time": "2020-02-18 00:00:00",
"kind": "server",
"result":
[
[0.041, 0.005, 0.005],
@ -50,8 +52,10 @@
]
},
{
"system": "ProLiant DL380 G7, 12Gb RAM, 1x Xeon X5675 3.07GHz, 8x300GB SAS Soft RAID5",
"system": "ProLiant DL380 G7 (1 CPU)",
"system_full": "ProLiant DL380 G7, 128Gb RAM, 1x Xeon X5675 3.07GHz, 8x300GB SAS Soft RAID5",
"time": "2020-02-18 00:00:00",
"kind": "server",
"result":
[
[0.048, 0.005, 0.005],

View File

@ -1,7 +1,9 @@
[
{
"system": "Pinebook Pro (AArch64, 4 GiB RAM)",
"system": "Pinebook Pro",
"system_full": "Pinebook Pro (AArch64, 4 GiB RAM)",
"time": "2020-03-08 00:00:00",
"kind": "laptop",
"result":
[
[0.021, 0.009, 0.007],

View File

@ -1,7 +1,9 @@
[
{
"system": "AMD Ryzen 9 3950X 16-Core Processor, 64 GiB RAM, Intel Optane 900P 280 GB",
"system": "AMD Ryzen 9",
"system_full": "AMD Ryzen 9 3950X 16-Core Processor, 64 GiB RAM, Intel Optane 900P 280 GB",
"time": "2020-03-14 00:00:00",
"kind": "desktop",
"result":
[
[0.002, 0.001, 0.001],

View File

@ -1,7 +1,9 @@
[
{
"system": "Azure E32s v3 32 256 GiB 512 GiB",
"system": "Azure E32s v3",
"system_full": "Azure E32s v3 32 256 GiB 512 GiB",
"time": "2020-03-23 00:00:00",
"kind": "cloud",
"result":
[
[0.003, 0.002, 0.003],

View File

@ -1,7 +1,9 @@
[
{
"system": "MacBook Pro 2018, 2.7 GHz Quad-Core Intel Core i7, 16 GiB RAM, 1TB SSD",
"system": "MacBook Pro 2018",
"system_full": "MacBook Pro 2018, 2.7 GHz Quad-Core Intel Core i7, 16 GiB RAM, 1TB SSD",
"time": "2020-04-04 00:00:00",
"kind": "laptop",
"result":
[
[0.002, 0.002, 0.002],

View File

@ -1,7 +1,9 @@
[
{
"system": "AMD EPYC 7702, 256 cores, 512 GiB, NVMe SSD",
"system": "AMD EPYC 7702",
"system_full": "AMD EPYC 7702, 256 cores, 512 GiB, NVMe SSD",
"time": "2020-04-09 00:00:00",
"kind": "server",
"result":
[
[0.006, 0.002, 0.002],

View File

@ -1,7 +1,9 @@
[
{
"system": "Intel NUC, 4 cores (Intel i7-6770HQ), 32 GiB RAM, 1 TB NVMe SSD",
"system": "Intel NUC",
"system_full": "Intel NUC, 4 cores (Intel i7-6770HQ), 32 GiB RAM, 1 TB NVMe SSD",
"time": "2020-04-15 00:00:00",
"kind": "desktop",
"result":
[
[0.003, 0.002, 0.001],

View File

@ -1,7 +1,9 @@
[
{
"system": "AMD EPYC 7502P 32-Core Processor with HT (64 thread) / 512 Gb RAM / mdadm RAID1 SAMSUNG MZQLB3T8HALS-00007 + LVM",
"system": "AMD EPYC 7502P",
"system_full": "AMD EPYC 7502P 32-Core Processor with HT (64 thread) / 512 Gb RAM / mdadm RAID1 SAMSUNG MZQLB3T8HALS-00007 + LVM",
"time": "2020-04-16 00:00:00",
"kind": "server",
"result":
[
[0.007, 0.002, 0.002],

View File

@ -1,7 +1,9 @@
[
{
"system": "Xeon Silver 4114, 256 Gb RAM, SSD RAID1",
"system": "Xeon Silver 4114",
"system_full": "Xeon Silver 4114, 256 Gb RAM, SSD RAID1",
"time": "2020-04-23 00:00:00",
"kind": "server",
"result":
[
[0.010, 0.002, 0.002],

View File

@ -1,52 +1,54 @@
[
{
"system": "AWS m6g.16xlarge (Graviton2) 64 vCPU, 256 GiB RAM, EBS",
"system": "AWS m6g.16xlarge",
"system_full": "AWS m6g.16xlarge (Graviton2) 64 vCPU, 256 GiB RAM, EBS",
"time": "2020-02-13 00:00:00",
"kind": "cloud",
"result":
[
[0.012, 0.003, 0.003],
[0.047, 0.028, 0.028],
[0.102, 0.025, 0.025],
[0.847, 0.061, 0.062],
[1.487, 0.078, 0.079],
[2.404, 0.149, 0.149],
[0.032, 0.016, 0.016],
[0.035, 0.030, 0.030],
[1.597, 0.146, 0.142],
[2.192, 0.162, 0.163],
[1.307, 0.102, 0.102],
[1.524, 0.102, 0.101],
[2.387, 0.217, 0.216],
[3.773, 0.267, 0.266],
[2.206, 0.231, 0.224],
[1.163, 0.227, 0.225],
[3.870, 0.517, 0.513],
[3.416, 0.348, 0.340],
[6.786, 1.266, 1.231],
[0.673, 0.058, 0.096],
[18.821, 0.346, 0.313],
[20.684, 0.319, 0.312],
[38.918, 0.684, 0.653],
[39.697, 0.990, 1.000],
[4.472, 0.107, 0.096],
[2.260, 0.092, 0.089],
[5.153, 0.106, 0.103],
[18.709, 0.341, 0.334],
[15.166, 0.398, 0.399],
[0.849, 1.224, 1.272],
[3.447, 0.209, 0.205],
[9.573, 0.327, 0.315],
[7.621, 1.857, 1.841],
[18.441, 1.167, 1.070],
[18.453, 1.208, 1.072],
[0.430, 0.329, 0.334],
[0.258, 0.215, 0.222],
[0.122, 0.101, 0.100],
[0.120, 0.081, 0.084],
[0.553, 0.449, 0.448],
[0.059, 0.026, 0.030],
[0.035, 0.031, 0.019],
[0.010, 0.007, 0.007]
[0.012, 0.003, 0.003],
[0.047, 0.028, 0.028],
[0.102, 0.025, 0.025],
[0.847, 0.061, 0.062],
[1.487, 0.078, 0.079],
[2.404, 0.149, 0.149],
[0.032, 0.016, 0.016],
[0.035, 0.030, 0.030],
[1.597, 0.146, 0.142],
[2.192, 0.162, 0.163],
[1.307, 0.102, 0.102],
[1.524, 0.102, 0.101],
[2.387, 0.217, 0.216],
[3.773, 0.267, 0.266],
[2.206, 0.231, 0.224],
[1.163, 0.227, 0.225],
[3.870, 0.517, 0.513],
[3.416, 0.348, 0.340],
[6.786, 1.266, 1.231],
[0.673, 0.058, 0.096],
[18.821, 0.346, 0.313],
[20.684, 0.319, 0.312],
[38.918, 0.684, 0.653],
[39.697, 0.990, 1.000],
[4.472, 0.107, 0.096],
[2.260, 0.092, 0.089],
[5.153, 0.106, 0.103],
[18.709, 0.341, 0.334],
[15.166, 0.398, 0.399],
[0.849, 1.224, 1.272],
[3.447, 0.209, 0.205],
[9.573, 0.327, 0.315],
[7.621, 1.857, 1.841],
[18.441, 1.167, 1.070],
[18.453, 1.208, 1.072],
[0.430, 0.329, 0.334],
[0.258, 0.215, 0.222],
[0.122, 0.101, 0.100],
[0.120, 0.081, 0.084],
[0.553, 0.449, 0.448],
[0.059, 0.026, 0.030],
[0.035, 0.031, 0.019],
[0.010, 0.007, 0.007]
]
}
]

View File

@ -133,7 +133,9 @@ $(document).ready(function () {
'class="rating-star text-reset text-decoration-none">' + star + '</a>';
}
rating_stars.html(replacement);
$('[data-toggle="tooltip"]').tooltip();
$('[data-toggle="tooltip"]').tooltip({
trigger: 'hover'
});
var rating_star_item = $('.rating-star');
rating_star_item.hover(function() {
var current = $(this);