Skip to content

Commit

Permalink
IE Mobile benchmarks; spelling
Browse files Browse the repository at this point in the history
  • Loading branch information
MaxArt2501 committed Sep 9, 2015
1 parent 5831841 commit 394be31
Show file tree
Hide file tree
Showing 2 changed files with 47 additions and 43 deletions.
86 changes: 45 additions & 41 deletions doc/benchmarks.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ The results are given in cycles per second, with some native implementations giv

Test platform:
* Chrome, io.js, node.js, Edge, IE and Firefox on Windows 10 64 bit (Intel Core i7-4702, 2.2 GHz, 8 GB RAM)
* Safari 8 on Mac OS X 10.10 Yosemite (Intel Core, 16 GB RAM)
* Safari 8 on Mac OS X 10.10 Yosemite (Intel Core i5-3210M, 2.5 GHz, 16 GB RAM)

### Regular version

Expand Down Expand Up @@ -69,52 +69,56 @@ Test platform:

Test platforms:
* Chrome 44, Firefox 40 on Samsung Galaxy Note 3 with Android 5.0 (Qualcomm Snapdragon 800, quad core, 2.3 GHz, 3 GB RAM)
* Safari 8 on iPhone 5 with iOS 8.4 (Apple A6, dual core, 1.3 GHz, 1 GB RAM)
* IE Mobile on Nokia Lumia 820 with Windows Phone 8.1 (Qualcomm Snapdragon S4 Plus, 1.5 GHz, 1 GB RAM)

### Regular version

| Properties | Objects | Changes | Chrome 44 (native) | Firefox 40 | Safari 8 | Blackberry 10 | IE Mobile |
|-----------:|--------:|:--------|-------------------:|-----------:|---------:|--------------:|----------:|
| 10 | 1 | none | 2935925.26 | 12597.76 | | | |
| 10 | 1 | one | 45891.64 | 7942.07 | | | |
| 10 | 1 | all | 6731.94 | 3729.48 | | | |
| 10 | 2 | none | 2840198.42 | 7375.12 | | | |
| 10 | 2 | one | 44824.87 | 9923.59 | | | |
| 10 | 2 | all | 5669.78 | 3906.25 | | | |
| 100 | 1 | none | 3189570.94 | 1018.38 | | | |
| 100 | 1 | one | 40600.19 | 1008.52 | | | |
| 100 | 1 | all | 890.46 | 361.72 | | | |
| 100 | 20 | none | 3165550.58 | 1357.33 | | | |
| 100 | 20 | one | 40863.50 | 1260.03 | | | |
| 100 | 20 | all | 677.30 | 325.42 | | | |
| 1000 | 1 | none | 2059353.05 | 27.43 | | | |
| 1000 | 1 | one | 45913.34 | 26.62 | | | |
| 1000 | 1 | all | 76.61 | 18.59 | | | |
| 1000 | 200 | none | 2968757.38 | 70.96 | | | |
| 1000 | 200 | one | 41713.60 | 113.50 | | | |
| 1000 | 200 | all | 76.98 | 41.75 | | | |
| Properties | Objects | Changes | Chrome 44 (native) | Firefox 40 | Safari 8 | IE Mobile |
|-----------:|--------:|:--------|-------------------:|-----------:|---------:|----------:|
| 10 | 1 | none | 2935925.26 | 12597.76 | 8127.91 | 11909.16 |
| 10 | 1 | one | 45891.64 | 7942.07 | 7920.00 | 11130.70 |
| 10 | 1 | all | 6731.94 | 3729.48 | 1862.07 | 6472.74 |
| 10 | 2 | none | 2840198.42 | 7375.12 | 7454.55 | 11343.22 |
| 10 | 2 | one | 44824.87 | 9923.59 | 4064.94 | 10980.57 |
| 10 | 2 | all | 5669.78 | 3906.25 | 2354.43 | 5934.50 |
| 100 | 1 | none | 3189570.94 | 1018.38 | 2291.08 | 1181.13 |
| 100 | 1 | one | 40600.19 | 1008.52 | 2259.26 | 1149.36 |
| 100 | 1 | all | 890.46 | 361.72 | 1000.00 | 606.30 |
| 100 | 20 | none | 3165550.58 | 1357.33 | 630.43 | 1228.42 |
| 100 | 20 | one | 40863.50 | 1260.03 | 987.34 | 1191.83 |
| 100 | 20 | all | 677.30 | 325.42 | 119.57 | 595.45 |
| 1000 | 1 | none | 2059353.05 | 27.43 | 36.14 | 29.54 |
| 1000 | 1 | one | 45913.34 | 26.62 | 38.96 | 31.50 |
| 1000 | 1 | all | 76.61 | 18.59 | 30.93 | 21.57 |
| 1000 | 200 | none | 2968757.38 | 70.96 | 316.46 | 121.93 |
| 1000 | 200 | one | 41713.60 | 113.50 | 312.50 | 110.72 |
| 1000 | 200 | all | 76.98 | 41.75 | 134.15 | 58.30 |


### Lite version

| Properties | Objects | Changes | Chrome 44 (native) | Firefox 40 | Safari 8 | Blackberry 10 | IE Mobile |
|-----------:|--------:|:--------|-------------------:|-----------:|---------:|--------------:|----------:|
| 10 | 1 | none | 2935925.26 | 28742.57 | | | |
| 10 | 1 | one | 45891.64 | 18272.91 | | | |
| 10 | 1 | all | 6731.94 | 4773.90 | | | |
| 10 | 2 | none | 2840198.42 | 22611.80 | | | |
| 10 | 2 | one | 44824.87 | 19874.12 | | | |
| 10 | 2 | all | 5669.78 | 4786.42 | | | |
| 100 | 1 | none | 3189570.94 | 2581.15 | | | |
| 100 | 1 | one | 40600.19 | 2278.73 | | | |
| 100 | 1 | all | 890.46 | 401.35 | | | |
| 100 | 20 | none | 3165550.58 | 3198.00 | | | |
| 100 | 20 | one | 40863.50 | 3298.02 | | | |
| 100 | 20 | all | 677.30 | 522.06 | | | |
| 1000 | 1 | none | 2059353.05 | 26.63 | | | |
| 1000 | 1 | one | 45913.34 | 31.63 | | | |
| 1000 | 1 | all | 76.61 | 10.59 | | | |
| 1000 | 200 | none | 2968757.38 | 316.54 | | | |
| 1000 | 200 | one | 41713.60 | 381.54 | | | |
| 1000 | 200 | all | 76.98 | 49.85 | | | |
| Properties | Objects | Changes | Chrome 44 (native) | Firefox 40 | Safari 8 | IE Mobile |
|-----------:|--------:|:--------|-------------------:|-----------:|---------:|----------:|
| 10 | 1 | none | 2935925.26 | 28742.57 | 61000.00 | 53980.35 |
| 10 | 1 | one | 45891.64 | 18272.91 | 45546.51 | 48678.81 |
| 10 | 1 | all | 6731.94 | 4773.90 | 16222.22 | 12020.68 |
| 10 | 2 | none | 2840198.42 | 22611.80 | 48045.45 | 58659.53 |
| 10 | 2 | one | 44824.87 | 19874.12 | 44881.58 | 44002.45 |
| 10 | 2 | all | 5669.78 | 4786.42 | 16831.17 | 12463.18 |
| 100 | 1 | none | 3189570.94 | 2581.15 | 2752.94 | 2219.00 |
| 100 | 1 | one | 40600.19 | 2278.73 | 3059.56 | 2556.97 |
| 100 | 1 | all | 890.46 | 401.35 | 1247.06 | 1051.21 |
| 100 | 20 | none | 3165550.58 | 3198.00 | 6024.69 | 6552.65 |
| 100 | 20 | one | 40863.50 | 3298.02 | 6296.77 | 5767.85 |
| 100 | 20 | all | 677.30 | 522.06 | 2098.92 | 1327.50 |
| 1000 | 1 | none | 2059353.05 | 26.63 | 38.10 | 36.51 |
| 1000 | 1 | one | 45913.34 | 31.63 | 38.10 | 36.36 |
| 1000 | 1 | all | 76.61 | 10.59 | 32.61 | 30.90 |
| 1000 | 200 | none | 2968757.38 | 316.54 | 675.68 | 691.51 |
| 1000 | 200 | one | 41713.60 | 381.54 | 671.05 | 663.15 |
| 1000 | 200 | all | 76.98 | 49.85 | 188.24 | 134.54 |


## Running the benchmarks

Expand Down
4 changes: 2 additions & 2 deletions doc/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,9 @@ Object.observe polyfill

`Object.observe` is a very nice [EcmaScript 7 feature](http://arv.github.io/ecmascript-object-observe/) that has landed on Blink-based browsers (Chrome 36+, Opera 23+) in the [first part of 2014](http://www.html5rocks.com/en/tutorials/es7/observe/). [Node.js](https://nodejs.org/) delivers it too in version 0.11.x, and it's supported by [io.js](https://iojs.org/) since its first public release.

In short, it's one of the things web developers wish they had 10-15 years ago: it notifies the application of any changes made to an object, like adding, deleting or updating a property, changing its descriptor and so on. It even supports custom events. Sweet!
In short, it's one of the things web developers wish they had 10-15 years ago: it notifies the application of any change made to an object, like adding, deleting or updating a property, changing its descriptor and so on. It even supports custom events. Sweet!

The problem is that most browsers still doesn't support `Object.observe`. While technically it's *impossible* to perfectly replicate the feature's behaviour, something useful can be done keeping the same API.
The problem is that most browsers still don't support `Object.observe`. While technically it's *impossible* to perfectly replicate the feature's behaviour, something useful can be done keeping the same API.

After giving a look at other polyfills, like [jdarling's](https://github.com/jdarling/Object.observe) and [joelgriffith's](https://github.com/joelgriffith/object-observe-es5), and taking inspiration from them, I decided to write one myself trying to be more adherent to the specifications.

Expand Down

0 comments on commit 394be31

Please sign in to comment.