Show all';
foreach($algos as $a => $count) {
if($a == $algo)
$options .= '';
else
$options .= '';
}
// --------------
$algoFilter = $algo != 'all' ? ' AND B.algo='.sqlQuote($algo) : '';
$chips = array();
$in_db = dbolist("SELECT DISTINCT B.idchip as id, B.type, C.chip as name FROM benchmarks B".
" LEFT JOIN bench_chips C ON C.id=B.idchip WHERE B.idchip IS NOT NULL $algoFilter AND $sqlFilter GROUP BY B.idchip ORDER BY type DESC, name ASC");
foreach ($in_db as $row) {
$chips[$row['id']] = $row['name'];
}
$optchips = '';
foreach($chips as $id => $name) {
if($id == $idchip)
$optchips .= '';
else
$optchips .= '';
}
JavascriptFile("/yaamp/ui/js/jquery.metadata.js");
JavascriptFile("/yaamp/ui/js/jquery.tablesorter.widgets.js");
include('functions.php');
$algo = user()->getState('bench-algo');
if (empty($algo)) $algo = 'all';
if (empty($idchip)) $idchip = NULL;
if (empty($vid)) $vid = NULL;
$this->pageTitle = "Benchmarks";
$bench = new db_benchmarks;
if($algo != 'all') $bench->algo = $algo;
$bench->vendorid = $vid;
$bench->idchip = $idchip;
$dp = $bench->search();
$db_rows = $dp->getData();
echo << ';
if ($algo == 'all') {
echo "Last 50 results";
} else {
echo "Last 50 $algo results";
echo ", ".CHtml::link(" show totals", '/bench/algo?algo='.$algo);
}
echo 'Admin ';
}
echo <<
END;
foreach ($db_rows as $row) {
if (!isset($row['algo'])) continue;
if ($row['chip'] == 'Virtual') continue;
echo 'Algo
Time
Chip
Device
Arch
Vendor ID
Hashrate
Int.
Freq
W
Cost
Client
OS
Driver / Compiler
{$actions}
';
$hashrate = Itoa2(1000*round($row['khps'],3),3).'H';
$age = datetoa2($row['time']);
echo ' ';
}
echo '';
if (!empty($algo)) {
if ($idchip) $sqlFilter .= ' AND idchip='.intval($idchip);
$avg = dborow("SELECT AVG(khps) as khps, AVG(power) as power, AVG(intensity) as intensity, AVG(freq) as freq, ".
"COUNT(*) as records ".
"FROM benchmarks B WHERE algo=:algo AND power > 5 AND $sqlFilter", array(':algo'=>$algo)
);
if (arraySafeVal($avg, 'records') == 0) {
$avg = dborow("SELECT AVG(khps) as khps, '' as power, '' as intensity, '' as freq, ".
"COUNT(*) as records ".
"FROM benchmarks B WHERE algo=:algo AND $sqlFilter", array(':algo'=>$algo)
);
}
if (arraySafeVal($avg, 'records') > 0) {
echo ''.CHtml::link($row['algo'],'/bench?algo='.$row['algo']).' ';
echo ''.$age.' ';
echo ''.($row['idchip'] ? CHtml::link($row['chip'],'/bench?chip='.$row['idchip']) : $row['chip']).' ';
if ($row['type'] == 'cpu') {
echo ''.formatCPU($row).' ';
echo ''.$row['arch'].' ';
echo ''.CHtml::link($row['vendorid'],'/bench?vid='.$row['vendorid']).' ';
} else {
echo ''.$row['device'].getProductIdSuffix($row).' ';
echo ''.formatCudaArch($row['arch']).' ';
echo ''.CHtml::link($row['vendorid'],'/bench?vid='.$row['vendorid']).' ';
}
echo ''.$hashrate.' ';
if ($row['type'] == 'cpu') // threads
echo ''.$row['throughput'].' ';
else if ($algo == 'neoscrypt')
echo ''.$row['throughput'].'* ';
else
echo ''.$row['intensity'].' ';
// freqs
$title = ''; $class = '';
$content = $row['freq'] ? $row['freq'] : '-';
if (intval($row['realfreq']) > $row['freq'] / 10) {
$content = $row['realfreq'];
$class = 'real';
$title .= 'Base clock: '.$row['freq'].' MHz'."\n";
$title .= 'Mem clock: '.$row['realmemf'].' MHz ('.($row['realmemf']-$row['memf']).')';
} else if ($row['memf']) {
$title = 'Mem Clock: '.$row['memf'].' MHz';
}
$props = array('title'=>$title,'class'=>$class);
echo CHtml::tag('td', $props, $content, true);
// power
$title = ''; $class = '';
$content = $row['power'] ? $row['power'] : '-';
if ($row['plimit']) {
$title = 'Power limit '.$row['plimit'].'W';
$class = 'limited';
}
$props = array('title'=>$title,'class'=>$class);
echo CHtml::tag('td', $props, $content, true);
echo ''.(empty($row['power']) ? '-' : mbitcoinvaluetoa(powercost_mBTC($row['power']))).' ';
echo ''.formatClientName($row['client']).' ';
echo ''.$row['os'].' ';
echo ''.$row['driver'].' ';
if ($this->admin) {
$props = array('style'=>'color: darkred;');
echo ''.CHtml::link("delete", '/bench/del?id='.$row['id'], $props).' ';
}
echo '';
echo ' ';
}
}
echo''.CHtml::link($algo,'/bench?algo='.$algo).' ';
echo ' ';
echo 'Average ('.$avg["records"].' records) ';
echo ''.Itoa2(1000*round($avg['khps'],3),3).'H ';
echo ''.($avg['intensity'] ? round($avg['intensity'],1) : '').' ';
echo ''.($avg['freq'] ? round($avg['freq']) : '').' ';
echo ''.($avg['power'] ? round($avg['power']) : '').' ';
echo ''.($avg['power'] ? mbitcoinvaluetoa(powercost_mBTC($avg['power'])) : '').' ';
$hpw = 0;
if (floatval($avg['power']) > 0) {
$hpw = floatval($avg['khps']) / floatval($avg['power']);
}
echo ''.($hpw ? Itoa2(1000*round($hpw,3),3).'H/W' : '').' ';
echo ' ';
echo '
';
echo <<
Learn how to submit your results