Gjorde lite benchmarks med dessa script
1.
Kod:
<?php
$mtime = microtime();
$mtime = explode(" ",$mtime);
$mtime = $mtime[1] + $mtime[0];
$starttime = $mtime;
class DB
{
var $host;
var $user;
var $password;
var $database;
function DB($host,$user,$password,$database) // PHP4 class constructor
{
$this->host = $host;
$this->user = $user;
$this->password = $password;
$this->database = $database;
}
function __construct($host,$user,$password,$database) // PHP5 class constructor
{
$this->host = $host;
$this->user = $user;
$this->password = $password;
$this->database = $database;
}
}
for($i = 0; $i < 100000; $i++)
{
$instance = new DB('host','user','password','database');
}
$mtime = microtime();
$mtime = explode(" ",$mtime);
$mtime = $mtime[1] + $mtime[0];
$endtime = $mtime;
$totaltime = ($endtime - $starttime);
echo "execution time = $totaltime seconds<br/>instances maid = $i<br/>average execution time/instance = ".$totaltime / $i;
?>
2.
Kod:
<?php
$mtime = microtime();
$mtime = explode(" ",$mtime);
$mtime = $mtime[1] + $mtime[0];
$starttime = $mtime;
class DB
{
var $host;
var $user;
var $password;
var $database;
function DB($host,$user,$password,$database) // PHP4 class constructor
{
$this->host = $host;
$this->user = $user;
$this->password = $password;
$this->database = $database;
}
function __construct($host,$user,$password,$database) // PHP5 class constructor
{
$this->DB($host,$user,$password,$database);
}
}
for($i = 0; $i < 100000; $i++)
{
$instance = new DB('host','user','password','database');
}
$mtime = microtime();
$mtime = explode(" ",$mtime);
$mtime = $mtime[1] + $mtime[0];
$endtime = $mtime;
$totaltime = ($endtime - $starttime);
echo "execution time = $totaltime seconds<br/>instances maid = $i<br/>average execution time/instance = ".$totaltime / $i;
?>
1:an gav dessa resultat ( det sista fixade jag )
Kod:
execution time = 2,03122901917 seconds
instances maid = 100000
average execution time/instance = 0,0000203122901917
execution time = 2,01193809509 seconds
instances maid = 100000
average execution time/instance = 0,0000201193809509
execution time = 1,98479390144 seconds
instances maid = 100000
average execution time/instance = 0,0000198479390144
execution time = 1,99218416214 seconds
instances maid = 100000
average execution time/instance = 0,0000199218416214
execution time = 2,01383900642 seconds
instances maid = 100000
average execution time/instance = 0,0000201383900642
execution time = 2,13474011421 seconds
instances maid = 100000
average execution time/instance = 0,0000213474011421
execution time = 1,98517394066 seconds
instances maid = 100000
average execution time/instance = 0,0000198517394066
execution time = 2,01875305176 seconds
instances maid = 100000
average execution time/instance = 0,0000201875305176
execution time = 2,08163309097 seconds
instances maid = 100000
average execution time/instance = 0,0000208163309097
execution time = 2,01121997833 seconds
instances maid = 100000
average execution time/instance = 0,0000201121997833
Total (10 executions):
execution time = 20,26550436019
instances maid = 1000000
average execution time/instance = 0,00002026550436019
och 2:an gav dessa resultat
Kod:
execution time = 2,88538885117 seconds
instances maid = 100000
average execution time/instance = 0,0000288538885117
execution time = 2,87395501137 seconds
instances maid = 100000
average execution time/instance = 0,0000287395501137
execution time = 3,01868104935 seconds
instances maid = 100000
average execution time/instance = 0,0000301868104935
execution time = 3,03595113754 seconds
instances maid = 100000
average execution time/instance = 0,0000303595113754
execution time = 3,09631586075 seconds
instances maid = 100000
average execution time/instance = 0,0000309631586075
execution time = 3,01692414284 seconds
instances maid = 100000
average execution time/instance = 0,0000301692414284
execution time = 2,92553091049 seconds
instances maid = 100000
average execution time/instance = 0,0000292553091049
execution time = 3,00412797928 seconds
instances maid = 100000
average execution time/instance = 0,0000300412797928
execution time = 3,09196591377 seconds
instances maid = 100000
average execution time/instance = 0,0000309196591377
execution time = 3,02725505829 seconds
instances maid = 100000
average execution time/instance = 0,0000302725505829
Total (10 executions):
execution time = 29,97609591485
instances maid = 1000000
average execution time/instance = 0,00002997609591485
Slutsats :
Det går snabbare att ge egenskaperna ett värde igen än att kalla på PHP 4 konstruktorn