28. maj 2008 - 14:52Der er
19 kommentarer og 1 løsning
DEFINE vs. VARS, hvad er forskellen?
Hej
Spørgsmålet går på om der er forskel på memory-load, hvis man bruger DEFINE istedet for Variabler. Er det ene bedre end det andet, set ud fra et perfomance synspunkt?
Brug variabler og lav en test med noget kode som afvikles 1mio gange. Inden du starter tager du en start tid med microtime() og når koden er slut tager du en slut tid.
defines er også globale, så de kan bruges inde i forskellige klasser og funktioner, det kan du ikke med vars (med mindre du i klassen/funktionen erklærer dem global)...
Jeg tror jeg lukker her. Det jeg var ude efter, var om den ene var mere memory-krævende end den anden. Ikke så meget om den ene kørte et par micro-sekunder hurtigere end den anden. De der ønsker point må gerne lægge (ja, med Æ) et svar :o)
olebole -> Ja, det har du vel egentlig ret i. Jeg prøver at fyre en million-test af og ser hvad der sker. Holder den åben en dag eller to endnu, og vender tilbage med resultatet af testen.
Jeg har kørt lidt indledende test's - men tror ikke jeg vil kaste mere tid i det. De test viste ingen nævneværdig forskel.
Jeg takker for jeres input - det er altid rart at få vendt nogle ting med kompetente folk, når man ellers sidder i sin egen lille verden :o)
Jeg deler med glæde ud af de 30 point til dem der måtte ønske det. Hvis ingen har meldt sig på banen, når weekenden er overstået, lukker jeg spørgsmålet.
Man vælger mellem var og const udfra hvad der giver bedst mening.
Hvis der var en forskel i performance ville den være meget lille.
Et par kendte citater:
More computing sins are committed in the name of efficiency (without necessarily achieving it) than for any other single reason - including blind stupidity.
The First Rule of Program Optimization: Don't do it. The Second Rule of Program Optimization (for experts only!): Don't do it yet.
Jeg har iøvrigt aldrig forstået hvorfor define er så lidt brugt blandt PHP programmører.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.