Autor | Zpráva | ||
---|---|---|---|
Daniel01 Profil |
#1 · Zasláno: 27. 5. 2009, 23:02:03
Slyšel jsem, že zavolání funkce
echo Jak hodně to spomalí? Co třeba něco jako... ..if (..) { echo '</select>'; echo '<br>'; echo '<textarea wrap="soft" class="post_message" name="post_message">'.$post_message.'</textarea>'; echo '<br>'; echo '<input class="save_message" type="submit" value="Send">'; echo '</form>'; echo '</div>'; } nebo je to lepší dělat nějak takhle? ..if (..) { ?> </select> <br> <textarea wrap="soft" class="post_message" name="post_message"><?PHP echo $post_message; ?></textarea> <br> <input class="save_message" type="submit" value="Send"> </form> </div> <?PHP } a nebo si to uložit do proměnné a potom to jednou vypsat? $a = "</select> <br> <textarea wrap="soft" class="post_message" name="post_message"><?PHP echo $post_message; ?></textarea> <br> <input class="save_message" type="submit" value="Send"> </form> </div>"; if (...) { echo $a; } Co je nejrychlejší a co nejpomalejší? :-) |
||
Alphard Profil |
#2 · Zasláno: 27. 5. 2009, 23:14:54
tipl bych si, že třetí varianta bude nejpomalejší, první a druhá asi tak stejně, druhá možná mírně rychlejší
ale tohle nemá smysl řešit, optimalizovat se musí úplně jiné věci, např. dotazy na databázi apod. |
||
Miloš Profil |
#3 · Zasláno: 27. 5. 2009, 23:27:32
Alphard
„optimalizovat se musí úplně jiné věci“ Jasně. Ale když už jsme u těch možností, jak udělat totéž, co třeba takhle: <?php if (..) { ?> </select> <br> <textarea wrap="soft" class="post_message" name="post_message"><?php echo "$post_message";?></textarea> <br> <input class="save_message" type="submit" value="Send"> </form> </div> <?php } else {... } ?> |
||
SwimX Profil |
#4 · Zasláno: 27. 5. 2009, 23:35:43
Miloš
tvoje třetí varianta je v podstatě ob_start(); a ob_end_flush(); a někde jsem četl e je to rychlejší, protože výpis se provede jen jednou. |
||
tiso Profil |
#5 · Zasláno: 27. 5. 2009, 23:46:00
Daniel01 - väčšinou používam tretí spôsob v kombinácii s druhým (dynamický obsah do jednej premennej, následne výpis hlavičiek, layout stránky ako html a echo pre obsah.
Prvý spôsob je zbytočné plytvanie, nepoužívaj ho. |
||
NoName Profil * |
#6 · Zasláno: 28. 5. 2009, 01:50:48
Na vetsi projekty se pouzivaji sablony, kde je HTML kod od PHP uplne oddelen a echo se nikde nevyskytuje :)
|
||
Mastodont Profil |
#7 · Zasláno: 28. 5. 2009, 08:54:24
NoName
Vyskytuje, akorát ho nevidíš. Ty šablony se totiž parsují a kešují v jiném tvaru. Ale echo (nebo print() ) tam někde být musí ... Daniel01 Slyšel jsem, že zavolání funkce echo stojí nějakej ten čas To jsi slyšel blbě, protože echo není funkce, ale jazykový konstrukt. Funkce je print(), ta je pomalejší než echo. |
||
Daniel01 Profil |
#8 · Zasláno: 28. 5. 2009, 13:50:16
Ptal jsem se proto, že tu jeden člověk někde psal, že zavolání té funkce echo (jak Mastodont říká, je to jazykový konstrukt) trvá 1 sekundu... což je ohromně dlouhá doba. Ale to se mi fakt nezdá :-)
|
||
Lukas22 Profil * |
#9 · Zasláno: 28. 5. 2009, 14:06:52
Daniel01
To by mě zajímalo, kdo to psal, protože je to pěkná hovadina. |
||
Nox Profil |
#10 · Zasláno: 28. 5. 2009, 15:59:52 · Upravil/a: Nox
Daniel01
Však si to změř, máš funkci time, tak si ulož čas začátku skriptu a na konci to odečti a zobraz si to Je to samozřejmě nesmysl, co si pamatuji když jsem měl zaplé měření tak skript s řadou volání funkcí, includů, ech, trval průměrně asi 0.0004 vteřiny (jestli jsem nespletl nuly; měřeno na hostingu; po přidání komunikace s db se značně zvedlo, je to celkem znát bohužel) |
||
fuckin Profil * |
#11 · Zasláno: 28. 5. 2009, 20:58:48
10-echo *1sek = 10 sekund ..?!
Uz logicky je to uplna blbost, nechapu jak si tomu mohl verit, ve skutecnosti to ani nebude vic nez jedna desetitisicina sekundy :) |
||
fopen Profil * |
#12 · Zasláno: 29. 5. 2009, 00:25:58
alebo napratat do $premenna vsetky retazce pomocou operatora .= a potom to vyplut jednym echo $premenna;
|
||
tiso Profil |
#13 · Zasláno: 29. 5. 2009, 00:37:48
fopen - to už som písal, ale až teraz som si všimol že ten tretí spôsob je zle.
Daniel01 - správne to malo byť takto: $a = '</select> <br> <textarea wrap="soft" class="post_message" name="post_message">'.$post_message.'</textarea> <br> <input class="save_message" type="submit" value="Send"> </form> </div>'; if (...) { echo $a; } |
||
fuckin Profil * |
#14 · Zasláno: 29. 5. 2009, 07:12:33
vyjde to uplne nastejno, myslite si snad ze prirazeni netrva zadny cas serveru?
|
||
fuckin Profil * |
#15 · Zasláno: 29. 5. 2009, 07:13:38
btw myslim si ze te chyby si vsiml kazdy, ale my jsme to brali jako priklad...
|
||
SwimX Profil |
#16 · Zasláno: 29. 5. 2009, 07:53:55
Kdo tvrdí že echo trvá jednu sekundu? jediné co si vybavuji je toto téma: http://diskuse.jakpsatweb.cz/index.php?action=vthread&topic=94443&forum=8&page=-1#9 kde peta říká: "řekněme 1s", jsem si jist, že to ale nemyslel doslova.
|
||
Časová prodleva: 15 let
|
0