sql: add chip table to analyse benchmark results

This commit is contained in:
Tanguy Pruvot 2016-06-04 10:59:39 +02:00
parent 7e37bd14e9
commit a9eaf75270
3 changed files with 100 additions and 1 deletions

View file

@ -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;

View file

@ -0,0 +1,35 @@
<?php
class db_bench_chips extends CActiveRecord
{
public static function model($className=__CLASS__)
{
return parent::model($className);
}
public function tableName()
{
return 'bench_chips';
}
public function rules()
{
return array(
array('chip,vendorid', 'safe', 'on'=>'search'),
);
}
public function relations()
{
return array(
);
}
public function attributeLabels()
{
return array(
);
}
}

View file

@ -27,10 +27,13 @@ function getProductIdSuffix($row)
'3842:3753' => 'SC', '3842:3753' => 'SC',
'3842:3757' => 'FTW', '3842:3757' => 'FTW',
// EVGA 950 // EVGA 950
'3842:2951' => 'SC',
'3842:2956' => 'SC+',
'3842:2957' => 'SSC', '3842:2957' => 'SSC',
'3842:2966' => 'SSC 4GB', '3842:2958' => 'FTW',
// EVGA 960 // EVGA 960
'3842:2962' => 'SC', '3842:2962' => 'SC',
'3842:2966' => 'SSC',
'3842:3966' => 'SSC 4GB', '3842:3966' => 'SSC 4GB',
// EVGA 970 // EVGA 970
'3842:2974' => 'SC', '3842:2974' => 'SC',
@ -47,6 +50,14 @@ function getProductIdSuffix($row)
if (isset($known[$vidpid])) { if (isset($known[$vidpid])) {
return ' '.$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 ''; return '';
} }