Summary
Description: Phoronix Test Suite open-source benchmarking development
Last Change: Tue 5/21/13 15:49
Recent Commits
>
--git a/CHANGE-LOG b/CHANGE-LOG
index 64b5869..2fe4b91 100644
--- a/CHANGE-LOG
+++ b/CHANGE-LOG
@@ -5,8 +5,10 @@ Phoronix Test Suite (Git)
- pts-core: Better recognize some open-source vs. closed-source graphics card/driver combination comparisons
- pts-core: Fix potential crash in list-test-usage command
- pts-core: Support for detecting FSGSBASE and RDRAND on Intel Ivy Bridge
+- pts-core: When detecting a CPU comparison, report the detailed CPU system table information
- pts-core: Fix PRESET_OPTIONS failing when specifying an option value rather than its index
- pts_Graph: Fix rounding issue on pts tables that are very wide
+- pts_Graph: Add SideViewTable
Phoronix Test Suite 4.0 Milestone 1
12 April 2012
diff --git a/pts-core/objects/client/pts_client.php b/pts-core/objects/client/pts_client.php
index 78b12b7..64934b3 100644
--- a/pts-core/objects/client/pts_client.php
+++ b/pts-core/objects/client/pts_client.php
@@ -947,7 +947,7 @@ class pts_client
$chart->renderChart($save_to_dir . '/result-graphs/overview.BILDE_EXTENSION');
$intent = -1;
- if($result_file->get_system_count() == 1 || ($intent = pts_result_file_analyzer::analyze_result_file_intent($result_file, $intent, true)))
+ if(($intent = pts_result_file_analyzer::analyze_result_file_intent($result_file, $intent, true)) || $result_file->get_system_count() == 1)
{
$chart = new pts_ResultFileCompactSystemsTable($result_file, $intent);
}
@@ -957,6 +957,16 @@ class pts_client
}
$chart->renderChart($save_to_dir . '/result-graphs/systems.BILDE_EXTENSION');
unset($chart);
+
+ if($intent && in_array('Processor', $intent[0]) && is_dir($save_to_dir . '/system-logs/'))
+ {
+ $chart = new pts_DetailedSystemComponentTable($result_file, $save_to_dir . '/system-logs/', 'Processor', $intent);
+
+ if($chart)
+ {
+ $chart->renderChart($save_to_dir . '/result-graphs/system_component_details.BILDE_EXTENSION');
+ }
+ }
}
foreach($result_file->get_result_objects() as $key => $result_object)
diff --git a/pts-core/objects/phodevi/components/phodevi_cpu.php b/pts-core/objects/phodevi/components/phodevi_cpu.php
index 00d1f3e..4325c18 100644
--- a/pts-core/objects/phodevi/components/phodevi_cpu.php
+++ b/pts-core/objects/phodevi/components/phodevi_cpu.php
@@ -390,6 +390,7 @@ class phodevi_cpu extends phodevi_device_interface
public static function read_cpuinfo_line($key, $from_start = true)
{
$line = false;
+ $key .= "\t";
if(isset(phodevi::$vfs->cpuinfo) && ($from_start && ($key_pos = strpos(phodevi::$vfs->cpuinfo, PHP_EOL . $key)) !== false) || ($key_pos = strrpos(phodevi::$vfs->cpuinfo, PHP_EOL . $key)) !== false)
{
@@ -426,6 +427,7 @@ class phodevi_cpu extends phodevi_device_interface
public static function instruction_set_extensions()
{
$constants = self::get_cpu_feature_constants();
+ self::set_cpu_feature_flags();
$cpu_flags = self::get_cpu_flags();
$extension_string = null;
@@ -466,6 +468,19 @@ class phodevi_cpu extends phodevi_device_interface
return $virtualitzation_technology;
}
+ public static function lscpu_l2_cache()
+ {
+ $l2_cache = false;
+
+ if(isset(phodevi::$vfs->lscpu) && ($t = strpos(phodevi::$vfs->lscpu, 'L2 cache:')))
+ {
+ $lscpu = substr(phodevi::$vfs->lscpu, $t + strlen('L2 cache:') + 1);
+ $lscpu = substr($lscpu, 0, strpos($lscpu, PHP_EOL));
+ $l2_cache = trim($lscpu);
+ }
+
+ return $l2_cache;
+ }
public static function cpuinfo_core_count()
{
$core_count = self::read_cpuinfo_line('cpu cores');
diff --git a/pts-core/objects/phodevi/phodevi_vfs.php b/pts-core/objects/phodevi/phodevi_vfs.php
index 0a0e3b1..248080f 100644
--- a/pts-core/objects/phodevi/phodevi_vfs.php
+++ b/pts-core/objects/phodevi/phodevi_vfs.php
@@ -51,8 +51,16 @@ class phodevi_vfs
public function __construct()
{
+ $this->clear_cache();
+ }
+ public function clear_cache()
+ {
$this->cache = array();
}
+ public function cache_index()
+ {
+ return array_keys($this->cache);
+ }
public function __get($name)
{
// This assumes that isset() has been called on $name prior to actually trying to get it...
@@ -101,6 +109,10 @@ class phodevi_vfs
{
return isset($this->cache[$name]) || (PTS_IS_CLIENT && $this->cache_isset_names($name));
}
+ public function set_cache_item($name, $cache)
+ {
+ $this->cache[$name] = $cache;
+ }
protected function cache_isset_names($name)
{
// Cache the isset call names with their values when checking files/commands since Phodevi will likely hit each one potentially multiple times and little overhead to caching them
diff --git a/pts-core/objects/pts_Graph/pts_DetailedSystemComponentTable.php b/pts-core/objects/pts_Graph/pts_DetailedSystemComponentTable.php
index f22b857..0981144 100644
--- a/pts-core/objects/pts_Graph/pts_DetailedSystemComponentTable.php
+++ b/pts-core/objects/pts_Graph/pts_DetailedSystemComponentTable.php
@@ -3,9 +3,9 @@
/*
Phoronix Test Suite
URLs: http://www.phoronix.com, http://www.phoronix-test-suite.com/
- Copyright (C) 2009 - 2012, Phoronix Media
- Copyright (C) 2009 - 2012, Michael Larabel
- pts_ResultFileTable.php: The result file table object
+ Copyright (C) 2012, Phoronix Media
+ Copyright (C) 2012, Michael Larabel
+ pts_DetailedSystemComponentTable.php: The detailed system component table
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -107,31 +107,6 @@ class pts_DetailedSystemComponentTable extends pts_SideViewTable
{
$this->addTestNote(implode(' ', $intersect), null, 'Common CPU Flags');
}
- return;
-
- $columns = $result_file->get_system_identifiers();
- $rows = array();
- $table_data = array();
-
- pts_result_file_analyzer::system_components_to_table($table_data, $columns, $rows, $result_file->get_system_hardware());
- pts_result_file_analyzer::system_components_to_table($table_data, $columns, $rows, $result_file->get_system_software());
-
- pts_result_file_analyzer::compact_result_table_data($table_data, $columns, true); // TODO: see if this true value works fine but if rendering starts messing up, disable it
-
- if(defined('OPENBENCHMARKING_IDS'))
- {
- foreach($columns as &$column)
- {
- $column = new pts_graph_ir_value($column);
- $column->set_attribute('href', 'http://openbenchmarking.org/system/' . OPENBENCHMARKING_IDS . '/' . $column);
- }
- }
-
- parent::__construct($rows, $columns, $table_data, $result_file);
- $this->i['identifier_size'] *= 0.8;
- $this->column_heading_vertical = false;
- $this->graph_title = $result_file->get_title();
- pts_render::report_system_notes_to_table($result_file, $this);
}
protected function generate_processor_data(&$result_file, $system_identifier)
{
diff --git a/pts-core/objects/pts_Graph/pts_SideViewTable.php b/pts-core/objects/pts_Graph/pts_SideViewTable.php
index b167e14..e59986c 100644
--- a/pts-core/objects/pts_Graph/pts_SideViewTable.php
+++ b/pts-core/objects/pts_Graph/pts_SideViewTable.php
@@ -3,9 +3,9 @@
/*
Phoronix Test Suite
URLs: http://www.phoronix.com, http://www.phoronix-test-suite.com/
- Copyright (C) 2009 - 2012, Phoronix Media
- Copyright (C) 2009 - 2012, Michael Larabel
- pts_Table.php: A charting table object for pts_Graph
+ Copyright (C) 2012, Phoronix Media
+ Copyright (C) 2012, Michael Larabel
+ pts_SideViewTable.php: A charting table object for pts_Graph in a side-view manner
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as&nb
Copyright © 2013 by Phoronix Media