33
Jacob Hansson Optimerad Javascript

Optimera JS

Embed Size (px)

DESCRIPTION

In Swedish, 30 min talk on optimizing javascript.

Citation preview

Page 1: Optimera JS

Jacob Hansson

Optimerad Javascript

Page 2: Optimera JS
Page 3: Optimera JS
Page 4: Optimera JS

Optimerad Javascript

Page 5: Optimera JS

vsFaktisk hastighet

uppfattad hastighet

Page 6: Optimera JS

ochnätverkstid

körtid

Page 7: Optimera JS

1. 2.3.4.

Trimma nätverkstid

Trimma körtid

Automatisera

(10 min)

(10 min)

(5 min)

Mäta hastighet (5 min)

Page 8: Optimera JS

1. Mäta hastighet

Page 9: Optimera JS

1. Mäta hastighet Firebug

Page 10: Optimera JS

1. Mäta hastighet Firebug

Page 11: Optimera JS

1. Mäta hastighet Speed Tracer

Page 12: Optimera JS

1. 2.3.4.

Trimma nätverkstid

Trimma körtid

Automatisera

(10 min)

(10 min)

(5 min)

Mäta hastighet (5 min)

Page 13: Optimera JS

2. Trimma nätverkstid

Minska datamängden

Färre requests

Hämta i bakgrunden

Page 14: Optimera JS

2. Trimma nätverkstid

function add(first, second) { var localVar = 12; return first + second;}

Page 15: Optimera JS

2. Trimma nätverkstid

function add(first, second) { var localVar = 12; return first + second;}

function add(a,b){return a+b;}

minification:

Page 16: Optimera JS

2. Trimma nätverkstid

function add(first, second) { var localVar = 12; return eval(first);}

Page 17: Optimera JS

2. Trimma nätverkstid

function add(first, second) { var localVar = 12; return eval(first);}

function add(first,second){var localVar=12;return eval(first);}

minification:

Page 18: Optimera JS

2. Trimma nätverkstid

function add(first,second){var localVar=12;return eval(first);}

function add(a,b){return a+b;}

Page 19: Optimera JS

2. Trimma nätverkstid

Samla AJAX-anrop

Page 20: Optimera JS

2. Trimma nätverkstid

Code-splitting

Page 21: Optimera JS

2. Trimma nätverkstid

load(“my.code”,function() { my.code.foo();});

Page 22: Optimera JS

1. 2.3.4.

Trimma nätverkstid

Trimma körtid

Automatisera

(10 min)

(10 min)

(5 min)

Mäta hastighet (5 min)

Page 23: Optimera JS

3. Trimma körtid

UI-tråden

Snabbare DOM

Page 24: Optimera JS

3. Trimma körtid

50 ms

Page 25: Optimera JS

3. Trimma körtid

JS -> DOM

Page 26: Optimera JS

3. Trimma körtid

JS -> DOM

Page 27: Optimera JS

3. Trimma körtid

var ul = $("<ul></ul>");

$("#mydiv").append(ul);

while ( count-- ) {

ul.append("<li></li>");

}

Page 28: Optimera JS

3. Trimma körtid

var ul = $("<ul></ul>");

while ( count-- ) {

ul.append("<li></li>");

}

$("#mydiv").append(ul);

Page 29: Optimera JS

1. 2.3.4.

Trimma nätverkstid

Trimma körtid

Automatisera

(10 min)

(10 min)

(5 min)

Mäta hastighet (5 min)

Page 30: Optimera JS

4. Automatisera

Build-tools

Page 31: Optimera JS

4. Automatisera

QUnit och JSLitmus

Page 32: Optimera JS

4. Automatisera

Testa i alla webbläsare

Page 33: Optimera JS

@jakewins

[email protected]