How to use sort_results_by_performance method of pts_test_result class

Best Phoronix-test-suite code snippet using pts_test_result.sort_results_by_performance

pts_result_file_analyzer.php

Source:pts_result_file_analyzer.php Github

copy

Full Screen

...76 $test_result->test_result_buffer->add_test_result($identifier, pts_math::set_precision($values, 3));77 }78 if(!$result_file->is_multi_way_comparison() || $do_sort)79 {80 $test_result->sort_results_by_performance();81 $test_result->test_result_buffer->buffer_values_reverse();82 }83 return $test_result;84 }85 return false;86 }87 public static function generate_geometric_mean_result_per_test($result_file, $do_sort = false, $selector = null)88 {89 $geo_results = array();90 $results = array();91 $system_count = $result_file->get_system_count();92 foreach($result_file->get_result_objects() as $result)93 {94 if(($selector == null && $result->test_profile->get_identifier() == null) || $result->test_profile->get_display_format() != 'BAR_GRAPH' || $system_count > $result->test_result_buffer->get_count())95 {96 // Skip data where it's not a proper test, not a singular data value, or not all systems ran within the result file97 continue;98 }99 if($selector != null && strpos($result->get_arguments_description(), $selector) === false && strpos($result->test_profile->get_title(), $selector) === false && strpos($result->test_profile->get_result_scale(), $selector) === false)100 {101 continue;102 }103 foreach($result->test_result_buffer->get_buffer_items() as $buffer_item)104 {105 $r = $buffer_item->get_result_value();106 if(!is_numeric($r) || $r == 0)107 {108 continue;109 }110 if($result->test_profile->get_result_proportion() == 'LIB')111 {112 // convert to HIB113 $r = (1 / $r) * 100;114 }115 $ri = $buffer_item->get_result_identifier();116 if(!isset($results[$result->test_profile->get_title()]))117 {118 $results[$result->test_profile->get_title()] = array();119 }120 if(!isset($results[$result->test_profile->get_title()][$ri]))121 {122 $results[$result->test_profile->get_title()][$ri] = array();123 }124 $results[$result->test_profile->get_title()][$ri][] = $r;125 }126 }127 if(count($results) < 3)128 {129 return array();130 }131 foreach($results as $test => $test_results)132 {133 foreach($test_results as $identifier => $values)134 {135 if(false && count($values) < 4)136 {137 // If small result file with not a lot of data, don't bother showing...138 unset($results[$test][$identifier]);139 }140 }141 if(empty($results[$test]))142 {143 unset($results[$test]);144 }145 }146 foreach($results as $test_title => $test_results)147 {148 $test_profile = new pts_test_profile();149 $test_result = new pts_test_result($test_profile);150 $test_result->test_profile->set_test_title($test_title);151 $test_result->test_profile->set_identifier(null);152 $test_result->test_profile->set_version(null);153 $test_result->test_profile->set_result_proportion(null);154 $test_result->test_profile->set_display_format('BAR_GRAPH');155 $test_result->test_profile->set_result_scale('Geometric Mean');156 $test_result->test_profile->set_result_proportion('HIB');157 $test_result->set_used_arguments_description(($selector ? $selector . ' ' : null) . 'Geometric Mean');158 $test_result->set_used_arguments('Geometric-Mean');159 $test_result->test_result_buffer = new pts_test_result_buffer();160 foreach($test_results as $identifier => $values)161 {162 $values = pts_math::geometric_mean($values);163 $test_result->test_result_buffer->add_test_result($identifier, pts_math::set_precision($values, 3));164 }165 if(!$result_file->is_multi_way_comparison() || $do_sort)166 {167 $test_result->sort_results_by_performance();168 $test_result->test_result_buffer->buffer_values_reverse();169 }170 $geo_results[] = $test_result;171 }172 return $geo_results;173 }174 public static function generate_harmonic_mean_result($result_file, $do_sort = false)175 {176 $results = array();177 $system_count = $result_file->get_system_count();178 foreach($result_file->get_result_objects() as $result)179 {180 if($result->test_profile->get_identifier() == null || $result->test_profile->get_display_format() != 'BAR_GRAPH' || $result->test_profile->get_result_proportion() == 'LIB' || $system_count > $result->test_result_buffer->get_count())181 {182 // Skip data where it's not a proper test, not a singular data value, or not all systems ran within the result file, or lower is better for results183 continue;184 }185 $rs = $result->test_profile->get_result_scale();186 if(strpos($rs, '/') === false && stripos($rs, ' per ') === false && stripos($rs, 'FPS') === false && stripos($rs, 'bps') === false && stripos($rs, 'iops') === false)187 {188 // Harmonic mean is relevant for tests of rates, MB/s, FPS, ns/day, etc.189 continue;190 }191 foreach($result->test_result_buffer->get_buffer_items() as $buffer_item)192 {193 $ri = $buffer_item->get_result_identifier();194 if(!isset($results[$rs][$ri]))195 {196 $results[$rs][$ri] = array();197 }198 $results[$rs][$ri][] = $buffer_item->get_result_value();199 }200 }201 foreach($results as $result_scale => $group)202 {203 foreach($group as $identifier => $values)204 {205 if(count($values) < 4)206 {207 // If small result file with not a lot of data, don't bother showing...208 unset($results[$result_scale][$identifier]);209 }210 }211 }212 if(!empty($results))213 {214 $test_results = array();215 foreach($results as $result_scale => $group)216 {217 $parsed = array();218 foreach($group as $identifier => $values)219 {220 $parsed[$identifier] = pts_math::harmonic_mean($values);221 }222 if(empty($parsed) || count($parsed) < 2)223 {224 continue;225 }226 $test_profile = new pts_test_profile();227 $test_result = new pts_test_result($test_profile);228 $test_result->test_profile->set_test_title('Harmonic Mean Of ' . $result_scale . ' Test Results');229 $test_result->test_profile->set_identifier(null);230 $test_result->test_profile->set_version(null);231 $test_result->test_profile->set_result_proportion(null);232 $test_result->test_profile->set_display_format('BAR_GRAPH');233 $test_result->test_profile->set_result_scale($result_scale);234 $test_result->test_profile->set_result_proportion('HIB');235 $test_result->set_used_arguments_description('Harmonic Mean');236 $test_result->set_used_arguments('Harmonic-Mean - ' . $result_scale);237 $test_result->test_result_buffer = new pts_test_result_buffer();238 foreach($parsed as $identifier => $values)239 {240 $test_result->test_result_buffer->add_test_result($identifier, pts_math::set_precision($values, 3));241 }242 if(!$result_file->is_multi_way_comparison() || $do_sort)243 {244 $test_result->sort_results_by_performance();245 $test_result->test_result_buffer->buffer_values_reverse();246 }247 $test_results[] = $test_result;248 }249 return $test_results;250 }251 return array();252 }253 public static function display_result_file_stats_pythagorean_means($result_file, $highlight_identifier = null)254 {255 $ret = null;256 foreach(pts_result_file_analyzer::generate_harmonic_mean_result($result_file, true) as $harmonic_mean_result)257 {258 $ret .= pts_result_file_output::test_result_to_text($harmonic_mean_result, pts_client::terminal_width(), true, $highlight_identifier, true) . PHP_EOL;...

Full Screen

Full Screen

ob_auto_compare.php

Source:ob_auto_compare.php Github

copy

Full Screen

...42 if($auto_comparison_result_file instanceof pts_result_file)43 {44 $merge_ch = $auto_comparison_result_file->add_result($result_object);45 $ro = $auto_comparison_result_file->get_result($merge_ch);46 $ro->sort_results_by_performance();47 $ro->test_result_buffer->buffer_values_reverse();48 echo pts_result_file_output::test_result_to_text($ro, 80, true, $result_file->get_system_identifiers());49 echo PHP_EOL . ' REFERENCE: ' . $auto_comparison_result_file->get_reference_id() . PHP_EOL;50 }51 else52 {53 echo 'NO MATCHES';54 }55 echo PHP_EOL . PHP_EOL;56 }57 }58 protected static function request_compare_from_ob($comparison_hash, $system_type)59 {60 if(!pts_network::internet_support_available() || self::$response_time > 12)61 {62 // If no network or OB requests are being slow...63 return false;64 }65 $ob_request_time = time();66 $json_response = pts_openbenchmarking::make_openbenchmarking_request('auto_compare_via_hash', array('comparison_hash' => $comparison_hash, 'system_type' => $system_type));67 self::$response_time = time() - $ob_request_time;68 $json_response = json_decode($json_response, true);69 if(is_array($json_response) && isset($json_response['openbenchmarking']['result']['composite_xml']))70 {71 $composite_xml = $json_response['openbenchmarking']['result']['composite_xml'];72 if(!empty($composite_xml))73 {74 $result_file = new pts_result_file($composite_xml);75 $result_file->set_reference_id($json_response['openbenchmarking']['result']['public_id']);76 return $result_file;77 }78 }79 return null;80 }81 public static function __pre_run_process($test_run_manager)82 {83 if(!$test_run_manager->is_interactive_mode())84 {85 return pts_module::MODULE_UNLOAD;86 }87 }88 public static function __test_run_success_inline_result($result_object)89 {90 // Passed is a copy of the successful pts_test_result after showing other inline metrics91 if($result_object->test_result_buffer->get_count() < 3)92 {93 $auto_comparison_result_file = self::request_compare_from_ob($result_object->get_comparison_hash(), phodevi_base::determine_system_type(phodevi::system_hardware(), phodevi::system_software()));94 if($auto_comparison_result_file instanceof pts_result_file)95 {96 $merge_ch = $auto_comparison_result_file->add_result($result_object);97 $ro = $auto_comparison_result_file->get_result($merge_ch);98 $ro->sort_results_by_performance();99 $ro->test_result_buffer->buffer_values_reverse();100 echo PHP_EOL.pts_client::cli_just_bold(' OpenBenchmarking.org Dynamic Comparison: ');101 echo pts_result_file_output::test_result_to_text($ro, pts_client::terminal_width(), true, $result_object->test_result_buffer->get_identifiers());102 echo PHP_EOL . pts_client::cli_just_bold(' Result Perspective:') . ' https://openbenchmarking.org/result/' . $auto_comparison_result_file->get_reference_id() . PHP_EOL;103 }104 }105 }106}107?>...

Full Screen

Full Screen

sort_results_by_performance

Using AI Code Generation

copy

Full Screen

1$test_result = new pts_test_result();2$test_result->sort_results_by_performance($test_results);3$test_result = new pts_test_result();4$test_result->sort_results_by_performance($test_results);5$test_result = new pts_test_result();6$test_result->sort_results_by_performance($test_results);7$test_result = new pts_test_result();8$test_result->sort_results_by_performance($test_results);9$test_result = new pts_test_result();10$test_result->sort_results_by_performance($test_results);11$test_result = new pts_test_result();12$test_result->sort_results_by_performance($test_results);13$test_result = new pts_test_result();14$test_result->sort_results_by_performance($test_results);15$test_result = new pts_test_result();16$test_result->sort_results_by_performance($test_results);17$test_result = new pts_test_result();18$test_result->sort_results_by_performance($test_results);19$test_result = new pts_test_result();20$test_result->sort_results_by_performance($test_results);21$test_result = new pts_test_result();22$test_result->sort_results_by_performance($

Full Screen

Full Screen

sort_results_by_performance

Using AI Code Generation

copy

Full Screen

1require_once('pts-core.php');2$test_result = new pts_test_result();3$test_result->set_identifier('test');4$test_result->add_result('1', 1);5$test_result->add_result('2', 2);6$test_result->add_result('3', 3);7$test_result->add_result('4', 4);8$test_result->add_result('5', 5);9$test_result->add_result('6', 6);10$test_result->add_result('7', 7);11$test_result->add_result('8', 8);12$test_result->add_result('9', 9);13$test_result->add_result('10', 10);14$test_result->add_result('11', 11);15$test_result->add_result('12', 12);16$test_result->add_result('13', 13);17$test_result->add_result('14', 14);18$test_result->add_result('15', 15);19$test_result->add_result('16', 16);20$test_result->add_result('17', 17);21$test_result->add_result('18', 18);22$test_result->add_result('19', 19);23$test_result->add_result('20', 20);24$test_result->add_result('21', 21);25$test_result->add_result('22', 22);26$test_result->add_result('23', 23);27$test_result->add_result('24', 24);28$test_result->add_result('25', 25);29$test_result->add_result('26', 26);30$test_result->add_result('27', 27);31$test_result->add_result('28', 28);32$test_result->add_result('29', 29);33$test_result->add_result('30', 30);34$test_result->add_result('31', 31);35$test_result->add_result('32', 32);36$test_result->add_result('33', 33);37$test_result->add_result('34', 34);38$test_result->add_result('35', 35);39$test_result->add_result('36', 36);40$test_result->add_result('37', 37);41$test_result->add_result('38', 38);42$test_result->add_result('39', 39);

Full Screen

Full Screen

sort_results_by_performance

Using AI Code Generation

copy

Full Screen

1$test_results = array();2$test_results[] = new pts_test_result('test1', 1, 'PASS', 1, 1, 1, 1);3$test_results[] = new pts_test_result('test2', 1, 'PASS', 1, 1, 1, 1);4$test_results[] = new pts_test_result('test3', 1, 'PASS', 1, 1, 1, 1);5$test_results[] = new pts_test_result('test4', 1, 'PASS', 1, 1, 1, 1);6$test_results[] = new pts_test_result('test5', 1, 'PASS', 1, 1, 1, 1);7$test_results[] = new pts_test_result('test6', 1, 'PASS', 1, 1, 1, 1);8$test_results[] = new pts_test_result('test7', 1, 'PASS', 1, 1, 1, 1);9$test_results[] = new pts_test_result('test8', 1, 'PASS', 1, 1, 1, 1);10$test_results[] = new pts_test_result('test9', 1, 'PASS', 1, 1, 1, 1);11$test_results[] = new pts_test_result('test10', 1, 'PASS', 1, 1, 1, 1);12$test_results[] = new pts_test_result('test11', 1, 'PASS', 1, 1, 1, 1);13$test_results[] = new pts_test_result('test12', 1, 'PASS', 1, 1, 1, 1);14$test_results[] = new pts_test_result('test13', 1, 'PASS', 1, 1, 1, 1);15$test_results[] = new pts_test_result('test14', 1, 'PASS', 1, 1, 1, 1);16$test_results[] = new pts_test_result('test15', 1, 'PASS', 1, 1, 1, 1);17$test_results[] = new pts_test_result('test16', 1, 'PASS', 1, 1

Full Screen

Full Screen

sort_results_by_performance

Using AI Code Generation

copy

Full Screen

1include('pts.php');2include('pts_result_file_analyzer.php');3include('pts_test_result.php');4$test_result = new pts_test_result();5$test_result->set_result_identifier('test');6$test_result->set_result_scale('Seconds');7$test_result->set_result_proportion('LIB');8$test_result->set_result_value(0, 2.5);9$test_result->set_result_value(1, 1.5);10$test_result->set_result_value(2, 1.0);11$test_result->set_result_value(3, 0.5);12$test_result->set_result_value(4, 0.25);13$test_result1 = new pts_test_result();14$test_result1->set_result_identifier('test1');15$test_result1->set_result_scale('Seconds');16$test_result1->set_result_proportion('LIB');17$test_result1->set_result_value(0, 2.0);18$test_result1->set_result_value(1, 1.0);19$test_result1->set_result_value(2, 0.5);20$test_result1->set_result_value(3, 0.25);21$test_result1->set_result_value(4, 0.125);22$test_result2 = new pts_test_result();23$test_result2->set_result_identifier('test2');24$test_result2->set_result_scale('Seconds');25$test_result2->set_result_proportion('LIB');26$test_result2->set_result_value(0, 1.5);27$test_result2->set_result_value(1, 0.75);28$test_result2->set_result_value(2, 0.375);29$test_result2->set_result_value(3, 0.1875);30$test_result2->set_result_value(4, 0.09375);31$test_result3 = new pts_test_result();32$test_result3->set_result_identifier('test3');33$test_result3->set_result_scale('Seconds');34$test_result3->set_result_proportion('LIB');35$test_result3->set_result_value(0, 1.0);36$test_result3->set_result_value(1, 0.5);37$test_result3->set_result_value(2, 0.25);38$test_result3->set_result_value(3, 0.125);

Full Screen

Full Screen

sort_results_by_performance

Using AI Code Generation

copy

Full Screen

1$test_result = new pts_test_result($test_result_xml);2$test_result->sort_results_by_performance();3echo $test_result->test_profile->get_title() . "4";5echo $test_result->get_result_proportion_string() . "6";7echo $test_result->get_result_table();

Full Screen

Full Screen

sort_results_by_performance

Using AI Code Generation

copy

Full Screen

1require_once('pts_test_result.php');2$test_result = new pts_test_result('result_file_name');3$test_result->sort_results_by_performance();4$test_result->display_results();5$test_result->sort_results_by_performance(1);6$test_result->sort_results_by_performance(1);7$test_result->sort_results_by_performance(1);8$test_result->sort_results_by_performance(1);9$test_result->sort_results_by_performance(1);10$test_result->sort_results_by_performance(1);

Full Screen

Full Screen

Automation Testing Tutorials

Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.

LambdaTest Learning Hubs:

YouTube

You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.

Try LambdaTest Now !!

Get 100 minutes of automation test minutes FREE!!

Next-Gen App & Browser Testing Cloud

Was this article helpful?

Helpful

NotHelpful