2. Sascha Hameister
- Lebt in Berlin
- Entwickler, App Aware
- über 10 Jahre Entwicklungserfahrung
- Speaker auf Fachkonferenzen
- Autor bei O‘Reilly und Hanser-Verlag
- Fokus: Mobile, Web
2
2
3. Philipp Grüner
- Lebt in München/Berlin
- Entwickler, App Aware
- über 8 Jahre Entwicklungserfahrung
- Speaker auf Fachkonferenzen
- Fokus: SAP, Web
3
3
4. App Aware
- Softwareagentur für
- Web Development
- Mobile Development
- SAP Business Development
- Gründung im Mai 2008
4
4
5. Agenda
- Was beein usst die Performance-Optimierung?
- Lookups einsparen
- Loop Optimierung
- Event Delegation
- Anonyme Funktionen
- new ...() vs. [], {}, ''
5
5
13. Lookups einsparen (Framework)
Nach der Optimierung
Vor der Optimierung
500,0
375,0
Millisekunden
250,0
125,0
0
1 100 500 1.000
13
Anzahl der Aufrufe
13
15. Loop-Optimierung 1
var anArray = ['Foo', 'Bar', 'Moo', 'Cow'];
for (var i = 0; i < anArray.length; i++) {
var currentElement = anArray[i];
}
var anArray = ['Foo', 'Bar', 'Moo', 'Cow'];
var anArrayLength = anArray.length;
for (var i = 0; i < anArrayLength; i++) {
var currentElement = anArray[i];
}
15
15
16. Loop-Optimierung 1
Optimierung 1 Vor der Optimierung
4000,0
3000,0
Mikrosekunden
2000,0
1000,0
0
1 100 500 1.000
16
Anzahl der Aufrufe
16
17. Loop-Optimierung 2
var anArray = ['Foo', 'Bar', 'Moo', 'Cow'];
var anArrayLength = anArray.length;
for (var i = 0; i < anArrayLength; i++) {
var currentElement = anArray[i];
}
var anArray = ['Foo', 'Bar', 'Moo', 'Cow'];
var anArrayLength = anArray.length;
var currentElement;
for (var i = 0; i < anArrayLength; i++) {
currentElement = anArray[i];
}
17
17
19. Loop-Optimierung 3
var anArray = ['Foo', 'Bar', 'Moo', 'Cow'];
var anArrayLength = anArray.length;
var currentElement;
for (var i = 0; i < anArrayLength; i++) {
currentElement = anArray[i];
}
var anArray = ['Foo', 'Bar', 'Moo', 'Cow'];
var anArrayLength = anArray.length;
var currentElement;
for (var i = 0; i < anArrayLength; ++i) {
currentElement = anArray[i];
}
19
19
20. Post- und Pre-Inkrementierung
// Post-Inkrementierung
var i = 1;
var z = i++; // z = 1, i = 2
// Pre-Inkrementierung
var i = 1;
var z = ++i; // z = 2, i = 2
20
20
21. Loop-Optimierung 3
var anArray = ['Foo', 'Bar', 'Moo', 'Cow'];
var anArrayLength = anArray.length;
var currentElement;
for (var i = 0; i < anArrayLength; i++) {
currentElement = anArray[i];
}
var anArray = ['Foo', 'Bar', 'Moo', 'Cow'];
var anArrayLength = anArray.length;
var currentElement;
for (var i = 0; i < anArrayLength; ++i) {
currentElement = anArray[i];
}
21
21