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();
}
}
?>