From a9eaf752705e02475e956fe5cb6d0925f1d7451c Mon Sep 17 00:00:00 2001 From: Tanguy Pruvot Date: Sat, 4 Jun 2016 10:59:39 +0200 Subject: [PATCH] sql: add chip table to analyse benchmark results --- sql/2016-06-04-bench_chips.sql | 53 ++++++++++++++++++++++++ web/yaamp/models/db_bench_chipsModel.php | 35 ++++++++++++++++ web/yaamp/modules/bench/functions.php | 13 +++++- 3 files changed, 100 insertions(+), 1 deletion(-) create mode 100644 sql/2016-06-04-bench_chips.sql create mode 100644 web/yaamp/models/db_bench_chipsModel.php diff --git a/sql/2016-06-04-bench_chips.sql b/sql/2016-06-04-bench_chips.sql new file mode 100644 index 0000000..51dace6 --- /dev/null +++ b/sql/2016-06-04-bench_chips.sql @@ -0,0 +1,53 @@ +-- Recent additions to add after db init (.gz) +-- mysql yaamp -p < file.sql + +-- Devices suffix, to prevent hardcoding in functions + +CREATE TABLE `bench_suffixes` ( + `vendorid` varchar(12) NOT NULL PRIMARY KEY, + `chip` varchar(32) NULL, + `suffix` varchar(32) NOT NULL DEFAULT '' +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +-- Family averages, will be used as perf/algo ratio + +CREATE TABLE `bench_chips` ( + `id` int(11) NOT NULL AUTO_INCREMENT PRIMARY KEY, + `devicetype` varchar(8) NULL, + `vendorid` varchar(12) NULL, + `chip` varchar(32) NULL, + `year` int(4) UNSIGNED NULL, + `maxtdp` double NULL, + `blake_rate` double NULL, + `blake_power` double NULL, + `x11_rate` double NULL, + `x11_power` double NULL, + `sha_rate` double NULL, + `sha_power` double NULL, + `scrypt_rate` double NULL, + `scrypt_power` double NULL, + `dag_rate` double NULL, + `dag_power` double NULL, + `lyra_rate` double NULL, + `lyra_power` double NULL, + `neo_rate` double NULL, + `neo_power` double NULL, + `url` varchar(255) NULL, + `features` varchar(255) NULL, + `perfdata` text NULL +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +ALTER TABLE `bench_chips` + ADD INDEX `ndx_chip_type` (`devicetype`), + ADD INDEX `ndx_chip_name` (`chip`); + +ALTER TABLE `benchmarks` + ADD `idchip` int(11) NULL AFTER `vendorid`, + ADD `chip` varchar(32) NULL AFTER `vendorid`, + ADD `mem` int(8) NULL AFTER `arch`; + +ALTER TABLE `benchmarks` + ADD KEY `ndx_chip` (`idchip`); + +ALTER TABLE `benchmarks` ADD CONSTRAINT fk_bench_chip FOREIGN KEY (`idchip`) + REFERENCES `bench_chips` (`id`) ON DELETE RESTRICT; diff --git a/web/yaamp/models/db_bench_chipsModel.php b/web/yaamp/models/db_bench_chipsModel.php new file mode 100644 index 0000000..9035e6b --- /dev/null +++ b/web/yaamp/models/db_bench_chipsModel.php @@ -0,0 +1,35 @@ +'search'), + ); + } + + public function relations() + { + return array( + ); + } + + public function attributeLabels() + { + return array( + ); + } + +} + diff --git a/web/yaamp/modules/bench/functions.php b/web/yaamp/modules/bench/functions.php index 117e290..3a621a3 100644 --- a/web/yaamp/modules/bench/functions.php +++ b/web/yaamp/modules/bench/functions.php @@ -27,10 +27,13 @@ function getProductIdSuffix($row) '3842:3753' => 'SC', '3842:3757' => 'FTW', // EVGA 950 + '3842:2951' => 'SC', + '3842:2956' => 'SC+', '3842:2957' => 'SSC', - '3842:2966' => 'SSC 4GB', + '3842:2958' => 'FTW', // EVGA 960 '3842:2962' => 'SC', + '3842:2966' => 'SSC', '3842:3966' => 'SSC 4GB', // EVGA 970 '3842:2974' => 'SC', @@ -47,6 +50,14 @@ function getProductIdSuffix($row) if (isset($known[$vidpid])) { return ' '.$known[$vidpid]; } + + // table with user suffixes... + $suffix = dboscalar("SELECT suffix FROM bench_suffixes WHERE vendorid=:vid", + array(':vid'=>$vidpid) + ); + if (!empty($suffix)) + return ' '.$suffix; + return ''; }