-
Notifications
You must be signed in to change notification settings - Fork 0
Speed
-
angular is by far the biggest bottleneck, remove and replace with... handlebars?
-
polymer is a bit too slow, and too alpha right now(page blink), maybe vulcan can get us what we want
-
remove jquery from shared, and try to remove it from main
-
make the site appear to load faster by showing a small ui first, then frame work, then data templating
-
research compiled handlebartempates
-
reseach fastest templating engine
-
test the speed of the content script as binding/bootstrapping other services may have an effect
-
research handlerbars, mostache, dust even parrot for start up time
*how are we going to keep the shadow root when we are rendering from a template
*work on automated testing/jsperf. chrome extension api that allows pages to talk to extension. yeoman, https://github.com/broofa/jslitmus
| X | jquery-2.0.3.js (All) | angular | polymer |
|---|---|---|---|
| slashdot | 397 | 5006 | |
| basic | 426 | 326 | |
| iFrame | 308 | 220 | |
| Notes: injection seems to be queued, (at least for js) |
Angular shows a hugh increase on bigger sites Bootstrapping in content.js also causes large load polymer causes screen ficker
| X | basic | iframe | slashdot | gmail |
|---|---|---|---|---|
| css | 2 | 2 | 4 | 3 |
| Jquery (allFrames) | 56 | 221 | 412 | 532 |
| shared (allFrames) | 16 | 53 | 199 | 145 |
| angular | 270 | 445 | 5126 | 64896 |
| poly | 261 | 425 | 913 | X |
| dust | 14 | X | 14 | 14 |
| handle | 14 | X | 50 | 50 |
| bas | ||||
| InjectCss: 13.000ms eventPage.js:20 | ||||
| InjectJ: 138.000ms eventPage.js:24 | ||||
| InjectShared: 18.000ms eventPage.js:27 | ||||
| InjectPoly: 373.000ms eventPage.js:30 | ||||
| InjectAnj: 396.000ms eventPage.js:33 | ||||
| InjectCS: 59.000ms eventPage.js:37 | ||||
| InjectAll: 1175.000ms |
bs InjectCss: 2.000ms eventPage.js:20 InjectJ: 56.000ms eventPage.js:24 InjectShared: 16.000ms eventPage.js:27 InjectPoly: 261.000ms eventPage.js:30 InjectAnj: 270.000ms eventPage.js:33 InjectCS: 29.000ms eventPage.js:37 InjectAll: 765.000ms
iframe InjectCss: 2.000ms eventPage.js:20 InjectJ: 221.000ms eventPage.js:24 InjectShared: 53.000ms eventPage.js:27 InjectPoly: 421.000ms eventPage.js:30 InjectAnj: 474.000ms eventPage.js:33 InjectCS: 40.000ms eventPage.js:37 InjectAll: 1409.000ms
iframe InjectCss: 2.000ms eventPage.js:20 InjectJ: 207.000ms eventPage.js:24 InjectShared: 37.000ms eventPage.js:27 InjectPoly: 425.000ms eventPage.js:30 InjectAnj: 445.000ms eventPage.js:33 InjectCS: 64.000ms eventPage.js:37 InjectAll: 1418.000ms
sl InjectCss: 4.000ms eventPage.js:20 InjectJ: 412.000ms eventPage.js:24 InjectShared: 100.000ms eventPage.js:27 InjectPoly: 913.000ms eventPage.js:30 InjectAnj: 5126.000ms eventPage.js:33 InjectCS: 171.000ms eventPage.js:37 InjectAll: 6915.000ms
sl InjectCss: 4.000ms eventPage.js:20 InjectJ: 433.000ms eventPage.js:24 InjectShared: 89.000ms eventPage.js:27 InjectPoly: 953.000ms eventPage.js:30 InjectAnj: 5119.000ms eventPage.js:33 InjectCS: 185.000ms eventPage.js:37 InjectAll: 6889.000ms