Source for file benchmark.php

Documentation is available at benchmark.php

  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  2.  
  3. <html>
  4. <head>
  5.     <title>ADODB Benchmarks</title>
  6. </head> 
  7.  
  8. <body>
  9. <?php 
  10. /*
  11. V4.81 3 May 2006  (c) 2000-2008 John Lim (jlim#natsoft.com.my). All rights reserved.
  12.   Released under both BSD license and Lesser GPL library license. 
  13.   Whenever there is any discrepancy between the two licenses, 
  14.   the BSD license will take precedence.
  15.   
  16.   Benchmark code to test the speed to the ADODB library with different databases.
  17.   This is a simplistic benchmark to be used as the basis for further testing.
  18.   It should not be used as proof of the superiority of one database over the other.
  19. */ 
  20.  
  21. $testmssql true;
  22. //$testvfp = true;
  23. $testoracle true;
  24. $testado true
  25. $testibase true;
  26. $testaccess true;
  27. $testmysql true;
  28. $testsqlite true;;
  29.  
  30. set_time_limit(240)// increase timeout
  31.  
  32. include("../tohtml.inc.php");
  33. include("../adodb.inc.php");
  34.  
  35. function testdb(&$db,$createtab="create table ADOXYZ (id int, firstname char(24), lastname char(24), created date)")
  36. {
  37. GLOBAL $ADODB_version,$ADODB_FETCH_MODE;
  38.  
  39.     adodb_backtrace();
  40.     
  41.     $max 100;
  42.     $sql 'select * from ADOXYZ';
  43.     $ADODB_FETCH_MODE ADODB_FETCH_NUM;
  44.     
  45.     //print "<h3>ADODB Version: $ADODB_version Host: <i>$db->host</i> &nbsp; Database: <i>$db->database</i></h3>";
  46.     
  47.     // perform query once to cache results so we are only testing throughput 
  48.     $rs $db->Execute($sql);
  49.     if (!$rs){
  50.         print "Error in recordset<p>";
  51.         return;
  52.     }    
  53.     $arr $rs->GetArray();
  54.     //$db->debug = true;
  55.     global $ADODB_COUNTRECS;
  56.     $ADODB_COUNTRECS false;
  57.     $start microtime();
  58.     for ($i=0$i $max$i++{
  59.         $rs $db->Execute($sql);    
  60.         $arr $rs->GetArray();
  61.        //         print $arr[0][1];
  62.     }
  63.     $end =  microtime();
  64.     $start explode(' ',$start);
  65.     $end explode(' ',$end);
  66.     
  67.     //print_r($start);
  68.     //print_r($end);
  69.     
  70.       //  print_r($arr);
  71.     $total $end[0]+trim($end[1]$start[0]-trim($start[1]);
  72.     printf ("<p>seconds = %8.2f for %d iterations each with %d records</p>",$total,$maxsizeof($arr));
  73.     flush();
  74.  
  75.  
  76.         //$db->Close();
  77. }
  78. include("testdatabases.inc.php");
  79.  
  80. ?>
  81.  
  82.  
  83. </body>
  84. </html>

Documentation generated on Sun, 09 Mar 2008 23:50:45 -0300 by phpDocumentor 1.4.0

SourceForge.net Logo Support This Project