DevProTalk

DevProTalk (http://www.devprotalk.com/index.php)
-   PHP (http://www.devprotalk.com/forumdisplay.php?f=9)
-   -   Smarty 3 (http://www.devprotalk.com/showthread.php?t=7936)

holodoc 06. 10. 2009. 22:11

Citat:

Originalno napisao robi-bobi (Napišite 73864)
Kôd:

To je isto kao što vidiš danas <span class="hiperbola">mnogo</span> PHP programera ...

Aha, hiperbola je znači nešto kao ovo :D
Kôd:

a:hover {
        visibility:hidden;
}
To je isto kao što vidiš danas <a href="autor">milijardu</a> PHP programera!


mb_sa 06. 10. 2009. 23:43

Citat:

Originalno napisao bluesman (Napišite 73839)
Na kraju sam uradio i malo benchmark, cisto da proverim da li je istina ono sto pricaju o brzinu. Nije to neki naucni benchmark, jednostavno sam po 10-ak puta ponovio sve i dobijao sam skoro uvek priblizno iste vrednosti tako da racunam da je otrpilike tacno:

Smarty 2 (nije kompajliran template):
Total page load: 0.475

Smarty 2 (kompajliran template):
Total page load: 0.319

Smarty 3 (nije kompajliran template):
Total page load: 1.825

Smarty 3 (kompajliran template):
Total page load: 0.122

To znači da je tačno da je smarty 3 kada je kompajliran bar 3 puta brži od kompajliranog smarty 2, ali je zato proces kompajliranja daleko sporiji. Dobio sam jednom i vrednost od 4 sekunde kada template nije bio kompajliran u Smarty 3. Dakle, na LIVE serveru obavezno prekompajlirati template čim se uploaduje neki novi, odnosno izbegavati akcije tipa "clear all compiled" već očistiti samo one koji su izmenjeni (ako je isključen "compile check" kao što i treba da bude na live serveru)

Kao prvo hvala na informacijama koji si podijelo.

Iako si rekao da nije neki "naucni test", da li mozes ukratko opisati o koliko se komplikovanom template-u/ima radi (pa si dobio prosjecno vrijeme od oko 2s) i da li je kakav opcode cache bio uklucen prilikom testiranja.

Hvala i pozdrav.

robi-bobi 07. 10. 2009. 00:47

hiperbola
i prestajem da mucim temu

citam s interesovanjem i hvala za info

bluesman 07. 10. 2009. 03:04

Citat:

Originalno napisao mb_sa (Napišite 73866)
Kao prvo hvala na informacijama koji si podijelo.

Iako si rekao da nije neki "naucni test", da li mozes ukratko opisati o koliko se komplikovanom template-u/ima radi (pa si dobio prosjecno vrijeme od oko 2s) i da li je kakav opcode cache bio uklucen prilikom testiranja.

Hvala i pozdrav.

Radi se o jednostavnim template, malo listanja recorda iz baze, ništa fensi, nema ni keširanja ni bilo čega sličnog.

Dobio sam odgovor da je očekivano i normalno da je parser sada sporiji jer su promenili parser engine (lexer) koji je bolji ali zahtevniji.

bluesman 16. 10. 2009. 02:39

The ternary operator is implemented in smarty 3. It can be used on assignments and output.

Examples:
{$x=($y==2)?$foo:$bar}
{assign var=x value=($y==2)?$foo:$bar}
{($y==2)?$foo:$bar}

If you modifiers you have to put the expression into parentheses to avoid ambiguity of the ':'.
{($y==2)?($foo|truncate):$bar}

Mislim da polako developeri zadiru sve više u Smarty i zahtevaju klasične programerske "shortcuts", nekako nisam baš za ovo (iako je meni lakše).

bluesman 31. 10. 2009. 20:43

Danas je pušten Smarty 3 beta, pogledajte dobro izmene, ima dosta novih stvari a ja nisam primetio problem sa backward compatibility osim problema zbog php 5.3

Ovde možete pronaći više informacija: http://smarty-php.googlecode.com/svn...ibution/README

Dakle, ovo je completan rewrite Smarty 2 koji je sada PHP5 kompatibilan. Sve što sam do sada napisao u ovoj temi i dalje stoji, compile je znatno sporiji ali je execute puno brži.

mb_sa 01. 11. 2009. 00:20

Hmmm... čudno ... evo rezultata mojih testiranja. Po ovom sto sam ja dobio Smarty 2 je brzi.

Nisam sada nakon svakog testa resetovao masinu i slicno, ali mislim da su uslovi za sve bili fer :)

SMARTY 2

nekompajliran template:
1. učitavanje: 13.0 ms
2. učitavanje: 15.0 ms
3. učitavanje: 14.0 ms
4. učitavanje: 8.0 ms
5. učitavanje: 7.7 ms

min: 7.7 ms
max: 15.0 ms

Rezultati mjereni sa Xdebugom. compile_check i force_complie setovani na 'true'.

kompajliran template:
1. učitavanje: 2.9 ms
2. učitavanje: 3.8 ms
3. učitavanje: 3.5 ms
4. učitavanje: 3.0 ms
5. učitavanje: 4.4 ms

min: 2.9 ms
max: 4.4 ms

Rezultati mjereni sa Xdebugom. compile_check i force_complie setovani na 'false'.

AB (kompajliran template)

ab -n 1000 -c 100

1. time taken for test: 47.64 sec
2. time taken for test: 44.37 sec
3. time taken for test: 44.93 sec

Rezultati mjereni sa Apache benchom (AB). compile_check i force_complie setovani na 'false'.

SMARTY 3

nekompajliran template:
1. učitavanje: 38.0 ms
2. učitavanje: 42.0 ms
3. učitavanje: 38.0 ms
4. učitavanje: 37.0 ms
5. učitavanje: 38.0 ms

min: 37.0 ms
max: 42.0 ms

Rezultati mjereni sa Xdebugom. compile_check i force_complie setovani na 'true'.

kompajliran template:
1. učitavanje: 9.1 ms
2. učitavanje: 4.7 ms
3. učitavanje: 4.8 ms
4. učitavanje: 6.1 ms
5. učitavanje: 4.6 ms

min: 4.6 ms
max: 9.1 ms

Rezultati mjereni sa Xdebugom. compile_check i force_complie setovani na 'false'.

AB (kompajliran template)

ab -n 1000 -c 100

1. time taken for test: 61.45 sec
2. time taken for test: 54.20 sec
3. time taken for test: 59.43 sec

Rezultati mjereni sa Apache benchom (AB). compile_check i force_complie setovani na 'false'.

bluesman 01. 11. 2009. 01:43

Ne bih znao da ti kažem, moji rezultati su potvrdili njihovu izjavu da je smaty 3 briži pri izvršavanju. Koji PHP imaš?

mb_sa 01. 11. 2009. 09:30

PHP Version 5.2.3 with eAccelerator v0.9.5.1

Nisam siguran ni ja sta bi mogao biti razlog. Iskreno, volio bih kada bi jos neko dosao i postao rezultate u korist Smarty 3.

bluesman 01. 11. 2009. 14:25

Sad se i ne sećam da li sam probao na PHP 5.3 ili je bio onaj 5.2.11 ... nedavno sam stavio novi PHP ali se ne sećam da li je to bilo pre testiranja ili posle testiranja.

Odlučio sam da ne stavljam Smarty 3 dok se ne reše svi bug-ovi (koji još nisu pronađeni), odnosno čekam da Smarty community "doradi" to da može da se stavi na live server.


Vreme je GMT +2. Trenutno vreme je 04:43.

Powered by vBulletin® Verzija 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright © DevProTalk. All Rights Reserved.

Mišljenja, saveti, izjave, ponude ili druge informacije ili sadržaji nastali na Sajtu su vlasništvo onoga ko ih je kreirao, a ne DevProTalk.com, tako da ne morate da se oslanjate na njih.
Autori poruka su jedini odgovorni za ovakve sadržaje. DevProTalk.com ne garantuje tačnost, kompletnost ili upotrebnu vrednost informacija, stavova, saveta ili datih izjava. Ne postoje uslovi pod kojima bi mi bili odgovorni za štetu ili gubitak koji je posledica bilo čijeg oslanjanja na nepouzdane informacije, ili bilo kakve informacije nastale kroz komunikaciju između registrovanih članova.
Web sajt može sadržavati linkove na druge web sajtove na Internetu ili neke druge sadržaje. Ne kontrolišemo niti podržavamo te druge web sajtove, niti smo pregledali bilo kakve sadržaje na takvim sajtovima. Mi nećemo biti odgovorni za legalnost, tačnost ili prikladnost bilo kog sadržaja, oglasa, proizvoda, usluga ili informacije lociranim na ili distribuiranih kroz druge web sajtove, niti za bilo kakvu štetu nastalu kao posledica takvih informacija. DevProTalk.com drži i čuva druga prava vlasništva na web sajtu. Web sajt sadrže materijale zaštićene copyright-om, zaštitne znakove i druge informacije o pravu vlasništva ili softver. Članovi mogu poslatu informacije zaštićene pravima vlasništva njihovih nosilaca i ona ostaju zaštićena bez obzira da li su oni koji prenose te informacije to naveli ili ne. Osim informacija koje su u javnom vlasništvu ili za koje dobijete dozvolu, nemate pravo da kopirate, modifikujete ili na bilo koji način menjate, objavljujete, prenosite, distribuirate, izvršavate, prikazujete ili prodajte bilo koju informaciju zaštićenu pravima vlasništva. Slanjem informacija ili sadržaja na bilo koji deo DevProTalk.com, Vi automatski dozvoljavate i predstavljate garanciju da imate pravo da dozvolite DevProTalk.com ili članovima DevProTalk.com bespovratnu, kontinualnu, neograničenu, globalnu dozvolu da koriste, kopiraju, izvršavaju, prikazuju i distribuiraju takve informacije i sadržaje i da iz takvih sadžaja koriste bilo koji deo u bilo koje svrhe, kao i pravo i dozvolu da koriste gore navedene sadržaje. Svi zaštitni znakovi (trademarks), logotipi, oznake usluga, firme ili imena proizvoda koji se pominju na ovom web sajtu su vlasništvo kojim raspolažu njihovi vlasnici.