Tobias Bosch
6f303121c6
refactor(perf): introduce benchpress2
...
Major changes:
- make API more reusable
- format output nicely
- only force gc if needed
Regarding forcing gc:
Forcing gc can change script execution time.
We now don't force gc at first and ignore results where gc happens during script execution.
When we ignored too many results, we switch to forcing gc.
Closes #339
2015-01-05 17:49:50 -08:00
vsavkin
53906e484a
fix(compiler): fix a dart analyzer warning
2014-12-30 13:25:18 -08:00
vsavkin
0a4d6170ba
fix(gulpfile): fix the dartanalyzer task
2014-12-30 10:32:06 -08:00
Tobias Bosch
3a80c4197d
refactor(perf): move navigation into test files and rename `runSimpleBenchmark`
2014-12-29 16:58:31 -08:00
Tobias Bosch
35ac3f3d97
feat(perf): measure error and stop automatically when the numbers are good enough.
2014-12-29 16:58:31 -08:00
vsavkin
e5dbc69f42
cleanup(di): change di.js to declare all exported symbols
2014-12-29 15:20:50 -08:00
vsavkin
739f624cc8
refactor(change_detection): add change_detection library file
2014-12-29 15:20:42 -08:00
vsavkin
f06433fb58
feat(test_lib): implement SpyObject
2014-12-29 13:27:17 -08:00
vsavkin
965f70bfbe
feat(transpiler): implement @IMPLEMENTS
2014-12-29 12:29:00 -08:00
vsavkin
a37950293a
cleanup(core): fix dart analyzer warnings
2014-12-29 12:12:11 -08:00
vsavkin
da9d041f90
feat(view): add support for components that use shadow dom emulation
2014-12-29 11:42:34 -08:00
Tobias Bosch
df4ac0dd33
refactor(perf): use webdriver to execute benchmarks
...
- use performance log of chromedriver / appium to get timeline data
for calculating metrics for benchmarks
- change all benchmarks to be made of a standalone application
and a protractor test that collectes timeline data
- fix and simplify benchmarks
- add dart2js to build
- remove benchpress
Closes #330
2014-12-23 22:22:55 -08:00
vsavkin
d642c6afb5
feat(change_detector): wrap exceptions into ChangeDetectionError
...
ChangeDetectionError references the original error and the location where the error happened
2014-12-18 13:38:33 -08:00
vsavkin
3d534928b5
refactor(parser): align expression language with host language
...
Remove "enhancements" to the language from the parser, so the expression language mimics the host language.
2014-12-18 10:57:34 -08:00
Victor Berchet
90daca02cf
fix(examples.dart): initialize the reflector
...
fixes #309
2014-12-18 11:11:18 +01:00
Victor Berchet
75549a660c
fix(examples.dart): add LifeCycle to the reflector
2014-12-18 11:11:18 +01:00
Victor Berchet
86fb564818
fix(ChangeDispatcher): update the onRecordChange signature
2014-12-18 10:28:17 +01:00
vsavkin
dbd85615b0
style(core): add missing type annotation
2014-12-17 15:58:20 -08:00
vsavkin
1d03c2af5d
feat(change_detector): add a way to inspect records and record ranges
2014-12-17 15:43:36 -08:00
vsavkin
df21c3c77d
feat(zone): add support for long stack traces
2014-12-17 14:56:54 -08:00
vsavkin
d5fcac4d7a
feat(compiler): pass compilation unit to the parser
2014-12-12 18:52:53 -08:00
vsavkin
d985045983
fix(build): disable the analysis of third-party libs
2014-12-12 16:24:53 -08:00
vsavkin
de855a79b9
fix(build): run dartanalyzer after transpiler and html to avoid races
2014-12-12 16:24:36 -08:00
vsavkin
cf8a5d2a0d
cleanup(zones): cleanup
2014-12-12 15:24:30 -08:00
vsavkin
9891312495
chore(gulpfile): add zone.js to the list of deps
2014-12-12 15:24:30 -08:00
vsavkin
2184150905
feat(bootstrap): use VmTurnZone and LifeCycle to bootstrap an application
2014-12-12 15:24:30 -08:00
vsavkin
0b550f9695
feat(LifeCycle): change LifeCycle to be able register it with a zone
2014-12-12 15:24:30 -08:00
vsavkin
df36ffb11d
feat(zone): add initial implementation of VmTurnZone
2014-12-12 15:24:30 -08:00
Miško Hevery
4a08bbf7f1
chore: update README to make Dart optional
2014-12-12 11:57:02 -08:00
Misko Hevery
c25e9e7c5f
fix: properly close the <tree> tag in benchmark
2014-12-11 14:23:02 -08:00
Misko Hevery
56b7ba4bce
perf: improve baseline speed by 30%
...
Use node.firstChild and node.nextSibling instead
of node.children or node.childNodes in the baseline
benchmark.
2014-12-11 14:05:58 -08:00
Misko Hevery
017f6ced4d
chore: chrome louncher WTF flags
2014-12-11 14:04:59 -08:00
Rado Kirov
60456c8b89
feat(ng-repeat): initial implementaion of ng-repeat.
...
- adds support for content bindings via '[]'.
- directives module
2014-12-11 11:23:02 -08:00
Victor Berchet
59d6d604b4
fix(analyzer): fix a warning about an unused variable
2014-12-11 00:31:31 +01:00
Tobias Bosch
3ec3d5e084
perf(view): inline and refactor view instantiation and hydration
...
- Don’t convert DOM array into JS array via `Array.slice`
- Inline static methods for instantiation and hydration
- Misc cleanup
Closes #291
2014-12-09 16:16:45 -08:00
vsavkin
8acf9fb609
feat(change_detection): ensure that expression do not change after they have been checked
2014-12-08 18:51:19 -08:00
Tobias Bosch
d02e192951
fix(scripts): make chrome launcher executable
2014-12-08 15:54:04 -08:00
Tobias Bosch
e7de5f8f37
feat(benchmarks): tree benchmark baseline
2014-12-08 15:54:04 -08:00
Victor Berchet
68da0012cc
perf(Change Detection): remove the usage of getters/setters
...
- Firefox is 2.4x faster (90 vs 221ms)
- Chrome is 24% slower (15.5 vs 12.5ms)
Chrome is still 5.8x faster than Firefox
2014-12-08 21:59:59 +01:00
Victor Berchet
2c4a2f5158
perf(Change Detection): Track the range & group on changes only
...
1.4x speed improvement with Firefox
There is no need to track the range & group for all the records but only
for the records that have changed.
2014-12-08 21:59:59 +01:00
Victor Berchet
ee36063fae
style: misc minor changes
2014-12-08 21:59:59 +01:00
Victor Berchet
c362f33fe4
style(Change Detection): rename WatchGroupDispatcher to ChangeDispatcher
2014-12-08 21:59:59 +01:00
Tobias Bosch
01fa90c11d
feat(benchmarks): initial version of tree benchmark
...
Closes #269
2014-12-08 12:05:00 -08:00
Tobias Bosch
9b7e2e3029
fix(benchmarks_external): use angular dart transformer
2014-12-08 12:00:48 -08:00
Tobias Bosch
5793311421
fix(benchmarks): use explicit `main()` function and do not reexport
...
Otherwise `pub` would not pick it up e.g. for `dart2js`.
2014-12-08 12:00:48 -08:00
Tobias Bosch
1cd848df55
fix(build): analyze examples and benchmarks again
2014-12-08 12:00:48 -08:00
Tobias Bosch
72b970e4e2
fix(core): export ViewPort in the public exports
2014-12-08 12:00:47 -08:00
Tobias Bosch
9329c0e8bc
fix(application): also bind the root component to the injector
2014-12-08 12:00:47 -08:00
Tobias Bosch
9c2d411450
feat(compiler): allow recursive components
2014-12-08 12:00:43 -08:00
Tobias Bosch
bc6f0dba46
fix(build): `gulp build.js.prod` should call `benchpress.js.prod`
2014-12-08 11:44:44 -08:00