SlideShare une entreprise Scribd logo
1  sur  22
Mituri javascript Dezvoltareaaplicaţiilor Web  la nivel de client Ianuarie 2010 Mucenica Bogdan - http://mbogdan.com 1 ProfesorCoordonator Dr. Sabin-CorneliuBuraga
Care este cel mai rapid interpretor javascript? ?!? Ianuarie 2010 Mucenica Bogdan - http://mbogdan.com 2
Care estecelmai rapid interpretorjavascriptpentru a face "X"?  Ianuarie 2010 Mucenica Bogdan - http://mbogdan.com 3
Care estecelmai rapid interpretorjavascriptpentru a face "X"? Voi incerca să confirm/combat o serie de mituri prin compararea timpurilor de execuție în browserele moderne. Ianuarie 2010 Mucenica Bogdan - http://mbogdan.com 4
Cum fac un test? Ianuarie 2010 Mucenica Bogdan - http://mbogdan.com 5 Encapsulezblocul de cod intr-o funcție; Salvez data curentă in format UNIX timestamp cu precizia de 1ms; Funcțiao rulez de N ori; Aflu cât a durat execuția de N ori; Repet testul de M ori, salvând deferențele pentru statistică.
Cum fac un test? Ianuarie 2010 Mucenica Bogdan - http://mbogdan.com 6 Ceva de genu’...
Cum fac un test? Ianuarie 2010 Mucenica Bogdan - http://mbogdan.com 7 Exemplu: Este bun exemplul pentru a determina viteza interpretorului javascript?
Cum fac un test? NU!!! Manipularea DOM-ului nu ține de javascript! Browser-ul se ocupă de asta. În cel mai bun caz exemplul testează timpul de apel a unor metode. Ianuarie 2010 Mucenica Bogdan - http://mbogdan.com 8
Ce interpretoare există? TraceMonkey (Firefox 3.5+) V8 (Chrome) Nitro (Safari) JScript (IE8) Altele … sub 5% din piață. Ianuarie 2010 Mucenica Bogdan - http://mbogdan.com 9
Mitul #1To cache or not to cache? Ipoteză: se dăun vector ce se vrea a fi iteratfolosind o buclăfor. Problemă: ajutăsalvarea într-o variabilă lungimii vectorului la momentrulinițializariifor-ului? Ianuarie 2010 Mucenica Bogdan - http://mbogdan.com 10
Mitul #1To cache or not to cache? Ianuarie 2010 Mucenica Bogdan - http://mbogdan.com 11
Mitul #1To cache or not to cache? Rezultatele: Ianuarie 2010 Mucenica Bogdan - http://mbogdan.com 12
Mitul #1To cache or not to cache? Ajutăsalvarea într-o variabilă lungimii vectorului la momentrulinițializariifor-ului? DA Ianuarie 2010 Mucenica Bogdan - http://mbogdan.com 13
Mitul #2To cache or not to cache? Part 2 Ipoteză: se dăun obiect foarte adanc Problemă: ajutăsalvarea referineți unui copil intr-o variabliăatunci când se apeleazăun obiect copil? Ianuarie 2010 Mucenica Bogdan - http://mbogdan.com 14
Mitul #2To cache or not to cache? Part 2 Ianuarie 2010 Mucenica Bogdan - http://mbogdan.com 15
Mitul #2To cache or not to cache? Part 2 Rezultatele: Ianuarie 2010 Mucenica Bogdan - http://mbogdan.com 16
Mitul #2To cache or not to cahe? Part 2 Ajutăsalvarea referineți unui copil într-o variabliăatunci când se apeleazăun obiect copil? DA Ianuarie 2010 Mucenica Bogdan - http://mbogdan.com 17
Mitul #3ProprietatevsCheie Ipoteză: se dăun obiect cu mai mulți membrii. Problemă: un membru este accesat mai rapid ca o propietate sau ca o cheie? Ianuarie 2010 Mucenica Bogdan - http://mbogdan.com 18
Mitul #3ProprietatevsCheie Ianuarie 2010 Mucenica Bogdan - http://mbogdan.com 19
Mitul #3ProprietatevsCheie Rezultatele: Ianuarie 2010 Mucenica Bogdan - http://mbogdan.com 20
Mitul #3ProprietatevsCheie Un membru este accesat mai rapid ca opropietate sau ca o cheie? Ca o propietate… Ianuarie 2010 Mucenica Bogdan - http://mbogdan.com 21
Intrebări? Mucenica Bogdan http://mbogdan.com/blog/ro/mituri-javascript/1/ http://mbogdan.com @mucenica_bogdan Ianuarie 2010 Mucenica Bogdan - http://mbogdan.com 22

Contenu connexe

En vedette (7)

Kalender akademik smp ihbs tp. 2010 2011
Kalender akademik smp ihbs tp. 2010 2011Kalender akademik smp ihbs tp. 2010 2011
Kalender akademik smp ihbs tp. 2010 2011
 
Consenso epoc
Consenso epocConsenso epoc
Consenso epoc
 
Dilemma-of-boybands
 Dilemma-of-boybands Dilemma-of-boybands
Dilemma-of-boybands
 
The Effectiveness Of Suicide Gatekeeper Training
The Effectiveness Of Suicide Gatekeeper TrainingThe Effectiveness Of Suicide Gatekeeper Training
The Effectiveness Of Suicide Gatekeeper Training
 
Growing taller forever
Growing taller foreverGrowing taller forever
Growing taller forever
 
Recursos Administrativos y LOPA
Recursos Administrativos y LOPARecursos Administrativos y LOPA
Recursos Administrativos y LOPA
 
Kuiz p.islam
Kuiz p.islamKuiz p.islam
Kuiz p.islam
 

Mituri javascript

  • 1. Mituri javascript Dezvoltareaaplicaţiilor Web la nivel de client Ianuarie 2010 Mucenica Bogdan - http://mbogdan.com 1 ProfesorCoordonator Dr. Sabin-CorneliuBuraga
  • 2. Care este cel mai rapid interpretor javascript? ?!? Ianuarie 2010 Mucenica Bogdan - http://mbogdan.com 2
  • 3. Care estecelmai rapid interpretorjavascriptpentru a face "X"?  Ianuarie 2010 Mucenica Bogdan - http://mbogdan.com 3
  • 4. Care estecelmai rapid interpretorjavascriptpentru a face "X"? Voi incerca să confirm/combat o serie de mituri prin compararea timpurilor de execuție în browserele moderne. Ianuarie 2010 Mucenica Bogdan - http://mbogdan.com 4
  • 5. Cum fac un test? Ianuarie 2010 Mucenica Bogdan - http://mbogdan.com 5 Encapsulezblocul de cod intr-o funcție; Salvez data curentă in format UNIX timestamp cu precizia de 1ms; Funcțiao rulez de N ori; Aflu cât a durat execuția de N ori; Repet testul de M ori, salvând deferențele pentru statistică.
  • 6. Cum fac un test? Ianuarie 2010 Mucenica Bogdan - http://mbogdan.com 6 Ceva de genu’...
  • 7. Cum fac un test? Ianuarie 2010 Mucenica Bogdan - http://mbogdan.com 7 Exemplu: Este bun exemplul pentru a determina viteza interpretorului javascript?
  • 8. Cum fac un test? NU!!! Manipularea DOM-ului nu ține de javascript! Browser-ul se ocupă de asta. În cel mai bun caz exemplul testează timpul de apel a unor metode. Ianuarie 2010 Mucenica Bogdan - http://mbogdan.com 8
  • 9. Ce interpretoare există? TraceMonkey (Firefox 3.5+) V8 (Chrome) Nitro (Safari) JScript (IE8) Altele … sub 5% din piață. Ianuarie 2010 Mucenica Bogdan - http://mbogdan.com 9
  • 10. Mitul #1To cache or not to cache? Ipoteză: se dăun vector ce se vrea a fi iteratfolosind o buclăfor. Problemă: ajutăsalvarea într-o variabilă lungimii vectorului la momentrulinițializariifor-ului? Ianuarie 2010 Mucenica Bogdan - http://mbogdan.com 10
  • 11. Mitul #1To cache or not to cache? Ianuarie 2010 Mucenica Bogdan - http://mbogdan.com 11
  • 12. Mitul #1To cache or not to cache? Rezultatele: Ianuarie 2010 Mucenica Bogdan - http://mbogdan.com 12
  • 13. Mitul #1To cache or not to cache? Ajutăsalvarea într-o variabilă lungimii vectorului la momentrulinițializariifor-ului? DA Ianuarie 2010 Mucenica Bogdan - http://mbogdan.com 13
  • 14. Mitul #2To cache or not to cache? Part 2 Ipoteză: se dăun obiect foarte adanc Problemă: ajutăsalvarea referineți unui copil intr-o variabliăatunci când se apeleazăun obiect copil? Ianuarie 2010 Mucenica Bogdan - http://mbogdan.com 14
  • 15. Mitul #2To cache or not to cache? Part 2 Ianuarie 2010 Mucenica Bogdan - http://mbogdan.com 15
  • 16. Mitul #2To cache or not to cache? Part 2 Rezultatele: Ianuarie 2010 Mucenica Bogdan - http://mbogdan.com 16
  • 17. Mitul #2To cache or not to cahe? Part 2 Ajutăsalvarea referineți unui copil într-o variabliăatunci când se apeleazăun obiect copil? DA Ianuarie 2010 Mucenica Bogdan - http://mbogdan.com 17
  • 18. Mitul #3ProprietatevsCheie Ipoteză: se dăun obiect cu mai mulți membrii. Problemă: un membru este accesat mai rapid ca o propietate sau ca o cheie? Ianuarie 2010 Mucenica Bogdan - http://mbogdan.com 18
  • 19. Mitul #3ProprietatevsCheie Ianuarie 2010 Mucenica Bogdan - http://mbogdan.com 19
  • 20. Mitul #3ProprietatevsCheie Rezultatele: Ianuarie 2010 Mucenica Bogdan - http://mbogdan.com 20
  • 21. Mitul #3ProprietatevsCheie Un membru este accesat mai rapid ca opropietate sau ca o cheie? Ca o propietate… Ianuarie 2010 Mucenica Bogdan - http://mbogdan.com 21
  • 22. Intrebări? Mucenica Bogdan http://mbogdan.com/blog/ro/mituri-javascript/1/ http://mbogdan.com @mucenica_bogdan Ianuarie 2010 Mucenica Bogdan - http://mbogdan.com 22