diff --git a/index.html b/index.html index 2546b0f7d1..e9ef2b8340 100644 --- a/index.html +++ b/index.html @@ -711,7 +711,27 @@

Detailed Comparison

}); }); -[... new Set(data.map(elem => elem.machine))].sort((a, b) => { +/// The whitelist of AWS machines: results on any other EC2 instance type are hidden, +/// so that the set of compared machines stays consistent. +const aws_machines_whitelist = new Set([ + 't3a.small', + 'c6a.large', + 'c6a.xlarge', + 'c6a.2xlarge', + 'c6a.4xlarge', + 'c8g.4xlarge', + 'c6a.metal', + 'c7a.metal-48xl', + 'c8g.metal-48xl', + 'p5.4xlarge', /// GPU, the only notable demo for Sirius. +]); + +/// Matches EC2 instance type names, e.g. `c6a.4xlarge` or `m9gd.xlarge`, +/// but not the names of cloud service sizes, e.g. `64GiB` or `Motherduck: jumbo`. +const aws_machine_regexp = /^[a-z]+[0-9]+[a-z]*\.[0-9a-z-]+$/; + +[... new Set(data.map(elem => elem.machine))].filter( + elem => aws_machines_whitelist.has(elem) || !aws_machine_regexp.test(elem)).sort((a, b) => { const count_diff = data.filter(elem => elem.machine === b).length - data.filter(elem => elem.machine === a).length; return count_diff == 0 ? a.localeCompare(b, undefined, {numeric: true, sensitivity: 'base'}) : count_diff; }).map(elem => {