start(); } } function start() { $this->stimer = 0; $this->time = 0; $this->stimer = explode( ' ', microtime() ); $this->stimer = $this->stimer[1] + $this->stimer[0]; } function stop($print = true,$presicion = 7) { $etimer = explode( ' ', microtime() ); $etimer = $etimer[1] + $etimer[0]; $this->time = round($etimer-$this->stimer,$presicion); if($print) { $this->print_time(); } } function print_time() { echo $this->time . " seconds\n"; } } $num_tests = 20; $run_amt = 10000; $verbose = false; $num_array_results = 0; $assoc_array_results = 0; $class_results = 0; for($a = 0;$a < $num_tests;$a++) { if($verbose) { echo "Test $a:
"; the_test(); echo "


"; } else { the_test(); } } echo "Total Time:
"; echo "Numerical Array: $num_array_results
"; echo "Associative Array: $assoc_array_results
"; echo "Class: $class_results


"; $num_array_results /= $num_tests; $assoc_array_results /= $num_tests; $class_results /= $num_tests; echo "Averages:
"; echo "Numerical Array: $num_array_results
"; echo "Associative Array: $assoc_array_results
"; echo "Class: $class_results

"; function the_test() { global $num_array_results, $assoc_array_results, $class_results, $run_amt, $verbose; //NUMERICAL ARRAY $timer = new CMS_Timer(); $arr1 = array(); $arr2 = array(); for($i = 0;$i < $run_amt;$i++) { $index = 'bla' . $i; $arr1[$i] = 'blabla' . $i; } for($i = 0;$i < $run_amt;$i++) { $index = 'bla' . $i; $arr2[$i] = $arr1[$i]; } $timer->stop(false); $num_array_results += $timer->time; if($verbose) { echo "numerical array: "; $timer->print_time(); } //ASSOCIATIVE ARRAY $timer = new CMS_Timer(); $arr1 = array(); $arr2 = array(); for($i = 0;$i < $run_amt;$i++) { $index = 'bla' . $i; $arr1[$index] = 'blabla' . $i; } for($i = 0;$i < $run_amt;$i++) { $index = 'bla' . $i; $arr2[$index] = $arr1[$index]; } $timer->stop(false); $assoc_array_results += $timer->time; if($verbose) { echo "
associative array: "; $timer->print_time(); } //CLASS TEST $timer = new CMS_Timer(); for($i = 0;$i < $run_amt;$i++) { $index = 'bla' . $i; $the_class->$index = 'blabla' . $i; } for($i = 0;$i < $run_amt;$i++) { $index = 'bla' . $i; $the_class2->$index = $the_class->$index; } $timer->stop(false); $class_results += $timer->time; if($verbose) { echo "
class: "; $timer->print_time(); } } ?>