SlideShare uma empresa Scribd logo
1 de 33
Jacob Hansson Optimerad Javascript
 
 
Optimerad Javascript
vs Faktisk hastighet uppfattad hastighet
och nätverkstid körtid
1.  2. 3. 4.  Trimma nätverkstid Trimma körtid Automatisera (10 min) (10 min) (5 min) Mäta hastighet (5 min)
1.  Mäta hastighet
1.  Mäta hastighet Firebug
1.  Mäta hastighet Firebug
1.  Mäta hastighet Speed Tracer
1.  2. 3. 4.  Trimma nätverkstid Trimma körtid Automatisera (10 min) (10 min) (5 min) Mäta hastighet (5 min)
2.  Trimma nätverkstid Minska datamängden Färre requests Hämta i bakgrunden
2.  Trimma nätverkstid function  add (first, second) { var  localVar = 12; return  first + second; }
2.  Trimma nätverkstid function  add (first, second) { var  localVar = 12; return  first + second; } function  add (a,b){ return  a+b;} minification:
2.  Trimma nätverkstid function  add (first, second) { var  localVar = 12; return   eval (first); }
2.  Trimma nätverkstid function  add (first, second) { var  localVar = 12; return   eval (first); } function  add (first,second){ var  lo calVar=12; return   eval (first);} minification:
2.  Trimma nätverkstid function  add (first,second){ var  lo calVar=12; return   eval (first);} function  add (a,b){ return  a+b;}
2.  Trimma nätverkstid Samla AJAX-anrop
2.  Trimma nätverkstid Code-splitting
2.  Trimma nätverkstid load ( “my.code” ,function() { my.code. foo (); });
1.  2. 3. 4.  Trimma nätverkstid Trimma körtid Automatisera (10 min) (10 min) (5 min) Mäta hastighet (5 min)
3.  Trimma körtid UI-tråden Snabbare DOM
3.  Trimma körtid 50 ms
3.  Trimma körtid JS -> DOM
3.  Trimma körtid JS  -> DOM
3.  Trimma körtid var  ul =  $ ( &quot;<ul></ul>&quot; ); $ ( &quot;#mydiv&quot; ). append (ul); while ( count-- ) { ul. append ( &quot;<li></li>&quot; ); }
3.  Trimma körtid var  ul =  $ ( &quot;<ul></ul>&quot; ); while ( count-- ) { ul. append ( &quot;<li></li>&quot; ); } $ ( &quot;#mydiv&quot; ). append (ul);
1.  2. 3. 4.  Trimma nätverkstid Trimma körtid Automatisera (10 min) (10 min) (5 min) Mäta hastighet (5 min)
4.  Automatisera Build-tools
4.  Automatisera QUnit och JSLitmus
4.  Automatisera Testa i alla webbläsare
@jakewins [email_address]

Mais conteúdo relacionado

Mais de .SE (Stiftelsen för Internetinfrastruktur)

Mais de .SE (Stiftelsen för Internetinfrastruktur) (14)

Optimera STHLM 2011 - Mikael Berggren, Spotify
Optimera STHLM 2011 - Mikael Berggren, SpotifyOptimera STHLM 2011 - Mikael Berggren, Spotify
Optimera STHLM 2011 - Mikael Berggren, Spotify
 
Tobbe Eklöv
Tobbe EklövTobbe Eklöv
Tobbe Eklöv
 
Per Blixt
Per BlixtPer Blixt
Per Blixt
 
Kjell Leknes
Kjell LeknesKjell Leknes
Kjell Leknes
 
Claes Tagemark
Claes TagemarkClaes Tagemark
Claes Tagemark
 
Anders Rafting
Anders RaftingAnders Rafting
Anders Rafting
 
Anders Örtengren
Anders ÖrtengrenAnders Örtengren
Anders Örtengren
 
OPTIMERA STHLM! Henrik Nordström
OPTIMERA STHLM! Henrik NordströmOPTIMERA STHLM! Henrik Nordström
OPTIMERA STHLM! Henrik Nordström
 
OPTIMERA STHLM! Isac Lagerblad
OPTIMERA STHLM! Isac LagerbladOPTIMERA STHLM! Isac Lagerblad
OPTIMERA STHLM! Isac Lagerblad
 
OPTIMERA STHLM! Fleecelabs
OPTIMERA STHLM! FleecelabsOPTIMERA STHLM! Fleecelabs
OPTIMERA STHLM! Fleecelabs
 
OPTIMERA STHLM! Daniel Stenberg
OPTIMERA STHLM! Daniel StenbergOPTIMERA STHLM! Daniel Stenberg
OPTIMERA STHLM! Daniel Stenberg
 
OPTIMERA STHLM! Stefan Pettersson
OPTIMERA STHLM! Stefan PetterssonOPTIMERA STHLM! Stefan Pettersson
OPTIMERA STHLM! Stefan Pettersson
 
OPTIMERA STHLM! Loadimpact
OPTIMERA STHLM! LoadimpactOPTIMERA STHLM! Loadimpact
OPTIMERA STHLM! Loadimpact
 
OPTIMERA STHLM! Patrik Wallström
OPTIMERA STHLM! Patrik WallströmOPTIMERA STHLM! Patrik Wallström
OPTIMERA STHLM! Patrik Wallström
 

OPTIMERA STHLM! Jacob Hansson

  • 2.  
  • 3.  
  • 5. vs Faktisk hastighet uppfattad hastighet
  • 7. 1. 2. 3. 4. Trimma nätverkstid Trimma körtid Automatisera (10 min) (10 min) (5 min) Mäta hastighet (5 min)
  • 8. 1. Mäta hastighet
  • 9. 1. Mäta hastighet Firebug
  • 10. 1. Mäta hastighet Firebug
  • 11. 1. Mäta hastighet Speed Tracer
  • 12. 1. 2. 3. 4. Trimma nätverkstid Trimma körtid Automatisera (10 min) (10 min) (5 min) Mäta hastighet (5 min)
  • 13. 2. Trimma nätverkstid Minska datamängden Färre requests Hämta i bakgrunden
  • 14. 2. Trimma nätverkstid function add (first, second) { var localVar = 12; return first + second; }
  • 15. 2. Trimma nätverkstid function add (first, second) { var localVar = 12; return first + second; } function add (a,b){ return a+b;} minification:
  • 16. 2. Trimma nätverkstid function add (first, second) { var localVar = 12; return eval (first); }
  • 17. 2. Trimma nätverkstid function add (first, second) { var localVar = 12; return eval (first); } function add (first,second){ var lo calVar=12; return eval (first);} minification:
  • 18. 2. Trimma nätverkstid function add (first,second){ var lo calVar=12; return eval (first);} function add (a,b){ return a+b;}
  • 19. 2. Trimma nätverkstid Samla AJAX-anrop
  • 20. 2. Trimma nätverkstid Code-splitting
  • 21. 2. Trimma nätverkstid load ( “my.code” ,function() { my.code. foo (); });
  • 22. 1. 2. 3. 4. Trimma nätverkstid Trimma körtid Automatisera (10 min) (10 min) (5 min) Mäta hastighet (5 min)
  • 23. 3. Trimma körtid UI-tråden Snabbare DOM
  • 24. 3. Trimma körtid 50 ms
  • 25. 3. Trimma körtid JS -> DOM
  • 26. 3. Trimma körtid JS -> DOM
  • 27. 3. Trimma körtid var ul = $ ( &quot;<ul></ul>&quot; ); $ ( &quot;#mydiv&quot; ). append (ul); while ( count-- ) { ul. append ( &quot;<li></li>&quot; ); }
  • 28. 3. Trimma körtid var ul = $ ( &quot;<ul></ul>&quot; ); while ( count-- ) { ul. append ( &quot;<li></li>&quot; ); } $ ( &quot;#mydiv&quot; ). append (ul);
  • 29. 1. 2. 3. 4. Trimma nätverkstid Trimma körtid Automatisera (10 min) (10 min) (5 min) Mäta hastighet (5 min)
  • 30. 4. Automatisera Build-tools
  • 31. 4. Automatisera QUnit och JSLitmus
  • 32. 4. Automatisera Testa i alla webbläsare