All pastes #77475 Raw Edit

Unnamed

public text v1 · immutable
·published 2006-07-03 02:03 UTC
rendered paste body
<?php

include 'includes/bootstrap.inc';
drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL);

echo "Initialize 1 million objects: ";
timer_start('object');
for ($i = 0; $i < 1000000; $i++) {
  $object = new stdClass();
}
$stop = timer_stop('object');
echo $stop['time'] ." ms<br />";


echo "Initialize 1 million arrays: ";
timer_start('array');
for ($i = 0; $i < 1000000; $i++) {
  $array = array();
}
$stop = timer_stop('array');
echo $stop['time'] .'ms <br />';

echo "Fetch object: ";
timer_start('fetch_object');
$result = db_query_temporary("SELECT * FROM {node_revision}");
$i = 0;
while ($object = db_fetch_object($result)) {
  $i++;
}
$stop = timer_stop('fetch_object');
echo $stop['time'] .'ms <br />';

echo "Fetch array: ";
timer_start('fetch_array');
$result = db_query_temporary("SELECT * FROM {node_revision}");
$i = 0;
while ($array = db_fetch_array($result)) {
  $i++;
}
$stop = timer_stop('fetch_array');
echo $stop['time'] .'ms <br />';

echo "Make object with 1,000 properties: ";
timer_start('big_object');
$object = new stdClass();
for ($i = 0; $i < 1000; $i++) {
  $prop = (string)$i;
  $object->$prop = $i;
}
$stop = timer_stop('big_object');
echo $stop['time'] .'ms <br />';

echo "Make array with 1,000 keys: ";
timer_start('big_array');
$array = array();
for ($i = 0; $i < 1000; $i++) {
  $key = (string)$i;
  $array[$key] = $i;
}
$stop = timer_stop('big_array');
echo $stop['time'] .'ms <br />';


echo "Foreach through 1,000 object properties: ";
timer_start('foreach_object');
$i = 0;
foreach ($object as $prop => $value) {
  $object->$prop = $value++;
}
$stop = timer_stop('foreach_object');
echo $stop['time'] .'ms <br />';


echo "Foreach through 1,000 array keys: ";
timer_start('foreach_array');
$i = 0;
foreach ($array as $key => $value) {
  $array[$key] = $value++;
}
$stop = timer_stop('foreach_array');
echo $stop['time'] .'ms <br />';

?>