angular-cn/modules/benchmarks
Miško Hevery 2c09b707ce refactor(ivy): make return value of define(Component|Directive|Pipe|Injector|Injectable) private (#23371)
Ivy definition looks something like this:

```
class MyService {
  static ngInjectableDef = defineInjectable({
    …
  });
}
```

Here the argument to `defineInjectable` is well known public contract which needs
to be honored in backward compatible way between versions. The type of the
return value of `defineInjectable` on the other hand is private and can change
shape drastically between versions without effecting backwards compatibility of
libraries publish to NPM. To our users it is effectively an `OpaqueToken`.

By prefixing the type with `ɵ` we are communicating the the outside world that
the value is not public API and is subject to change without backward compatibility.

PR Close #23371
2018-04-13 16:20:25 -07:00
..
e2e_test perf(ivy): add a proper creationOnly scenario to the tree benchmark (#21503) 2018-01-19 15:24:06 -08:00
src refactor(ivy): make return value of define(Component|Directive|Pipe|Injector|Injectable) private (#23371) 2018-04-13 16:20:25 -07:00
README.md refactor(benchmarks): add `index_aot` to support AoT bootstrap. (#12105) 2016-10-06 08:37:37 -07:00
favicon.ico refactor(benchmarks): make tree benchmark work again 2016-08-29 12:42:57 -07:00

README.md

How to run the benchmarks locally

Run in the browser

$ build.sh (only needed 1x to copy over third party resources) $ cp -r ./modules/benchmarks ./dist/all/ $ ./node_modules/.bin/tsc -p modules --emitDecoratorMetadata -w $ gulp serve $ open http://localhost:8000/all/benchmarks/src/tree/ng2/index.html?bundles=false

Run e2e tests

export NODE_PATH=(pwd)/dist/all:$(pwd)/dist/tools $ ./node_modules/.bin/protractor protractor-e2e.conf.js --specs=dist/all/benchmarks/e2e_test/tree_spec.js

Options for protractor with protractor-e2e.conf.js:

  • --bundles=true: use prebuilt bundles
  • --ng-help: show all available options

Run benchmarks tests

export NODE_PATH=(pwd)/dist/all:$(pwd)/dist/tools $ ./node_modules/.bin/protractor protractor-perf.conf.js --specs=dist/all/benchmarks/e2e_test/tree_perf.js

Options for protractor with protractor-perf.conf.js:

  • --bundles=true: use prebuilt bundles
  • --ng-help: show all available options

Compile *_aot.ts files

These files are compiled as part of the compiler_cli integration tests. See @angular/compile_cli/integrationtest/tsconfig.json