[limb-svn] r6391 - in 3.x/trunk/limb/dbal/tests: . bench
svn at limb-project.com
svn at limb-project.com
Sun Oct 7 10:24:47 MSD 2007
Author: pachanga
Date: 2007-10-07 10:24:47 +0400 (Sun, 07 Oct 2007)
New Revision: 6391
URL: http://fisheye.limb-project.com/changelog/limb/?cs=6391
Added:
3.x/trunk/limb/dbal/tests/bench/
3.x/trunk/limb/dbal/tests/bench/fetching.php
Log:
-- adding sqlite bench tests
Added: 3.x/trunk/limb/dbal/tests/bench/fetching.php
===================================================================
--- 3.x/trunk/limb/dbal/tests/bench/fetching.php (rev 0)
+++ 3.x/trunk/limb/dbal/tests/bench/fetching.php 2007-10-07 06:24:47 UTC (rev 6391)
@@ -0,0 +1,60 @@
+<?php
+
+set_include_path(dirname(__FILE__) . '/../../../../');
+require_once('limb/core/common.inc.php');
+require_once('limb/dbal/common.inc.php');
+
+if($native_db = sqlite_open('/tmp/benchdb'))
+{
+ sqlite_query($native_db, 'CREATE TABLE foo (bar varchar(10))');
+ sqlite_query($native_db, "INSERT INTO foo VALUES ('some value')");
+}
+
+$mark = microtime(true);
+
+for($i=0;$i<1000;$i++)
+{
+ $query = sqlite_query($native_db, 'SELECT bar FROM foo');
+ while($entry = sqlite_fetch_array($query, SQLITE_ASSOC))
+ $bar = $entry['bar'];
+}
+
+echo "native sqlite fetching: " . (microtime(true) - $mark) . "\n";
+
+$conn = lmbDBAL :: newConnection('sqlite://localhost//tmp/benchdb');
+
+$mark = microtime(true);
+
+for($i=0;$i<1000;$i++)
+{
+ $rs = lmbDBAL :: fetch('SELECT bar FROM foo', $conn);
+ foreach($rs as $record)
+ $bar = $record['bar'];
+}
+
+echo "lmbDBAL :: fetch(), array access: " . (microtime(true) - $mark) . "\n";
+
+$mark = microtime(true);
+
+for($i=0;$i<1000;$i++)
+{
+ $rs = lmbDBAL :: fetch('SELECT bar FROM foo', $conn);
+ foreach($rs as $record)
+ $bar = $record->get('bar');
+}
+
+echo "lmbDBAL :: fetch(), getter: " . (microtime(true) - $mark) . "\n";
+
+$mark = microtime(true);
+
+for($i=0;$i<1000;$i++)
+{
+ $stmt = $conn->newStatement('SELECT bar FROM foo');
+ $rs = $stmt->getRecordSet();
+ foreach($rs as $record)
+ $bar = $record->get('bar');
+}
+
+echo "lmbSqliteConnection :: newStatement(), getter: " . (microtime(true) - $mark) . "\n";
+
+unlink('/tmp/benchdb');
More information about the limb-svn
mailing list