Visa ett inlägg
Oläst 2005-06-22, 17:01 #8
eg0master eg0master är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Oct 2004
Inlägg: 898
eg0master eg0master är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Oct 2004
Inlägg: 898
Citat:
Originally posted by lord mazdak@Jun 22 2005, 14:55
[...]
1:an gav dessa resultat ( det sista fixade jag )
Kod:
[...]
execution time = 1,98517394066 seconds
instances maid = 100000
average execution time/instance = 0,0000198517394066
[...]
och 2:an gav dessa resultat
Kod:
[...]
execution time = 3,09631586075 seconds
instances maid = 100000
average execution time/instance = 0,0000309631586075
[...]
Slutsats :
Det går snabbare att ge egenskaperna ett värde igen än att kalla på PHP 4 konstruktorn
Ordpolisen: Jag tror du menar made och inte maid, fast egentligen menar du nog created... :P

Det du kallar slutsats är egentligen bara ett konstaterande/bevis för att något vi redan visste är sant.

Diskussion:
Jag valde snabbaste tiden för den snabba lösningen och den långsamaste för den långsamma. Detta ger en skillnad på 1,111 sekunder lite drygt. Detta då 100K instanser skapas. Detta ger en overhead på drygt 11 ms per instansiering.
Samtidigt är ju lösningen där php5 konstruktorn anropar php4 konstruktorn lättare att underhålla eftersom förändringar bara behöver göras på ett ställe istf två.

Slutsats:
Man måste titta på hur mycket man tjänar i exekveringstid kontra eventuella problem med att underhålla två identiska funktioner.

Personlig kommentar:
Jag tvivlar på att du skapar 100K instanser per sida... och även om du gjorde det så hur stor del av hela sidans exekveringstid är då 1s?
Du skall inte optimera saker som inte behöver optimeras. 11ms/anrop känns inte värt besväret med tanke på det du förlorar i underhållbarhet av koden. Möjligen är det värt det om du kansk spara flera sekunder per sida, men allvarligt talat - om du skapar ett par, tre hundra objekt per sida så känns det som något annat är fel i din design...
eg0master är inte uppkopplad   Svara med citatSvara med citat