The_HulkMedlem sedan juni 20031 837 inlägg Någon som vet något bra program för att göra någon profiling av PHPskript?
Hittade ett program som heter PHPed men det visar bara 20 rader i profiling när man bara har testversion. kostar lite för mycket att skaffa som privatperson.
Måste väl finnas något gratisprogram, det finns det ju alltid :-)
Vill gärna veta var det spenderas mest minne samt tid i skripten.
The_HulkMedlem sedan juni 20031 837 inlägg ingen som har brytt sig om detta?
Kent.JMedlem sedan aug. 2001153 inlägg http://dd.cron.ru/dbg kanske?
Gissar mest :)
sabbacusMedlem sedan juli 2002630 inlägg Rent generellt skulle jag säga att man inte behöver bry sig om att optimera sin phpkod om man
- vet vad man håller på med, och
- använder databas till sina skript.
Varför? Jo, om man vet vad man håller på med gör man inga bisarra kodsnyttar som kan stå och snurra i 20 sekunder för att man har 40 nästlade whileloopar när man lika gärna kan anropa en inbyggd funktion i php som gör samma sak. Som exempel kan jag nämna att jag i början av min tid som phpkodare ägnade en halv dag till att konvertera några rader C-kod för att beräkna huruvida det var skottår eller ej för ett visst år, något som jag sedan fick reda på (av en skrattande php-kodande kompis för övrigt) lika gärna kunde göras med date().
Leker man med databaser går den största tiden av ett skripts livslängd åt till att läsa och skriva till databasen. Krutet ska då istället spenderas på att optimera databasstrukturen.
Bara mina två ören i debatten.
The_HulkMedlem sedan juni 20031 837 inlägg Ville kolla lite var mitt program slukade minne, tyckte att jag återanvände variabler.
var så att jag ville hämta ut ca 300 000 poster från databasen och sedan konvertera de i php till en ny tabell. var en del text-parsing som fick göras med regulära uttryck.
problemet var att skriptet åt upp 4-500mb minne.
då tänkte jag att om jag hämtar ut 1-10 000 poster åt gången så skulle det inte ta upp så mycket minne. men den slukade ändå lika mycket.
var därför jag ville kolla var i mitt program minnet gick åt.
märkte då även att objekt som skickas till en funktion kopieras till den och därmed går det åt mer minne.
Försökte även använda unset metoden för att verkligen frigöra minnet men det hjälpte inte heller.
Kent.JMedlem sedan aug. 2001153 inlägg Är det inte call by value på allt? dvs variabler kopieras...
Går väl att gå runt med att skicka en pekare till variablen ist för att kopiera den till funktionen. Borde väl spara lite minne iaf.
The_HulkMedlem sedan juni 20031 837 inlägg Verkar vara så, har inte kollat upp det tidigare, av någon dum anledning hade jag bara förutsett att man skickade vidare variablen/objektet som en referens. Ett misstag jag inte ska göra om igen när jag behandlar stora data igen. :-(
pimmeMedlem sedan sep. 20011 086 inlägg Med
function f(&$var)
så skickas det som referens. (tror dock att i PHP5 så skickas alla objekt som referens).