<?
include("DB.php");
include("adodb/adodb.inc.php");
include("Benchmark/Profiler.php");
$dbtype='mysql';
$dbuser='root';
$dbpass='';
$dbhost='localhost';
$dbname='scripts';
// количество повторов
$steps = 1000;
// запрос
$sql = 'SELECT * FROM cms_cats';
$profiler = new Benchmark_Profiler();
$profiler->start();
// mysql code
$profiler->enterSection('mysql');
for ($i = 0; $i < $steps; $i++) {
$base = mysql_connect($dbhost, $dbuser, $dbpass);
mysql_select_db($dbname, $base);
$res = mysql_query($sql);
while ($row = mysql_fetch_assoc($res)) { /* do nothing */}
mysql_free_result($res);
mysql_close($base);
}
$profiler->leaveSection('mysql');
// pear-db code
$profiler->enterSection('pear-db');
for ($i = 0; $i < $steps; $i++) {
$db = &DB::connect($dbtype.'://'.$dbuser.':'.$dbpass.'@'.$dbhost.'/'.$dbname);
$res = $db->query($sql);
while ($row = $res->fetchRow(DB_FETCHMODE_ASSOC)) { /* do nothing */}
$res->free();
$db->disconnect();
}
$profiler->leaveSection('pear-db');
// adodb code
$profiler->enterSection('adodb');
for ($i = 0; $i < $steps; $i++) {
$conn = &ADONewConnection($dbtype);
$conn->Connect($dbhost, $dbuser, $dbpass, $dbname);
$ADODB_FETCH_MODE = ADODB_FETCH_ASSOC;
$res = $conn->Execute($sql);
while (!$res->EOF) { $res->MoveNext();}
$res->Close();
$conn->Close();
}
$profiler->leaveSection('adodb');
$profiler->stop();
$profiler->display();
?>