Visa ett inlägg
Oläst 2005-06-22, 14:55 #7
lord mazdak lord mazdak är inte uppkopplad
Nykomling
 
Reg.datum: Jun 2005
Inlägg: 12
lord mazdak lord mazdak är inte uppkopplad
Nykomling
 
Reg.datum: Jun 2005
Inlägg: 12
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
lord mazdak är inte uppkopplad   Svara med citatSvara med citat