Ejemplo n.º 1
0
SetChartCacheControl();
$in = WhiteListIn();
$WhiteListTests = WhiteListUnique('test.csv', $in);
$WhiteListLangs = WhiteListUnique('lang.csv', $in);
// DATA ////////////////////////////////////////////////////
list($Mark, $valid) = ValidMark(TRUE);
list($Sort, $valid) = ValidSort($valid);
list($Test, $valid) = ValidTests($WhiteListTests, $valid);
list($BackText, $valid) = ValidLangs($WhiteListLangs, $valid);
list($Ratios, $valid) = ValidMatrix('r', 1, $valid);
for ($i = 0; $i < sizeof($Ratios); $i++) {
    $Ratios[$i] = log10($Ratios[$i]);
}
// CHART //////////////////////////////////////////////////
$chart = new WideBarChart();
$chart->yAxis(log10axis(axis1000()));
if ($valid) {
    $chart->backgroundText($BackText);
    $chart->bars($Ratios);
    $chart->notice($Mark);
    $chart->xAxisLegend('selected ' . $Test[0] . ' programs');
    if ($Sort == 'fullcpu') {
        $titletext = $Test[0] . ' - How many times slower? (CPU secs)';
        $yaxistext = 'program time ÷ fastest program time';
    } elseif ($Sort == 'kb') {
        $titletext = $Test[0] . ' - How many times more memory?';
        $yaxistext = 'program memory-used ÷ least memory-used';
    } elseif ($Sort == 'elapsed') {
        $titletext = $Test[0] . ' - How many times slower? (Elapsed secs)';
        $yaxistext = 'program time ÷ fastest program time';
    } elseif ($Sort == 'gz') {
Ejemplo n.º 2
0
        $kb[] = log10($Matrix[$i + RATIOS_KB]);
        $gz[] = log10($Matrix[$i + RATIOS_GZ]);
    }
}
unset($Matrix);
sort($secs);
sort($kb);
sort($gz);
$n = sizeof($secs);
// CHART //////////////////////////////////////////////////
$chart = new ComparisonChart();
$chart->yo = $chart->h / 2;
$scale = 45.0;
$shift = 0.0;
$chart->yAxis(log10axis(axis3_10()), $scale, $shift);
$chart->yAxis(log10axis(axis3_10_Mirror()), $scale, $shift, MIRROR_AXIS);
if ($valid) {
    // TIME PANEL
    $x = $chart->xo;
    $x1 = $x;
    $chart->barwidth = 5;
    $x = $chart->bars(DARK_GRAY, $secs);
    $label = 'Time';
    $z = $x1 + ($x - $x1 - strlen($label) * CHAR_WIDTH_2) / 2.0;
    ImageString($chart->im, 2, $z, $chart->h - 30, $label, $chart->colour[BLACK]);
    ImageString($chart->im, 2, $z, 23, $label, $chart->colour[BLACK]);
    // MEMORY USE PANEL
    $x += 20;
    $x1 = $x;
    $chart->xo = $x;
    $chart->barspace = 4 + $chart->barspace;
Ejemplo n.º 3
0
list($LangName, $valid) = ValidLangs($WhiteListLangs, TRUE);
list($Shapes, $valid) = ValidMatrix('s', 1, $valid);
for ($i = 0; $i < sizeof($Shapes); $i++) {
    $Shapes[$i] = log10($Shapes[$i]);
}
list($Centers, $valid) = ValidMatrix('c', 1, $valid);
for ($i = 0; $i < sizeof($Centers); $i++) {
    $Centers[$i] = log10($Centers[$i]);
}
// CHART //////////////////////////////////////////////////
$w = 150;
$h = 120;
$xo = 48;
$yo = MARGIN;
$chart = new ShapeChart();
if ($valid) {
    $chart->yAxis(log10axis(axis3_5_10()));
    $chart->xAxis(log10axis(axisOneTen()), 101.0);
    $chart->frame();
    $chart->title_($LangName[0], 2, CHAR_WIDTH_2);
    // hard-code a shortest programs example
    if (!isset($LangName[0])) {
        $chart->title_('Shortest C++', 2, CHAR_WIDTH_2);
    }
    $chart->shapes($Shapes, $Centers);
    $label = 'concise';
    ImageString($chart->im, 2, $xo, $h - $yo + 4, $label, $chart->colour[DARK_GRAY]);
    $label = 'fast';
    ImageStringUp($chart->im, 2, 30, $h, $label, $chart->colour[DARK_GRAY]);
}
$chart->complete();
$WhiteListLangs = WhiteListUnique('lang.csv', $in);
$WhiteListLangs['0'] = array('0', '', '', '', 0, java, '0', '');
// DATA LAYOUT ///////////////////////////////////////////////////
define('STATS_SIZE', 8);
define('STAT_MIN', 0);
define('STAT_XLOWER', 1);
define('STAT_LOWER', 2);
define('STAT_MEDIAN', 3);
define('STAT_UPPER', 4);
define('STAT_XUPPER', 5);
define('STAT_MAX', 6);
define('STATS_N', 7);
// DATA ////////////////////////////////////////////////////
list($Mark, $valid) = ValidMark(TRUE);
list($BackText, $valid) = ValidLangs($WhiteListLangs, $valid);
list($Stats, $valid) = ValidMatrix('s', STATS_SIZE, $valid);
for ($i = 0; $i < sizeof($Stats); $i++) {
    $Stats[$i] = log10($Stats[$i]);
}
// CHART /////////////////////////////////////////////////////
$chart = new KDEChart();
$chart->yAxis(log10axis(axis500()));
if ($valid) {
    $chart->backgroundText($BackText);
    $chart->boxAndWhiskers($Stats);
    $chart->notice($Mark);
}
$chart->yAxisLegend('program cpu / lowest program cpu');
$chart->title('How many times more CPU?');
$chart->frame();
$chart->complete();