emberjs/ember.js — pull request #3101 by eviltrout (2013-08-05 16:15:36+00:00)
Title: Improve the performance of `Ember.Object.create()`

Reading the value of `chains` from an Object's metadata is significantly slower if done after the call to `delete m.proto`.

If the check for the existence of `chains` is done before the delete, you get a significant improvement in object creation speed.

Additionally, I noticed that the `Ember.finishChains` is only used in core object. I decided to inline it in the same patch. I'm new to the internals of Ember so if this change is insane please let me know and I'll happily revise the patch.

Here are the results as measued in my new [https://github.com/eviltrout/ember-performance](ember-performance) suite:

### Before Patch

![before patch](https://f.cloud.github.com/assets/17538/911346/c44af228-fde9-11e2-838c-b077bf873173.png)

### After Patch

![after patch](https://f.cloud.github.com/assets/17538/911349/d0bc03b2-fde9-11e2-9a48-9dfa85133323.png)