angular/modules/benchmarks/src
crisbeto d5b87d32b0 perf(ivy): move attributes array into component def (#32798)
Currently Ivy stores the element attributes into an array above the component def and passes it into the relevant instructions, however the problem is that upon minification the array will get a unique name which won't compress very well. These changes move the attributes array into the component def and pass in the index into the instructions instead.

Before:
```
const _c0 = ['foo', 'bar'];

SomeComp.ngComponentDef = defineComponent({
  template: function() {
    element(0, 'div', _c0);
  }
});
```

After:
```
SomeComp.ngComponentDef = defineComponent({
  consts: [['foo', 'bar']],
  template: function() {
    element(0, 'div', 0);
  }
});
```

A couple of cases that this PR doesn't handle:
* Template references are still in a separate array.
* i18n attributes are still in a separate array.

PR Close #32798
2019-10-09 13:16:55 -07:00
..
expanding_rows perf(ivy): run the expandng rows benchmark with es2015 (#32716) 2019-09-17 15:58:05 -07:00
largeform build: update to rules_nodejs 0.32.2 (#31325) 2019-07-01 14:16:42 -07:00
largetable build: update to rules_nodejs 0.38 (#32889) 2019-10-08 09:27:11 -07:00
old perf: don't create holey arrays (#32155) 2019-08-21 08:27:43 -07:00
tree perf(ivy): move attributes array into component def (#32798) 2019-10-09 13:16:55 -07:00
views perf(ivy): introduce new benchmark for view create, destroy, traverse (#31797) 2019-07-25 13:07:38 -07:00
bootstrap_ng2.ts feat(core): upgrade rxjs to 6.0.0-alpha.4 (#22573) 2018-03-19 21:51:51 -07:00
bootstrap_plain.ts refactor(benchmarks): refactor to support AOT bootstrap in G3 (#12075) 2016-10-04 16:27:45 -07:00
BUILD.bazel style: enforce buildifier lint on CI (#28186) 2019-02-26 16:57:41 -08:00
README.md build(bazel): //modules/benchmarks/src/largetable/render3:perf bazel protractor test (#24788) 2018-07-24 08:26:16 -07:00
util.ts fix(core): Update types for TypeScript nullability support (#15472) 2017-03-29 09:34:45 -07:00

Benchmark Directory Layout

Bazel

Under bazel the rules for laying out test files are slightly different. Use largetable/render3 as an example.

Put the perf file in current subdirectory (ie largetable) such that the same perf file can be used for each of the sub-subdirectories. (ie largetable/* should all be testable with the same perf file largetable/largetable_perf.spec.ts). Under bazel, typescript protractor spec files must end with .spec.ts or .test.ts.