From 394be31158bd5f969f44f21b6d39350e83362488 Mon Sep 17 00:00:00 2001 From: MaxArt2501 Date: Thu, 10 Sep 2015 01:31:49 +0200 Subject: [PATCH] IE Mobile benchmarks; spelling --- doc/benchmarks.md | 86 +++++++++++++++++++++++++---------------------- doc/index.md | 4 +-- 2 files changed, 47 insertions(+), 43 deletions(-) diff --git a/doc/benchmarks.md b/doc/benchmarks.md index 53e56fa..f4dc02a 100644 --- a/doc/benchmarks.md +++ b/doc/benchmarks.md @@ -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 @@ -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 diff --git a/doc/index.md b/doc/index.md index ddd655f..6ec4404 100644 --- a/doc/index.md +++ b/doc/index.md @@ -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.