<?PHP
header
('Content-type: text/plain');
require_once(
'DB.php');
$pearDB DB::connect(DB_CONNECT_STR);
$pearDB->setFetchMode (DB_FETCHMODE_ASSOC);

function 
getmicrotime()
    {
    list(
$usec$sec) = explode(" ",microtime());
    return ((float)
$usec + (float)$sec);
    }

$queryStar "SELECT *
              FROM nemi_dog
              LIMIT 50"
;
$queryAll "SELECT dog_id,
                    dog_show,
                    dog_sex,
                    reg_name,
                    dog_titles,
                    nickname,
                    dog_illustration,
                    dog_gallery,
                    birth_date,
                    mother,
                    father,
                    breeder,
                    owner,
                    weight,
                    height
             FROM nemi_dog
             LIMIT 50"
;
$querySome "SELECT dog_id,
                     dog_sex,
                     reg_name,
                     dog_titles,
                     nickname,
                     dog_illustration,
                     dog_gallery,
                     birth_date,
                     mother,
                     father,
                     breeder,
                     owner
              FROM nemi_dog
              LIMIT 50"
;
echo 
"100 Iterations\n";
timeQueryPear($queryStar'SELECT * '100);
timeQuerymySQL($queryStar'SELECT * '100);
timeQueryPear($queryAll'SELECT all columns '100);
timeQuerymySQL($queryAll'SELECT all columns '100);
timeQueryPear($querySome'SELECT some columns '100);
timeQuerymySQL($querySome'SELECT some columns '100);
echo 
"500 Iterations\n";
timeQueryPear($queryStar'SELECT * '500);
timeQuerymySQL($queryStar'SELECT * '500);
timeQueryPear($queryAll'SELECT all columns '500);
timeQuerymySQL($queryAll'SELECT all columns '500);
timeQueryPear($querySome'SELECT some columns '500);
timeQuerymySQL($querySome'SELECT some columns '500);
echo 
"1000 Iterations\n";
timeQueryPear($queryStar'SELECT * '1000);
timeQuerymySQL($queryStar'SELECT * '1000);
timeQueryPear($queryAll'SELECT all columns '1000);
timeQuerymySQL($queryAll'SELECT all columns '1000);
timeQueryPear($querySome'SELECT some columns '1000);
timeQuerymySQL($querySome'SELECT some columns '1000);

function 
timeQueryPear($query$desc$iter) {
    global 
$pearDB;

    
$time_start getmicrotime();
    for (
$i 0$i $iter; ++$i) {
        
$res $pearDB->getAll($query);
    }
    
$time_end getmicrotime();
    
$time $time_end $time_start;
    echo 
'PEAR::getAll() - '.$desc.': '.number_format($time3)." Seconds\n";
}

function 
timeQuerymySQL($query$desc$iter) {
    
$time_start getmicrotime();
    for (
$i 0$i $iter; ++$i) {
        
$result mysql_query($query);
        while (
$res[] = mysql_fetch_assoc($result));
        unset(
$res);
    }
    
$time_end getmicrotime();
    
$time $time_end $time_start;
    echo 
'mysql_fetch_assoc() - '.$desc.': '.number_format($time3)." Seconds\n";
}



?>