docs: add a link to "Impact of polymorphism [...]" to the perf notes (#23151)

PR Close #23151
This commit is contained in:
Victor Berchet 2018-04-03 11:27:55 -07:00 committed by Alex Rickabaugh
parent d37064ce28
commit 412b85ba89
1 changed files with 9 additions and 7 deletions

View File

@ -13,20 +13,22 @@ shown here: https://jsperf.com/small-arrays-vs-linked-objects
## Monomorphic vs Megamorphic code
Great read: [What's up with monomorphism?](http://mrale.ph/blog/2015/01/11/whats-up-with-monomorphism.html)
Great reads:
- [What's up with monomorphism?](http://mrale.ph/blog/2015/01/11/whats-up-with-monomorphism.html)
- [Impact of polymorphism on component-based frameworks like React](http://benediktmeurer.de/2018/03/23/impact-of-polymorphism-on-component-based-frameworks-like-react/)
1) Monomorphic prop access is 100 times faster than megamorphic.
2) Monomorphic call is 4 times faster the megamorphic call.
See benchmark [here](https://jsperf.com/mono-vs-megamorphic-property-access).
## Exporting top level variables
## Exporting top level variables
Exporting top level variables should be avoided where possible where performance
and code size matters:
Exporting top level variables should be avoided where possible where performance
and code size matters:
```
// Typescript
```
// Typescript
export let exported = 0;
let notExported = 0;
@ -54,7 +56,7 @@ Also writing to a property of `exports` might change its hidden class resulting
## Iterating over Keys of an Object.
https://jsperf.com/object-keys-vs-for-in-with-closure/3 implies that `Object.keys` is the fastest way of iterating
https://jsperf.com/object-keys-vs-for-in-with-closure/3 implies that `Object.keys` is the fastest way of iterating
over properties of an object.
```