diff --git a/.editorconfig b/.editorconfig index 449f0da..84876b9 100644 --- a/.editorconfig +++ b/.editorconfig @@ -8,7 +8,3 @@ indent_size = 2 indent_style = space insert_final_newline = true trim_trailing_whitespace = true - -[{**/{actual,fixtures,expected,templates}/**,*.md}] -trim_trailing_whitespace = false -insert_final_newline = false diff --git a/.eslintrc.json b/.eslintrc.json index 24b8984..c9e75d3 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -4,29 +4,17 @@ ], "env": { - "browser": false, - "es6": true, - "node": true, - "mocha": true + "es2021": true, + "node": true }, - "parserOptions":{ - "ecmaVersion": 9, - "sourceType": "module", - "ecmaFeatures": { - "modules": true, - "experimentalObjectRestSpread": true - } - }, - - "globals": { - "document": false, - "navigator": false, - "window": false + "parserOptions": { + "ecmaVersion": 12 }, "rules": { "accessor-pairs": 2, + "arrow-parens": [2, "as-needed"], "arrow-spacing": [2, { "before": true, "after": true }], "block-spacing": [2, "always"], "brace-style": [2, "1tbs", { "allowSingleLine": true }], @@ -39,7 +27,7 @@ "eol-last": 2, "eqeqeq": [2, "allow-null"], "generator-star-spacing": [2, { "before": true, "after": true }], - "handle-callback-err": [2, "^(err|error)$" ], + "handle-callback-err": [2, "^(err|error)$"], "indent": [2, 2, { "SwitchCase": 1 }], "key-spacing": [2, { "beforeColon": false, "afterColon": true }], "keyword-spacing": [2, { "before": true, "after": true }], @@ -68,6 +56,7 @@ "no-floating-decimal": 2, "no-func-assign": 2, "no-implied-eval": 2, + "no-implicit-coercion": 2, "no-inner-declarations": [2, "functions"], "no-invalid-regexp": 2, "no-irregular-whitespace": 2, @@ -75,11 +64,12 @@ "no-label-var": 2, "no-labels": 2, "no-lone-blocks": 2, + "no-lonely-if": 2, "no-mixed-spaces-and-tabs": 2, - "no-multi-spaces": 2, + "no-multi-spaces": 0, "no-multi-str": 2, "no-multiple-empty-lines": [2, { "max": 1 }], - "no-native-reassign": 0, + "no-native-reassign": 2, "no-negated-in-lhs": 2, "no-new": 2, "no-new-func": 2, @@ -89,7 +79,7 @@ "no-obj-calls": 2, "no-octal": 2, "no-octal-escape": 2, - "no-proto": 0, + "no-proto": 2, "no-redeclare": 2, "no-regex-spaces": 2, "no-return-assign": 2, @@ -100,28 +90,32 @@ "no-sparse-arrays": 2, "no-this-before-super": 2, "no-throw-literal": 2, - "no-trailing-spaces": 0, + "no-trailing-spaces": 2, "no-undef": 2, "no-undef-init": 2, "no-unexpected-multiline": 2, "no-unneeded-ternary": [2, { "defaultAssignment": false }], "no-unreachable": 2, + "no-unused-expressions": 2, "no-unused-vars": [2, { "vars": "all", "args": "none" }], - "no-useless-call": 0, + "no-useless-call": 2, "no-with": 2, - "one-var": [0, { "initialized": "never" }], + "object-curly-spacing": ["error", "always", { "objectsInObjects": true }], + "one-var": [2, { "initialized": "never" }], "operator-linebreak": [0, "after", { "overrides": { "?": "before", ":": "before" } }], "padded-blocks": [0, "never"], + "prefer-const": [2, { "destructuring": "all", "ignoreReadBeforeAssign": false }], "quotes": [2, "single", "avoid-escape"], "radix": 2, "semi": [2, "always"], "semi-spacing": [2, { "before": false, "after": true }], "space-before-blocks": [2, "always"], - "space-before-function-paren": [2, "never"], + "space-before-function-paren": [2, { "anonymous": "never", "named": "never", "asyncArrow": "always" }], "space-in-parens": [2, "never"], "space-infix-ops": 2, "space-unary-ops": [2, { "words": true, "nonwords": false }], "spaced-comment": [0, "always", { "markers": ["global", "globals", "eslint", "eslint-disable", "*package", "!", ","] }], + "strict": 2, "use-isnan": 2, "valid-typeof": 2, "wrap-iife": [2, "any"], diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml new file mode 100644 index 0000000..c91eaae --- /dev/null +++ b/.github/FUNDING.yml @@ -0,0 +1,3 @@ +# These are supported funding model platforms + +github: [jonschlinkert, doowb] diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml new file mode 100644 index 0000000..896b638 --- /dev/null +++ b/.github/workflows/main.yml @@ -0,0 +1,20 @@ +name: Tests +on: [push, pull_request] + +jobs: + test: + name: Node.js ${{ matrix.node-version }} @ ${{ matrix.os }} + runs-on: ${{ matrix.os }} + strategy: + fail-fast: false + matrix: + os: [ubuntu-latest, windows-latest, macos-latest] + node-version: [11, 12, 13, 14, 15, 16] + + steps: + - uses: actions/checkout@v2 + - uses: actions/setup-node@v1 + with: + node-version: ${{ matrix.node-version }} + - run: npm install + - run: npm test diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index f0a120d..0000000 --- a/.travis.yml +++ /dev/null @@ -1,14 +0,0 @@ -os: - - linux - - osx - - windows -language: node_js -node_js: - - node - - '12' - - '11' - - '10' - - '9' - - '8' - - '7' - - '6' diff --git a/.verb.md b/.verb.md index 2de7271..11f41e8 100644 --- a/.verb.md +++ b/.verb.md @@ -6,26 +6,31 @@ ```js const set = require('{%= name %}'); -set(object, prop, value); + +const obj = {}; +set(obj, 'a.b.c', 'd'); + +console.log(obj); +//=> { a: { b: { c: 'd' } } } ``` ### Params -- `object` **{object}**: The object to set `value` on -- `prop` **{string}**: The property to set. Dot-notation may be used. -- `value` **{any}**: The value to set on `object[prop]` +Signature: +```js +set(object, property_path, value[, options]); +``` -## Examples +- `object` **{Object}**: The object to set `value` on +- `path` **{String|Symbol|Array}**: The [path](#object-paths) of the property to set. +- `value` **{any}**: The value to set on `obj[prop]` +- `options` **{Object}**: See all [available options](#options) -Updates and returns the given object: +### Object paths + +You may pass a string, symbol, or array of strings or symbols. By default, when a string is passed this library will split the string on `.` or a [custom separator](#options-separator) It's useful to pass an array -```js -const obj = {}; -set(obj, 'a.b.c', 'd'); -console.log(obj); -//=> { a: { b: { c: 'd' } } } -``` ### Escaping @@ -41,11 +46,67 @@ console.log(set({}, 'a\\.b\\.c', 'd')); //=> { 'a.b.c': 'd' } ``` -## Benchmarks +## Options + +### options.preservePaths + +Do not split properties that include a `/`. By default, set-value assumes that properties with a `/` are not intended to be split. This option allows you to disable default behavior. + +Note that this option cannot be used if `options.separator` is set to `/`. + +**Type**: `boolean` + +**Default**: `true` + +**Example** + +```js +console.log(set({}, 'https://github.com', true)); +//=> { 'https://github.com': true } + +console.log(set({}, 'https://github.com', true, { preservePaths: false })); +//=> { 'https://github': { com: true } } +``` + +### options.separator + +Custom separator to use for splitting object paths. + +**Type**: `string` + +**Default**: `.` + +**Example** + +```js +console.log(set(obj, 'auth/userpass/users/bob', '*****', { separator: '/' })); +//=> { auth: { userpass: { users: { bob: '*****' } } } } +``` + +### options.split -_(benchmarks were run on a MacBook Pro 2.5 GHz Intel Core i7, 16 GB 1600 MHz DDR3)_. +Custom `.split()` function to use. + + +### options.merge + +Allows you to update plain object values, instead of overwriting them. + +**Type**: `boolean|function` - A custom `merge` function may be defined if you need to deep merge. Otherwise, when `merge` is `true`, a shallow merge will be performed by `Object.assign()`. + +**Default**: `undefined` + +**Example** + +```js +const obj = { foo: { bar: { baz: 'qux' } } }; +set(obj, 'foo.bar.fez', 'zzz', { merge: true }); +//=> { foo: { bar: { baz: 'qux', fez: 'zzz' } } } +``` + +## Benchmarks -set-value is more reliable and has more features than dot-prop, without sacrificing performance. +Benchmarks were run on a MacBook Pro 2.5 GHz Intel Core i7, 16 GB 1600 MHz DDR3. ``` {%= include("./benchmark/stats.md") %} @@ -67,9 +128,9 @@ $ npm install && node benchmark ## Comparisons to other libs, or _"the list of shame"_ -These are just a few of the duplicate libraries on NPM. +These are just a few of the duplicate libraries on NPM. -- [bury][] fails all of the tests. I even wrapped it to have it return the object instead of the value, but with all of that work it still fails the vast majority of tests. +- [bury][] fails all of the tests. I even wrapped it to have it return the object instead of the value, but with all of that work it still fails the vast majority of tests. - [deep-get-set][] fails 22 of 26 unit tests. - [deep-object][] fails 25 of 26 unit tests, completely butchered given objects. - [deep-property][] fails 17 of 26 unit tests. @@ -89,10 +150,10 @@ These are just a few of the duplicate libraries on NPM. **Others that do the same thing, but use a completely different API** -- [deep-set-in][] -- [set-deep][] -- [set-deep-prop][] -- [bury][] +- [deep-set-in][] +- [set-deep][] +- [set-deep-prop][] +- [bury][] - Many dozens of others @@ -100,7 +161,7 @@ These are just a few of the duplicate libraries on NPM. ### v3.0.0 -- Added support for a custom `split` function to be passed on the options. +- Added support for a custom `split` function to be passed on the options. - Removed support for splitting on brackets, since a [custom function][split-string] can be passed to do this now. ### v2.0.0 @@ -108,4 +169,4 @@ These are just a few of the duplicate libraries on NPM. - Adds support for escaping with double or single quotes. See [escaping](#escaping) for examples. - Will no longer split inside brackets or braces. See [bracket support](#bracket-support) for examples. -If there are any regressions please create a [bug report](../../issues/new). Thanks! \ No newline at end of file +If there are any regressions please create a [bug report](../../issues/new). Thanks! diff --git a/FUNDING.yml b/FUNDING.yml deleted file mode 100644 index 37a2452..0000000 --- a/FUNDING.yml +++ /dev/null @@ -1,2 +0,0 @@ -github: jonschlinkert -tidelift: npm/set-value diff --git a/README.md b/README.md index fbe8bf7..a672de0 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# set-value [![Donate](https://img.shields.io/badge/Donate-PayPal-green.svg)](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=W8YFZ425KND68) [![NPM version](https://img.shields.io/npm/v/set-value.svg?style=flat)](https://www.npmjs.com/package/set-value) [![NPM monthly downloads](https://img.shields.io/npm/dm/set-value.svg?style=flat)](https://npmjs.org/package/set-value) [![NPM total downloads](https://img.shields.io/npm/dt/set-value.svg?style=flat)](https://npmjs.org/package/set-value) [![Linux Build Status](https://img.shields.io/travis/jonschlinkert/set-value.svg?style=flat&label=Travis)](https://travis-ci.org/jonschlinkert/set-value) +# set-value [![Donate](https://img.shields.io/badge/Donate-PayPal-green.svg)](https://paypal.me/jonathanschlinkert?locale.x=en_US) [![NPM version](https://img.shields.io/npm/v/set-value.svg?style=flat)](https://www.npmjs.com/package/set-value) [![NPM monthly downloads](https://img.shields.io/npm/dm/set-value.svg?style=flat)](https://npmjs.org/package/set-value) [![NPM total downloads](https://img.shields.io/npm/dt/set-value.svg?style=flat)](https://npmjs.org/package/set-value) > Create nested values and any intermediaries using dot notation (`'a.b.c'`) paths. @@ -6,7 +6,7 @@ Please consider following this project's author, [Jon Schlinkert](https://github ## Install -Install with [npm](https://www.npmjs.com/): +Install with [npm](https://www.npmjs.com/) (requires [Node.js](https://nodejs.org/en/) >=10.0): ```sh $ npm install --save set-value @@ -20,26 +20,31 @@ $ npm install --save set-value ```js const set = require('set-value'); -set(object, prop, value); -``` -### Params +const obj = {}; +set(obj, 'a.b.c', 'd'); -* `object` **{object}**: The object to set `value` on -* `prop` **{string}**: The property to set. Dot-notation may be used. -* `value` **{any}**: The value to set on `object[prop]` +console.log(obj); +//=> { a: { b: { c: 'd' } } } +``` -## Examples +### Params -Updates and returns the given object: +Signature: ```js -const obj = {}; -set(obj, 'a.b.c', 'd'); -console.log(obj); -//=> { a: { b: { c: 'd' } } } +set(object, property_path, value[, options]); ``` +* `object` **{Object}**: The object to set `value` on +* `path` **{String|Symbol|Array}**: The [path](#object-paths) of the property to set. +* `value` **{any}**: The value to set on `obj[prop]` +* `options` **{Object}**: See all [available options](#options) + +### Object paths + +You may pass a string, symbol, or array of strings or symbols. By default, when a string is passed this library will split the string on `.` or a [custom separator](#options-separator) It's useful to pass an array + ### Escaping **Escaping with backslashes** @@ -54,57 +59,109 @@ console.log(set({}, 'a\\.b\\.c', 'd')); //=> { 'a.b.c': 'd' } ``` -## Benchmarks +## Options + +### options.preservePaths + +Do not split properties that include a `/`. By default, set-value assumes that properties with a `/` are not intended to be split. This option allows you to disable default behavior. -_(benchmarks were run on a MacBook Pro 2.5 GHz Intel Core i7, 16 GB 1600 MHz DDR3)_. +Note that this option cannot be used if `options.separator` is set to `/`. + +**Type**: `boolean` + +**Default**: `true` + +**Example** + +```js +console.log(set({}, 'https://github.com', true)); +//=> { 'https://github.com': true } + +console.log(set({}, 'https://github.com', true, { preservePaths: false })); +//=> { 'https://github': { com: true } } +``` + +### options.separator + +Custom separator to use for splitting object paths. + +**Type**: `string` + +**Default**: `.` + +**Example** + +```js +console.log(set(obj, 'auth/userpass/users/bob', '*****', { separator: '/' })); +//=> { auth: { userpass: { users: { bob: '*****' } } } } +``` + +### options.split + +Custom `.split()` function to use. + +### options.merge + +Allows you to update plain object values, instead of overwriting them. + +**Type**: `boolean|function` - A custom `merge` function may be defined if you need to deep merge. Otherwise, when `merge` is `true`, a shallow merge will be performed by `Object.assign()`. + +**Default**: `undefined` + +**Example** + +```js +const obj = { foo: { bar: { baz: 'qux' } } }; +set(obj, 'foo.bar.fez', 'zzz', { merge: true }); +//=> { foo: { bar: { baz: 'qux', fez: 'zzz' } } } +``` + +## Benchmarks -set-value is more reliable and has more features than dot-prop, without sacrificing performance. +Benchmarks were run on a MacBook Pro 2.5 GHz Intel Core i7, 16 GB 1600 MHz DDR3. ``` # deep (194 bytes) - deep-object x 629,744 ops/sec ±0.85% (88 runs sampled) - deep-property x 1,470,427 ops/sec ±0.94% (89 runs sampled) - deep-set x 1,401,089 ops/sec ±1.02% (91 runs sampled) - deephas x 590,005 ops/sec ±1.73% (86 runs sampled) - dot-prop x 1,261,408 ops/sec ±0.94% (90 runs sampled) - dot2val x 1,672,729 ops/sec ±1.12% (89 runs sampled) - es5-dot-prop x 1,313,018 ops/sec ±0.79% (91 runs sampled) - lodash-set x 1,074,464 ops/sec ±0.97% (93 runs sampled) - object-path-set x 961,198 ops/sec ±2.07% (74 runs sampled) - object-set x 258,438 ops/sec ±0.69% (90 runs sampled) - set-value x 1,976,843 ops/sec ±2.07% (89 runs sampled) - - fastest is set-value (by 186% avg) + deep-object x 879,975 ops/sec ±0.85% (94 runs sampled) + deep-property x 1,746,617 ops/sec ±0.59% (96 runs sampled) + deephas x 792,449 ops/sec ±0.61% (94 runs sampled) + dot-prop x 1,258,403 ops/sec ±0.81% (93 runs sampled) + dot2val x 2,096,518 ops/sec ±0.71% (94 runs sampled) + es5-dot-prop x 1,627,431 ops/sec ±0.57% (94 runs sampled) + lodash-set x 1,100,116 ops/sec ±0.80% (94 runs sampled) + object-path-set x 1,292,062 ops/sec ±0.56% (91 runs sampled) + object-set x 276,868 ops/sec ±0.60% (92 runs sampled) + set-value x 2,587,076 ops/sec ±0.47% (92 runs sampled) + + fastest is set-value (by 210% avg) # medium (98 bytes) - deep-object x 3,249,287 ops/sec ±1.04% (93 runs sampled) - deep-property x 3,409,307 ops/sec ±1.28% (88 runs sampled) - deep-set x 3,240,776 ops/sec ±1.13% (93 runs sampled) - deephas x 960,504 ops/sec ±1.39% (89 runs sampled) - dot-prop x 2,776,388 ops/sec ±0.80% (94 runs sampled) - dot2val x 3,889,791 ops/sec ±1.28% (91 runs sampled) - es5-dot-prop x 2,779,604 ops/sec ±1.32% (91 runs sampled) - lodash-set x 2,791,304 ops/sec ±0.75% (90 runs sampled) - object-path-set x 2,462,084 ops/sec ±1.51% (91 runs sampled) - object-set x 838,569 ops/sec ±0.87% (90 runs sampled) - set-value x 4,767,287 ops/sec ±1.21% (91 runs sampled) - - fastest is set-value (by 181% avg) + deep-object x 5,823,296 ops/sec ±0.63% (92 runs sampled) + deep-property x 4,045,998 ops/sec ±0.69% (91 runs sampled) + deephas x 1,237,999 ops/sec ±0.56% (92 runs sampled) + dot-prop x 2,833,082 ops/sec ±0.82% (93 runs sampled) + dot2val x 4,669,511 ops/sec ±0.50% (94 runs sampled) + es5-dot-prop x 3,348,092 ops/sec ±0.71% (92 runs sampled) + lodash-set x 3,051,898 ops/sec ±0.61% (94 runs sampled) + object-path-set x 3,867,590 ops/sec ±0.48% (92 runs sampled) + object-set x 888,369 ops/sec ±0.52% (96 runs sampled) + set-value x 8,209,356 ops/sec ±0.68% (91 runs sampled) + + fastest is set-value (by 248% avg) # shallow (101 bytes) - deep-object x 4,793,168 ops/sec ±0.75% (88 runs sampled) - deep-property x 4,669,218 ops/sec ±1.17% (90 runs sampled) - deep-set x 4,648,247 ops/sec ±0.73% (91 runs sampled) - deephas x 1,246,414 ops/sec ±1.67% (92 runs sampled) - dot-prop x 3,913,694 ops/sec ±1.23% (89 runs sampled) - dot2val x 5,428,829 ops/sec ±0.76% (92 runs sampled) - es5-dot-prop x 3,897,931 ops/sec ±1.19% (92 runs sampled) - lodash-set x 6,128,638 ops/sec ±0.95% (87 runs sampled) - object-path-set x 5,429,978 ops/sec ±3.31% (87 runs sampled) - object-set x 1,529,485 ops/sec ±2.37% (89 runs sampled) - set-value x 7,150,921 ops/sec ±1.58% (89 runs sampled) - - fastest is set-value (by 172% avg) + deep-object x 9,558,659 ops/sec ±0.81% (92 runs sampled) + deep-property x 5,190,792 ops/sec ±0.72% (93 runs sampled) + deephas x 1,395,091 ops/sec ±0.55% (90 runs sampled) + dot-prop x 4,203,222 ops/sec ±0.67% (94 runs sampled) + dot2val x 5,908,936 ops/sec ±0.52% (93 runs sampled) + es5-dot-prop x 4,511,259 ops/sec ±0.65% (94 runs sampled) + lodash-set x 8,624,572 ops/sec ±0.87% (90 runs sampled) + object-path-set x 5,800,121 ops/sec ±0.73% (90 runs sampled) + object-set x 1,629,494 ops/sec ±0.68% (92 runs sampled) + set-value x 13,925,948 ops/sec ±0.68% (89 runs sampled) + + fastest is set-value (by 268% avg) ``` @@ -216,11 +273,14 @@ You might also be interested in these projects: | **Commits** | **Contributor** | | --- | --- | -| 73 | [jonschlinkert](https://github.com/jonschlinkert) | +| 79 | [jonschlinkert](https://github.com/jonschlinkert) | +| 4 | [doowb](https://github.com/doowb) | | 2 | [mbelsky](https://github.com/mbelsky) | -| 1 | [doowb](https://github.com/doowb) | +| 1 | [dkebler](https://github.com/dkebler) | | 1 | [GlennKintscher](https://github.com/GlennKintscher) | -| 1 | [vadimdemedes](https://github.com/vadimdemedes) | +| 1 | [petermorlion](https://github.com/petermorlion) | +| 1 | [abetomo](https://github.com/abetomo) | +| 1 | [zeidoo](https://github.com/zeidoo) | | 1 | [wtgtybhertgeghgtwtg](https://github.com/wtgtybhertgeghgtwtg) | ### Author @@ -233,9 +293,9 @@ You might also be interested in these projects: ### License -Copyright © 2020, [Jon Schlinkert](https://github.com/jonschlinkert). +Copyright © 2021, [Jon Schlinkert](https://github.com/jonschlinkert). Released under the [MIT License](LICENSE). *** -_This file was generated by [verb-generate-readme](https://github.com/verbose/verb-generate-readme), v0.8.0, on April 01, 2020._ \ No newline at end of file +_This file was generated by [verb-generate-readme](https://github.com/verbose/verb-generate-readme), v0.8.0, on April 27, 2021._ \ No newline at end of file diff --git a/benchmark/code/deep-object.js b/benchmark/code/deep-object.js index 1e7033b..ee89de3 100644 --- a/benchmark/code/deep-object.js +++ b/benchmark/code/deep-object.js @@ -1,8 +1,13 @@ -const set = require('deep-object').set; +'use strict'; -module.exports = function(obj, path, value) { +const { set } = require('deep-object'); + +module.exports = (obj, path, value) => { try { set(obj, path, value); - } catch (err) {} + } catch (err) { + // do nothing + } return obj; }; + diff --git a/benchmark/code/deep-property.js b/benchmark/code/deep-property.js index 4c92ea3..ae837c2 100644 --- a/benchmark/code/deep-property.js +++ b/benchmark/code/deep-property.js @@ -1,8 +1,13 @@ -const set = require('deep-property').set; +'use strict'; -module.exports = function(obj, path, value) { +const { set } = require('deep-property'); + +module.exports = (obj, path, value) => { try { set(obj, path, value); - } catch (err) {} + } catch (err) { + // do nothing + } return obj; }; + diff --git a/benchmark/code/deep-set.js b/benchmark/code/deep-set.js deleted file mode 100644 index 4c27b96..0000000 --- a/benchmark/code/deep-set.js +++ /dev/null @@ -1,8 +0,0 @@ -const set = require('deep-set'); - -module.exports = function(obj, path, value) { - try { - set(obj, path, value); - } catch (err) {} - return obj; -}; diff --git a/benchmark/code/deephas.js b/benchmark/code/deephas.js index 52fda73..ebdc421 100644 --- a/benchmark/code/deephas.js +++ b/benchmark/code/deephas.js @@ -1,8 +1,12 @@ -const set = require('deephas').set; +'use strict'; -module.exports = function(obj, path, value) { +const { set } = require('deephas'); + +module.exports = (obj, path, value) => { try { set(obj, path, value); - } catch (err) {} + } catch (err) { + // do nothing + } return obj; }; diff --git a/benchmark/code/dot-prop.js b/benchmark/code/dot-prop.js index 536c6fc..adb394f 100644 --- a/benchmark/code/dot-prop.js +++ b/benchmark/code/dot-prop.js @@ -1 +1,3 @@ +'use strict'; + module.exports = require('dot-prop').set; diff --git a/benchmark/code/dot2val.js b/benchmark/code/dot2val.js index 54ca3b3..f017dc5 100644 --- a/benchmark/code/dot2val.js +++ b/benchmark/code/dot2val.js @@ -1,8 +1,13 @@ -const set = require('dot2val').set; +'use strict'; -module.exports = function(obj, path, value) { +const { set } = require('dot2val'); + +module.exports = (obj, path, value) => { try { set(obj, path, value); - } catch (err) {} + } catch (err) { + // do nothing + } return obj; }; + diff --git a/benchmark/code/es5-dot-prop.js b/benchmark/code/es5-dot-prop.js index d9f64c9..7758717 100644 --- a/benchmark/code/es5-dot-prop.js +++ b/benchmark/code/es5-dot-prop.js @@ -1,8 +1,13 @@ -const set = require('es5-dot-prop').set; +'use strict'; -module.exports = function(obj, path, value) { +const { set } = require('es5-dot-prop'); + +module.exports = (obj, path, value) => { try { set(obj, path, value); - } catch (err) {} + } catch (err) { + // do nothing + } return obj; }; + diff --git a/benchmark/code/lodash-set.js b/benchmark/code/lodash-set.js index 36d99b2..3951e12 100644 --- a/benchmark/code/lodash-set.js +++ b/benchmark/code/lodash-set.js @@ -1 +1,3 @@ +'use strict'; + module.exports = require('lodash.set'); diff --git a/benchmark/code/object-path-set.js b/benchmark/code/object-path-set.js index 654322d..4578390 100644 --- a/benchmark/code/object-path-set.js +++ b/benchmark/code/object-path-set.js @@ -1,8 +1,13 @@ +'use strict'; + const set = require('object-path-set'); -module.exports = function(obj, path, value) { +module.exports = (obj, path, value) => { try { set(obj, path, value); - } catch (err) {} + } catch (err) { + // do nothing + } return obj; }; + diff --git a/benchmark/code/object-set.js b/benchmark/code/object-set.js index 62381ed..70f64c0 100644 --- a/benchmark/code/object-set.js +++ b/benchmark/code/object-set.js @@ -1,8 +1,13 @@ +'use strict'; + const set = require('object-set'); -module.exports = function(obj, path, value) { +module.exports = (obj, path, value) => { try { set(obj, path, value); - } catch (err) {} + } catch (err) { + // do nothing + } return obj; }; + diff --git a/benchmark/code/set-value.js b/benchmark/code/set-value.js index bf59a72..dbfaf07 100644 --- a/benchmark/code/set-value.js +++ b/benchmark/code/set-value.js @@ -1 +1,5 @@ -module.exports = require('../..'); +'use strict'; + +const set = require('../..'); + +module.exports = (obj, key, value) => set(obj, key, value); diff --git a/benchmark/package.json b/benchmark/package.json new file mode 100644 index 0000000..62a86c6 --- /dev/null +++ b/benchmark/package.json @@ -0,0 +1,23 @@ +{ + "name": "set-value-benchmarks", + "description": "Node.js library and API for set-value-benchmarks", + "version": "0.0.0", + "private": true, + "dependencies": { + "benchmarked": "^2.0.0", + "minimist": "^1.2.5", + "write": "^2.0.0" + }, + "devDependencies": { + "deep-object": "^1.0.0", + "deep-property": "^1.1.0", + "deep-set": "^1.0.1", + "deephas": "^1.0.7", + "dot-prop": "^6.0.1", + "dot2val": "^1.2.2", + "es5-dot-prop": "^4.1.1", + "lodash.set": "^4.3.2", + "object-path-set": "^1.0.1", + "object-set": "^1.0.1" + } +} diff --git a/benchmark/stats.json b/benchmark/stats.json index a5c5d06..5a51108 100644 --- a/benchmark/stats.json +++ b/benchmark/stats.json @@ -5,9 +5,9 @@ "stat": null, "_contents": null, "history": [ - "/Users/jonschlinkert/dev/js-utils/objects/set-value/benchmark/fixtures/deep.js" + "/Users/jonschlinkert/dev/js-utils/objects/set-value-master/benchmark/fixtures/deep.js" ], - "_cwd": "/Users/jonschlinkert/dev/js-utils/objects/set-value", + "_cwd": "/Users/jonschlinkert/dev/js-utils/objects/set-value-master", "_isVinyl": true, "_symlink": null, "key": "deep", @@ -168,113 +168,119 @@ }, "id": 1, "stats": { - "moe": 1.3418798919818402e-8, - "rme": 0.8450405076177558, - "sem": 6.846325979499185e-9, - "deviation": 6.422423054226311e-8, - "mean": 0.0000015879474177690236, + "moe": 9.709523441281938e-9, + "rme": 0.8544141745734037, + "sem": 4.953838490449969e-9, + "deviation": 4.802924613409606e-8, + "mean": 0.000001136395407546903, "sample": [ - 0.000001604446560509554, - 0.0000019212816878980894, - 0.000001588360343846786, - 0.0000015999949606495164, - 0.0000016126595638784335, - 0.0000015785348244004106, - 0.0000015747140146802686, - 0.0000017240407128638965, - 0.00000156288105767459, - 0.000001615178428843437, - 0.000001543798538173331, - 0.0000015948501318937487, - 0.00000157925961597448, - 0.0000015920999325194774, - 0.0000015437054168455925, - 0.0000015520891352957392, - 0.0000016456609489386467, - 0.0000015433365393451157, - 0.0000015464572855086226, - 0.0000015834586026281128, - 0.000001549860158710928, - 0.0000017742642355221711, - 0.000001547041949357887, - 0.0000015246143082141992, - 0.0000015416449903077295, - 0.0000015681779440271384, - 0.0000015308245093288102, - 0.0000015645900169614733, - 0.000001522731705839593, - 0.000001580462169857039, - 0.0000015385144475405863, - 0.0000015818125454325176, - 0.0000015561619820692998, - 0.0000015382547552701722, - 0.0000015874891264841289, - 0.0000015929029258541315, - 0.0000016466240913496487, - 0.0000015799787981584687, - 0.0000015393242670220498, - 0.000001691953961715532, - 0.000001577051308456506, - 0.0000015696349648655198, - 0.0000015500391628301429, - 0.0000015816687666585897, - 0.0000015784569602616912, - 0.0000015452145626362974, - 0.0000015481463229949117, - 0.0000015747479403925369, - 0.0000015471437181972377, - 0.0000015404990307729584, - 0.0000016221623152410953, - 0.000001593809425732978, - 0.0000015758517991276957, - 0.0000015528801187303125, - 0.0000015716612551490188, - 0.0000015510339835231404, - 0.0000015847481826992972, - 0.0000018191537436394475, - 0.0000015634846438090624, - 0.0000015431940877150472, - 0.0000016478199055003636, - 0.0000016094700448267505, - 0.0000015581611339956384, - 0.0000015489854010176884, - 0.0000015493808153622486, - 0.0000015788881754300943, - 0.0000015789120426459898, - 0.000001562910043615217, - 0.000001588796068572813, - 0.000001659727616913012, - 0.0000015568705476132784, - 0.0000015239565059365156, - 0.0000015663570087230435, - 0.000001552152047492125, - 0.0000017524893687908892, - 0.0000016699565968015507, - 0.0000015436204870365885, - 0.000001560229070753574, - 0.0000016309871123884436, - 0.0000016470810769928906, - 0.000001572074905460596, - 0.0000015512624716381788, - 0.000001566424292845258, - 0.0000016097441839358644, - 0.0000016070588413250643, - 0.0000015344182120707913, - 0.0000015601941007411889, - 0.0000015968252004235366 - ], - "variance": 4.124751788745762e-15 + 0.0000013073328766799726, + 0.0000012527843966270638, + 0.0000012077287006637221, + 0.000001149229473221159, + 0.0000011004055427251734, + 0.0000011458215770372814, + 0.0000011731707027383701, + 0.0000011679618827669636, + 0.0000012160428901352689, + 0.0000011315594413284945, + 0.0000011451207522269878, + 0.0000011112237105465744, + 0.0000011501161332893435, + 0.0000011313393881453155, + 0.000001164693768468625, + 0.0000011097554754041369, + 0.00000111088147488267, + 0.0000011598001694767948, + 0.0000011866717582131061, + 0.0000010976943985746567, + 0.000001127407874152616, + 0.0000011042002433512951, + 0.0000011398041673909265, + 0.0000011612631670432818, + 0.0000012373063836259342, + 0.0000011084366200243352, + 0.0000010972017208413002, + 0.0000011296848818007996, + 0.000001090045628367808, + 0.0000011503532504780115, + 0.0000010914732096297584, + 0.0000011229695159047455, + 0.0000011432023509473318, + 0.0000011122714236050756, + 0.0000011137578002781157, + 0.0000011118227881105509, + 0.000001130745610985573, + 0.0000011122928037545628, + 0.0000011376012515209457, + 0.0000010950183817138884, + 0.0000011228261993742394, + 0.0000011549165218147054, + 0.0000011038291326264558, + 0.0000011050630757865461, + 0.0000010942619720146011, + 0.000001198774508951851, + 0.0000011476224578480793, + 0.0000011388487310968191, + 0.0000011124940281835367, + 0.0000011286816248496305, + 0.0000011002742954115827, + 0.0000011038331328406944, + 0.0000010814857793435298, + 0.0000011148240891905826, + 0.000001079689809245575, + 0.0000011459801512287334, + 0.0000010986073638082144, + 0.0000011241170518989517, + 0.0000011020520493211892, + 0.000001177586935040385, + 0.0000013644105516411754, + 0.0000011796175030073897, + 0.000001157009065131466, + 0.0000010767300653033167, + 0.0000011630390531019076, + 0.0000010949974652002063, + 0.0000011157669273070975, + 0.0000011752572821790687, + 0.0000011014672194535143, + 0.0000011252573895858395, + 0.0000011005584507647362, + 0.0000012377314186286304, + 0.0000011896386406599073, + 0.0000011474505499226672, + 0.0000010892664976800137, + 0.0000011170778054648565, + 0.0000011329933622615568, + 0.000001098199389929541, + 0.0000011058063670733801, + 0.0000010919316463309846, + 0.0000011340931216703902, + 0.0000011059862089706136, + 0.0000011542559073724007, + 0.0000012350451538064959, + 0.000001124060856676405, + 0.0000011336724093486854, + 0.0000011135749269633957, + 0.0000011049097568310706, + 0.0000011099200034370167, + 0.000001134766411754597, + 0.0000010959313885547345, + 0.0000011385760654751676, + 0.000001083131745145214, + 0.0000011170752062210003 + ], + "variance": 2.3068084842095815e-15 }, "times": { - "cycle": 0.05248960189435507, - "elapsed": 5.538, - "period": 0.0000015879474177690236, - "timeStamp": 1520291970143 + "cycle": 0.05290147901212342, + "elapsed": 5.594, + "period": 0.000001136395407546903, + "timeStamp": 1619569484829 }, "running": false, - "count": 33055, + "count": 46552, "cycles": 5, - "hz": 629743.7741389092 + "hz": 879975.3970835425 }, "1": { "name": "deep-property", @@ -310,117 +316,124 @@ }, "id": 2, "stats": { - "moe": 6.401700026211611e-9, - "rme": 0.9413229392829998, - "sem": 3.266173482761026e-9, - "deviation": 3.0813019010391124e-8, - "mean": 6.800747925135818e-7, + "moe": 3.3501139478403813e-9, + "rme": 0.5851364529762717, + "sem": 1.7092418101226436e-9, + "deviation": 1.674708112732627e-8, + "mean": 5.725355053167802e-7, "sample": [ - 6.746411231786656e-7, - 7.820479595677188e-7, - 6.78847756828746e-7, - 6.541201885412858e-7, - 6.572771321878102e-7, - 6.790783151407532e-7, - 6.664893427260388e-7, - 6.672641375298908e-7, - 6.636854779292962e-7, - 6.714023007820074e-7, - 6.580199573450527e-7, - 6.614569508175532e-7, - 6.592794028307374e-7, - 6.685536612163123e-7, - 6.711909649066115e-7, - 6.664321278927351e-7, - 7.196590730355186e-7, - 6.484901179655773e-7, - 6.6803457745117e-7, - 6.550447237800554e-7, - 6.549306903887062e-7, - 6.791593631148069e-7, - 6.792099400502805e-7, - 6.449570682653258e-7, - 6.693786888416167e-7, - 6.776137819892992e-7, - 6.764016373364275e-7, - 6.744678011989943e-7, - 6.956007735447689e-7, - 6.481941998764287e-7, - 6.519719261662033e-7, - 6.70506062712388e-7, - 6.493183631963753e-7, - 7.450808361651735e-7, - 6.655083925445371e-7, - 6.616949207084749e-7, - 6.718610724951086e-7, - 7.116586216661517e-7, - 7.33636983832767e-7, - 6.999242096591494e-7, - 7.03192140356297e-7, - 7.963674183915148e-7, - 6.810268896097209e-7, - 6.620390536504994e-7, - 7.266678766347442e-7, - 6.788719879518072e-7, - 7.23503874472248e-7, - 6.569076176500875e-7, - 6.899242482751519e-7, - 7.10192063124292e-7, - 7.287180516939553e-7, - 6.760428122747401e-7, - 6.630846334054165e-7, - 6.752226469982494e-7, - 6.668100864998455e-7, - 6.511805684275563e-7, - 6.553182216043662e-7, - 6.570332741221296e-7, - 6.768216069405828e-7, - 7.007075798383994e-7, - 6.732134667179684e-7, - 6.713682954982685e-7, - 6.457195203283315e-7, - 6.579997434910863e-7, - 6.915616390919584e-7, - 6.631910093625754e-7, - 6.704942157239964e-7, - 7.58360112863922e-7, - 6.635536616647428e-7, - 6.634936514043863e-7, - 6.554919840964474e-7, - 6.707182249583173e-7, - 6.68537937668334e-7, - 6.854935616262666e-7, - 6.729748108246762e-7, - 7.081205848403232e-7, - 6.663836347313069e-7, - 6.764274464537643e-7, - 6.722687700397589e-7, - 6.787780813133256e-7, - 6.678434782608696e-7, - 6.766416313966911e-7, - 6.656640374503014e-7, - 6.46866936001026e-7, - 7.983672309862768e-7, - 6.753646530716942e-7, - 6.859875464922406e-7, - 6.901571886623061e-7, - 6.938902013594973e-7 - ], - "variance": 9.49442140534725e-16 + 5.870778427175637e-7, + 5.752876581234188e-7, + 5.556954130458695e-7, + 5.653602353976461e-7, + 5.79790364096359e-7, + 5.523921350786492e-7, + 5.787760422395776e-7, + 5.597779562204378e-7, + 5.747302166978331e-7, + 5.516857881421186e-7, + 5.778114288857112e-7, + 5.543664063359367e-7, + 5.841257397426026e-7, + 5.895143438565615e-7, + 5.6649942800572e-7, + 5.677460455395446e-7, + 5.524975250247498e-7, + 5.555571004289958e-7, + 5.506539764602353e-7, + 5.898740512594874e-7, + 5.562184138158619e-7, + 5.67349488505115e-7, + 6.074690023099769e-7, + 5.671565504344957e-7, + 6.155217797822021e-7, + 6.202456495435046e-7, + 6.646432405675943e-7, + 5.680029919700803e-7, + 5.752247607523925e-7, + 5.62329248707513e-7, + 5.768019359806402e-7, + 5.824093389066109e-7, + 5.721637223627764e-7, + 5.755612803871961e-7, + 5.569363986360137e-7, + 5.82979188208118e-7, + 5.528767242327577e-7, + 5.864661203387966e-7, + 5.59619425805742e-7, + 5.662369046309537e-7, + 5.760985260147398e-7, + 5.744728632713673e-7, + 5.821878341216588e-7, + 5.564350346496535e-7, + 5.593866791332087e-7, + 5.734549334506655e-7, + 5.668036739632604e-7, + 5.614440875591244e-7, + 5.673082829171708e-7, + 5.556814431855681e-7, + 5.914871741282587e-7, + 5.877157298427015e-7, + 5.657141678583214e-7, + 5.560889781102189e-7, + 5.772209767902321e-7, + 5.685815091849081e-7, + 6.030069959300407e-7, + 5.684911450885491e-7, + 5.65559751402486e-7, + 5.758263447365525e-7, + 5.638852601473986e-7, + 5.546009899901e-7, + 5.558534264657353e-7, + 5.680227257727423e-7, + 5.579526894731053e-7, + 5.756309426905731e-7, + 5.578307556924431e-7, + 5.636307336926631e-7, + 5.855035089649104e-7, + 5.606946540534594e-7, + 5.618453855461446e-7, + 5.613041359586403e-7, + 5.7039970300297e-7, + 5.668585964140358e-7, + 5.775315036849632e-7, + 5.601858431415686e-7, + 5.82689979100209e-7, + 5.7869961500385e-7, + 5.969975910240898e-7, + 5.734447475525245e-7, + 5.7169996700033e-7, + 5.794138928610714e-7, + 5.681707292927071e-7, + 5.842320426795732e-7, + 5.693635463645364e-7, + 5.8480034099659e-7, + 5.878670003299967e-7, + 5.776039709602903e-7, + 5.564314486855131e-7, + 5.64009866901331e-7, + 5.744696183038169e-7, + 5.652078649213508e-7, + 5.87260653393466e-7, + 5.576571224287757e-7, + 5.732824991750083e-7, + 5.699771642283577e-7 + ], + "variance": 2.8046472628524775e-16 }, "times": { - "cycle": 0.053025431572283975, - "elapsed": 5.453, - "period": 6.800747925135818e-7, - "timeStamp": 1520291975682 + "cycle": 0.05204920278834849, + "elapsed": 5.556, + "period": 5.725355053167802e-7, + "timeStamp": 1619569490423 }, "running": false, - "count": 77970, - "cycles": 6, - "hz": 1470426.5045671854 + "count": 90910, + "cycles": 8, + "hz": 1746616.5691273704 }, "2": { - "name": "deep-set", + "name": "deephas", "options": { "async": false, "defer": false, @@ -453,119 +466,122 @@ }, "id": 3, "stats": { - "moe": 7.279250786634382e-9, - "rme": 1.0198878458787548, - "sem": 3.713903462568562e-9, - "deviation": 3.542838103222283e-8, - "mean": 7.137305161591019e-7, + "moe": 7.670675786316018e-9, + "rme": 0.6078620763140221, + "sem": 3.913610095059193e-9, + "deviation": 3.794385765519931e-8, + "mean": 0.0000012619105690602978, "sample": [ - 7.212277598699617e-7, - 6.982321128467918e-7, - 6.961137421825494e-7, - 6.920993883792049e-7, - 7.104382007053367e-7, - 7.007912669987512e-7, - 6.897758840722902e-7, - 7.080828839213426e-7, - 6.882790882768652e-7, - 8.143445995087344e-7, - 6.983678179847132e-7, - 7.095140587048701e-7, - 7.217028666309882e-7, - 6.963034045531267e-7, - 6.99842753832009e-7, - 6.904762394851318e-7, - 7.081802607889137e-7, - 7.268489279284194e-7, - 6.972428255769545e-7, - 7.36641237928965e-7, - 6.949056686125812e-7, - 6.872434393583938e-7, - 6.850146489170167e-7, - 7.156783103278957e-7, - 6.922750422827213e-7, - 6.979539527524688e-7, - 7.677026706312401e-7, - 7.070012821212287e-7, - 7.00282830487206e-7, - 6.894600632876862e-7, - 7.167947378471274e-7, - 6.947233755251242e-7, - 7.029527251895902e-7, - 7.014206448796988e-7, - 7.107906050521033e-7, - 7.101237928965027e-7, - 6.931252243188863e-7, - 6.983015933438469e-7, - 7.078543966501713e-7, - 7.022534531513405e-7, - 6.921474930665071e-7, - 6.86692887052042e-7, - 8.357619364837675e-7, - 7.253905187884061e-7, - 7.110343275871445e-7, - 6.991318587198869e-7, - 7.043509570939148e-7, - 7.034224536407635e-7, - 7.434553537440861e-7, - 7.091663222578715e-7, - 7.237288052640166e-7, - 7.056771575398336e-7, - 7.030808635597368e-7, - 6.976197998803632e-7, - 7.168287427266301e-7, - 7.414338191310023e-7, - 7.012241285551144e-7, - 7.021975501658601e-7, - 6.912666131926696e-7, - 6.874542661373647e-7, - 7.792728941214857e-7, - 7.158607455544075e-7, - 6.989726602860406e-7, - 7.093784327587145e-7, - 7.006269916798086e-7, - 7.025832019141878e-7, - 7.188401218119528e-7, - 7.077490891293707e-7, - 7.026324704986677e-7, - 7.07966012289956e-7, - 7.199025096525096e-7, - 6.869902931100114e-7, - 7.12278508891185e-7, - 6.927637718201099e-7, - 7.199863777258143e-7, - 7.010487519712872e-7, - 6.902394910000544e-7, - 6.867666403828377e-7, - 8.323686442982217e-7, - 7.290804557072163e-7, - 7.238211566697483e-7, - 7.088532274729458e-7, - 7.243385719723748e-7, - 7.141382484093752e-7, - 7.107469818913481e-7, - 7.107155636521833e-7, - 7.247882293762575e-7, - 6.984201696666486e-7, - 7.273931018543694e-7, - 6.994843520582957e-7, - 9.300396704551634e-7 - ], - "variance": 1.2551701825643665e-15 + 0.0000013902689815045615, + 0.000001261024801834588, + 0.000001339686425046114, + 0.0000012574212901316763, + 0.000001297304778813434, + 0.0000012701455590077428, + 0.0000012699999260245598, + 0.0000012638168717384018, + 0.0000012476965576674487, + 0.0000012396356585435916, + 0.0000012616790587446739, + 0.0000012568979030018672, + 0.0000012617401254368745, + 0.0000012670369129123379, + 0.0000012718979030018672, + 0.0000012223929717048883, + 0.0000012338814813041606, + 0.0000012613968497151338, + 0.0000012524372576243596, + 0.0000012820687269593527, + 0.0000012354213386316847, + 0.000001223574089146359, + 0.0000013090129027624837, + 0.0000013183158423900032, + 0.0000012042603054531526, + 0.0000012394384306027673, + 0.000001236986307272466, + 0.0000012457562119978934, + 0.0000012765649925791163, + 0.0000012504468090199646, + 0.0000012266801838464117, + 0.000001296543424139417, + 0.000001278274429070714, + 0.000001223429381912194, + 0.0000012344916694594723, + 0.0000012477692583903863, + 0.000001225800497917365, + 0.000001260050078996505, + 0.0000012423581174893474, + 0.000001238609230621918, + 0.0000013348915114664622, + 0.0000013542857519030976, + 0.0000012370727007229378, + 0.0000012671938526356106, + 0.00000128552147268636, + 0.0000012396956240723895, + 0.0000013026585196533729, + 0.0000012773136161248623, + 0.0000012263201991669459, + 0.0000013094250011969168, + 0.000001238870589361804, + 0.0000012129289988988366, + 0.0000012214179154498013, + 0.0000012887787619093216, + 0.0000012407757935558002, + 0.0000012598169435534064, + 0.000001244912696892804, + 0.0000012068904103030593, + 0.0000013290948915593432, + 0.0000012827827356729067, + 0.0000012626898788720256, + 0.0000012353815052424954, + 0.0000012718254895389477, + 0.000001228645616890889, + 0.0000012778271412840522, + 0.0000012357643270934074, + 0.0000012393571120792838, + 0.0000013509260544836502, + 0.0000013546031024081966, + 0.0000012144904007277253, + 0.0000012516056638100253, + 0.0000012599654091061425, + 0.0000012179700770814382, + 0.000001299110810552018, + 0.000001239230837362953, + 0.0000012082562359362282, + 0.0000012868084215062, + 0.0000013089551395604922, + 0.0000012230401206492076, + 0.0000012432189878872026, + 0.0000012797624359649541, + 0.0000012231837267199694, + 0.0000013064390529994734, + 0.0000012399509742902284, + 0.000001221825920428975, + 0.0000013195354766122468, + 0.000001315603341791545, + 0.000001258217647340451, + 0.0000012335024895868244, + 0.0000012672498204624887, + 0.000001213996648633121, + 0.0000012795359314406092, + 0.0000012508018624024513, + 0.0000012174543017187724 + ], + "variance": 1.4397363337580275e-15 }, "times": { - "cycle": 0.0524991618465989, - "elapsed": 5.478, - "period": 7.137305161591019e-7, - "timeStamp": 1520291981135 + "cycle": 0.05271505211192488, + "elapsed": 5.469, + "period": 0.0000012619105690602978, + "timeStamp": 1619569495980 }, "running": false, - "count": 73556, - "cycles": 7, - "hz": 1401089.0348102814 + "count": 41774, + "cycles": 6, + "hz": 792449.1834192864 }, "3": { - "name": "deephas", + "name": "dot-prop", "options": { "async": false, "defer": false, @@ -598,114 +614,121 @@ }, "id": 4, "stats": { - "moe": 2.9257146179517104e-8, - "rme": 1.72618561281093, - "sem": 1.4927115397712808e-8, - "deviation": 1.384283734366282e-7, - "mean": 0.0000016949015194185643, + "moe": 6.433978862377168e-9, + "rme": 0.8096537371008927, + "sem": 3.282642276723045e-9, + "deviation": 3.165665568998784e-8, + "mean": 7.946580825298427e-7, "sample": [ - 0.0000018809542372881356, - 0.0000019131987742869648, - 0.0000017791870896050106, - 0.0000016865210290601743, - 0.0000018121572886150116, - 0.0000020053506414789373, - 0.0000019595147321278246, - 0.000002363116846819544, - 0.0000017852792201232449, - 0.0000017008579991244906, - 0.0000016848429410625525, - 0.0000016382744819572655, - 0.0000016919501646117102, - 0.0000016862371376928539, - 0.0000017165220127816151, - 0.000001637590919351198, - 0.0000016701938989390862, - 0.0000019361307278062624, - 0.000001735971687465738, - 0.000001794610073844765, - 0.0000017193820579794268, - 0.0000017083005707652123, - 0.0000017019473090193803, - 0.0000016350921930927736, - 0.0000016714591918996486, - 0.0000017094379413756409, - 0.0000016261590080939022, - 0.0000016728754312985715, - 0.0000016654216245848249, - 0.0000016418287059430525, - 0.0000016489246203904555, - 0.0000016339272680872782, - 0.0000016837574326910807, - 0.0000018085599719280337, - 0.0000016689396771723876, - 0.0000016018456679851984, - 0.0000016624830655052046, - 0.0000017059454699833328, - 0.0000016187415642001321, - 0.0000016099471681014951, - 0.0000016067004682072194, - 0.000001593012656698384, - 0.000001613082736746715, - 0.0000016690250717414287, - 0.0000016234657302522278, - 0.0000016459916326838846, - 0.0000016769373508533454, - 0.0000015836807128832503, - 0.000001604417459598248, - 0.0000018401769521220359, - 0.000001633606675728742, - 0.000001630467391632684, - 0.0000016190539797613652, - 0.0000015805026733121884, - 0.0000015624455520314153, - 0.0000015773379549916932, - 0.0000015779797311584352, - 0.0000016756760006041383, - 0.0000016229454463072045, - 0.000001702864491768615, - 0.0000015917574384534059, - 0.000001704115299803655, - 0.000001630326929466848, - 0.0000016473876755777074, - 0.0000016395044253133969, - 0.0000016967758948799275, - 0.0000020651817550218998, - 0.0000022401799728137746, - 0.000001606695635100438, - 0.000001609490288476061, - 0.000001674814227458088, - 0.000001766443407340281, - 0.0000016428476061017973, - 0.0000017211380456124452, - 0.00000159300715903942, - 0.0000015768461259628457, - 0.0000016217533605195589, - 0.0000015682192115994564, - 0.0000016166809847455067, - 0.0000016011117051804864, - 0.0000015986325328500226, - 0.0000015611460806524695, - 0.0000015949404017520012, - 0.0000018521723304636762, - 0.0000015706060111765593, - 0.0000016569476514121734 - ], - "variance": 1.9162414572310595e-14 + 7.745742514970061e-7, + 7.868088745585752e-7, + 7.811527406725012e-7, + 7.94768294180869e-7, + 7.879173959772762e-7, + 7.883817595578076e-7, + 8.177149239981575e-7, + 7.79785736219868e-7, + 7.737049746660525e-7, + 7.842895746967603e-7, + 8.126255642561032e-7, + 7.841413020113619e-7, + 8.047742361430984e-7, + 7.980307402569788e-7, + 8.068857416238875e-7, + 8.011722153033018e-7, + 7.756248443242915e-7, + 7.754352237173841e-7, + 7.873023905713678e-7, + 7.766811457732147e-7, + 7.903543634762007e-7, + 7.754101789131557e-7, + 7.870791136356732e-7, + 7.965835636827557e-7, + 8.021569363020565e-7, + 7.739111357492179e-7, + 7.743837520123932e-7, + 8.089421038243067e-7, + 7.602471067100027e-7, + 8.049271741441633e-7, + 7.661421433127791e-7, + 7.810611615686036e-7, + 8.130398681692537e-7, + 7.737639044986483e-7, + 8.369929528264633e-7, + 7.73032395735245e-7, + 8.071874791166733e-7, + 8.115110632465244e-7, + 8.520954798090102e-7, + 8.220252594478166e-7, + 8.481922248497538e-7, + 7.803560874214879e-7, + 7.791700531698573e-7, + 7.631516470605956e-7, + 7.903650946664457e-7, + 7.634052507116928e-7, + 8.04220240695275e-7, + 7.591580334683918e-7, + 7.681067162717838e-7, + 7.895282493109005e-7, + 7.758381407118434e-7, + 7.811821933695833e-7, + 7.66942552454399e-7, + 8.010279857209561e-7, + 7.560718772122727e-7, + 8.01735852751126e-7, + 7.67451928725279e-7, + 7.86405476645931e-7, + 7.939078790799958e-7, + 7.83234820984772e-7, + 7.940365109728728e-7, + 7.680045939961742e-7, + 7.580530945459475e-7, + 7.769386211986564e-7, + 8.199918663674294e-7, + 7.626947628443614e-7, + 7.891710924673525e-7, + 7.773322890150774e-7, + 8.328938259703876e-7, + 8.237980750402916e-7, + 7.744145290777365e-7, + 7.70568134235062e-7, + 7.606262143965297e-7, + 8.517239686102031e-7, + 9.595793255109878e-7, + 8.674490518293142e-7, + 8.678750583663449e-7, + 8.753138226566853e-7, + 8.573721438146736e-7, + 8.180925125393501e-7, + 8.085743549577502e-7, + 7.790307571809432e-7, + 8.106008796373002e-7, + 7.726058953773855e-7, + 7.785728939163441e-7, + 8.13198053953096e-7, + 7.704481932792096e-7, + 7.644641894232652e-7, + 7.891944841921345e-7, + 7.99696344384028e-7, + 7.712669638957088e-7, + 8.097527225075688e-7, + 7.677950776460665e-7 + ], + "variance": 1.0021438494744394e-15 }, "times": { - "cycle": 0.05610971480035157, - "elapsed": 5.446, - "period": 0.0000016949015194185643, - "timeStamp": 1520291986613 + "cycle": 0.052758144757238785, + "elapsed": 5.435, + "period": 7.946580825298427e-7, + "timeStamp": 1619569501449 }, "running": false, - "count": 33105, - "cycles": 4, - "hz": 590004.7811291419 + "count": 66391, + "cycles": 7, + "hz": 1258402.8552461693 }, "4": { - "name": "dot-prop", + "name": "dot2val", "options": { "async": false, "defer": false, @@ -738,118 +761,122 @@ }, "id": 5, "stats": { - "moe": 7.414710587823082e-9, - "rme": 0.9352975969619083, - "sem": 3.783015606032185e-9, - "deviation": 3.588883721707176e-8, - "mean": 7.927648495952524e-7, + "moe": 3.3995558510484176e-9, + "rme": 0.7127229380093255, + "sem": 1.7344672709430702e-9, + "deviation": 1.6816284105397184e-8, + "mean": 4.769814004504422e-7, "sample": [ - 7.955971977631538e-7, - 7.581670489181278e-7, - 7.56323430002716e-7, - 7.688457162688235e-7, - 7.837978241844464e-7, - 7.756901348945288e-7, - 7.941608926577542e-7, - 7.812330325617889e-7, - 8.079914747864925e-7, - 7.616633370552555e-7, - 7.579112623351541e-7, - 7.989328696019555e-7, - 8.613814014545674e-7, - 7.760122068986329e-7, - 7.988263270664212e-7, - 7.621614392111613e-7, - 8.1486306214503e-7, - 8.177140159745845e-7, - 7.648907404354798e-7, - 7.913129297458893e-7, - 9.354070553064275e-7, - 7.608171748878924e-7, - 7.639108221225709e-7, - 7.910804633781764e-7, - 7.696697757847534e-7, - 7.841560837070254e-7, - 8.270549775784754e-7, - 9.119649925261584e-7, - 8.28356576980568e-7, - 7.650242301943199e-7, - 7.610063976083707e-7, - 7.70492735426009e-7, - 8.168708669656204e-7, - 7.669225112107624e-7, - 7.501392526158445e-7, - 7.751998654708521e-7, - 7.879023916292975e-7, - 7.981544095665172e-7, - 7.794851270553064e-7, - 7.934994170403587e-7, - 7.860422272047833e-7, - 7.671214200298953e-7, - 7.653695923090617e-7, - 7.971995133819951e-7, - 9.037788855260816e-7, - 7.860678298023856e-7, - 7.624149605364667e-7, - 7.737950121654501e-7, - 8.261561480030858e-7, - 8.05365823986707e-7, - 8.646980742982612e-7, - 8.094623316123672e-7, - 8.001300664648981e-7, - 7.650082932763634e-7, - 8.010116313571895e-7, - 7.645278915197911e-7, - 7.774589786956264e-7, - 7.628792653254999e-7, - 7.601461189246929e-7, - 7.723755266749748e-7, - 7.899692896564002e-7, - 8.960554121417127e-7, - 8.003886564595573e-7, - 7.906565930805294e-7, - 7.825051183906e-7, - 7.938863568927659e-7, - 7.92339697940775e-7, - 7.67925108302178e-7, - 7.571364755800844e-7, - 7.766809833244318e-7, - 8.049399887247047e-7, - 7.73797549106878e-7, - 7.782713192095425e-7, - 7.696258827369296e-7, - 7.672512017090974e-7, - 7.81672170791051e-7, - 7.756372025399086e-7, - 8.099051985045398e-7, - 8.137164114889324e-7, - 8.921461634324373e-7, - 8.008430656934307e-7, - 8.044549878345499e-7, - 8.197222420034419e-7, - 8.162678772773129e-7, - 8.018704824639487e-7, - 7.853390303246099e-7, - 7.699445285146282e-7, - 7.789651059284316e-7, - 7.698858524716634e-7, - 7.714354489347813e-7 - ], - "variance": 1.2880086367934753e-15 + 4.770371925047743e-7, + 4.727476501221845e-7, + 4.795535552484418e-7, + 4.579645619205389e-7, + 4.852278031502549e-7, + 4.697922497505972e-7, + 4.6481027997181064e-7, + 4.82443753946971e-7, + 4.760270819414064e-7, + 4.683105591199055e-7, + 4.6262865981457243e-7, + 4.78863647596123e-7, + 4.58032005930753e-7, + 4.846764170197966e-7, + 4.792771514759357e-7, + 4.768530808278728e-7, + 4.866314033920548e-7, + 4.611355637172255e-7, + 4.6762448622490363e-7, + 4.7592564273150636e-7, + 4.621050607416588e-7, + 4.84180137978802e-7, + 4.723446888874765e-7, + 4.7586216257933304e-7, + 4.978677011358581e-7, + 4.811796671418325e-7, + 4.6301000572014856e-7, + 4.81502900932475e-7, + 4.590379981296022e-7, + 4.75489272451583e-7, + 4.7095195075224493e-7, + 4.6842996449876063e-7, + 4.7538150666896684e-7, + 4.716670873548399e-7, + 4.7648966287442006e-7, + 4.646869081235189e-7, + 4.848290038769895e-7, + 4.5512292871605364e-7, + 4.823990938558342e-7, + 4.649672952776996e-7, + 4.766650626038479e-7, + 4.74537721201776e-7, + 4.722724243442258e-7, + 5.537576745326275e-7, + 4.593211636416463e-7, + 4.7096113022871515e-7, + 4.556243224347858e-7, + 4.869461761260974e-7, + 4.6694860037952734e-7, + 4.693639194820996e-7, + 4.792273078075488e-7, + 4.997232991637687e-7, + 4.843356365254184e-7, + 4.5558101273868e-7, + 4.939152237667632e-7, + 4.899768470178051e-7, + 4.917062295141505e-7, + 4.6035306935907096e-7, + 4.7123478939865804e-7, + 4.789321844611711e-7, + 4.842823120295632e-7, + 4.960553129284436e-7, + 4.6210336217619874e-7, + 4.640300080808447e-7, + 4.5846588339976577e-7, + 4.760429011140671e-7, + 4.615453299072973e-7, + 4.756139535306028e-7, + 4.782260457430291e-7, + 4.755919899761206e-7, + 4.781465719966951e-7, + 4.578773890699765e-7, + 4.653502546828041e-7, + 4.900148179086048e-7, + 5.435827560220453e-7, + 4.875246193377339e-7, + 4.731470259767381e-7, + 4.801391993607961e-7, + 4.8115537920953e-7, + 4.7446548389732787e-7, + 4.612100384067117e-7, + 4.6210750247419127e-7, + 4.864489590237613e-7, + 4.698026276364891e-7, + 4.577385892116183e-7, + 4.632988913807349e-7, + 4.872216784550151e-7, + 4.961734203764402e-7, + 4.88436329298964e-7, + 5.074244168626347e-7, + 5.353997475870961e-7, + 4.75232310667623e-7, + 4.929357618239102e-7, + 4.6500923395407534e-7 + ], + "variance": 2.82787411113434e-16 }, "times": { - "cycle": 0.053435521922118395, - "elapsed": 5.434, - "period": 7.927648495952524e-7, - "timeStamp": 1520291992060 + "cycle": 0.05253330050141035, + "elapsed": 5.477, + "period": 4.769814004504422e-7, + "timeStamp": 1619569506884 }, "running": false, - "count": 67404, - "cycles": 5, - "hz": 1261408.0966260699 + "count": 110137, + "cycles": 6, + "hz": 2096517.807729274 }, "5": { - "name": "dot2val", + "name": "es5-dot-prop", "options": { "async": false, "defer": false, @@ -882,117 +909,122 @@ }, "id": 6, "stats": { - "moe": 6.7220116987784645e-9, - "rme": 1.1244104457474562, - "sem": 3.4295978054992166e-9, - "deviation": 3.235476098762234e-8, - "mean": 5.978254403631035e-7, + "moe": 3.4726083151506347e-9, + "rme": 0.5651431015344126, + "sem": 1.7717389363013442e-9, + "deviation": 1.717764630821652e-8, + "mean": 6.144653107721215e-7, "sample": [ - 5.885101430932039e-7, - 5.897890102436971e-7, - 6.049883413630198e-7, - 7.055709107067683e-7, - 6.030639412507601e-7, - 5.87767458721175e-7, - 5.941401680203577e-7, - 5.822107458663041e-7, - 6.037151757848358e-7, - 5.972531324582339e-7, - 5.908173272648263e-7, - 5.916387713560369e-7, - 5.779275552912655e-7, - 5.921800311049104e-7, - 5.908588614687922e-7, - 5.830271253116209e-7, - 5.947724081147222e-7, - 6.064714909772889e-7, - 6.74797623676326e-7, - 5.829731377078425e-7, - 5.771044530338723e-7, - 5.855293209523592e-7, - 5.887664958946092e-7, - 5.826250829083092e-7, - 5.886296914667338e-7, - 5.975216362097751e-7, - 5.865682478329483e-7, - 6.026571369759623e-7, - 5.882005466230588e-7, - 6.016879788669578e-7, - 5.976759943279281e-7, - 6.078523431603504e-7, - 5.935583445783684e-7, - 5.829462868513139e-7, - 5.754429819545777e-7, - 5.778538183564714e-7, - 6.810667840724561e-7, - 5.90821112457974e-7, - 6.075399103446698e-7, - 5.769459268639823e-7, - 5.854432764398023e-7, - 5.844401833443534e-7, - 5.850001344824109e-7, - 6.026756396319665e-7, - 5.965420985980209e-7, - 6.05913471775504e-7, - 5.814649729354149e-7, - 5.727278188073652e-7, - 5.680677343075837e-7, - 5.824209411527384e-7, - 5.654854815030651e-7, - 5.814087480808239e-7, - 5.703740179982293e-7, - 6.516358776658336e-7, - 5.743208077910144e-7, - 5.737295558718383e-7, - 5.659587138998779e-7, - 5.808377581782116e-7, - 5.805166590086404e-7, - 5.786166130604835e-7, - 5.885527339153433e-7, - 5.868639822483217e-7, - 5.811952796673802e-7, - 5.740465197072766e-7, - 5.878640943169974e-7, - 5.8351329694837e-7, - 5.883738162746131e-7, - 5.810499265950174e-7, - 5.995813674619808e-7, - 6.360800282413063e-7, - 7.423337181024531e-7, - 5.723485111676436e-7, - 5.754409902388184e-7, - 6.156499086640293e-7, - 5.864601427754928e-7, - 5.859715345563762e-7, - 5.905538433952326e-7, - 5.887796169492665e-7, - 5.889316044872298e-7, - 6.710024318902624e-7, - 7.114787461756564e-7, - 5.919459492777174e-7, - 5.944737815333237e-7, - 5.822882966681983e-7, - 6.162613441516962e-7, - 5.922489157355627e-7, - 6.045916777801437e-7, - 6.818848606426018e-7, - 5.856493147000482e-7 - ], - "variance": 1.0468305585661686e-15 + 6.334104971525319e-7, + 5.925361646203573e-7, + 6.263837510803803e-7, + 5.9384453179574e-7, + 6.072682539870472e-7, + 6.211836705698489e-7, + 6.162411053622381e-7, + 6.131372112572667e-7, + 5.975264360236452e-7, + 6.096115729728457e-7, + 6.078741551070393e-7, + 6.104842090388827e-7, + 6.117962247709663e-7, + 5.94448576340642e-7, + 6.089356468288547e-7, + 6.750243399825723e-7, + 5.913870139657568e-7, + 6.15546901862886e-7, + 6.281663173264879e-7, + 6.017295518240267e-7, + 6.181961329219755e-7, + 6.69080026377146e-7, + 6.459257671745838e-7, + 6.288077883234026e-7, + 6.362444831727938e-7, + 5.926157532794799e-7, + 5.95717870516474e-7, + 6.253280304279221e-7, + 6.319017569063376e-7, + 6.020300746567439e-7, + 6.218076587927746e-7, + 6.176808718588823e-7, + 6.036726996538e-7, + 6.177665622571301e-7, + 5.963789712913025e-7, + 6.016942959421587e-7, + 6.243043380984904e-7, + 5.983769223522762e-7, + 6.299929229175007e-7, + 6.061530345493512e-7, + 5.938163726713926e-7, + 6.297722851557899e-7, + 6.099467864628718e-7, + 6.058104881613563e-7, + 6.110800350774627e-7, + 5.952923706518562e-7, + 6.405756679333529e-7, + 5.935401812335575e-7, + 6.175856767027185e-7, + 6.21394282373575e-7, + 6.484052616194095e-7, + 6.175379245834552e-7, + 5.971323589593686e-7, + 6.305728617363344e-7, + 5.952509792458345e-7, + 6.32929751534639e-7, + 5.927812803273896e-7, + 6.224057176264251e-7, + 6.305359017831043e-7, + 6.154309500146156e-7, + 5.98217760888629e-7, + 6.111108213972522e-7, + 6.671743700672318e-7, + 6.05709114294066e-7, + 6.324494942999124e-7, + 5.876788190587548e-7, + 6.173926220403391e-7, + 6.198509558608594e-7, + 6.067285121309559e-7, + 5.937744986845952e-7, + 6.013363577901199e-7, + 6.165304530838936e-7, + 5.927954399298451e-7, + 6.339455013154049e-7, + 6.185381116632563e-7, + 6.282665419467992e-7, + 6.167830458930137e-7, + 6.144222508038584e-7, + 6.005772113417129e-7, + 6.081927506577025e-7, + 6.221115229465068e-7, + 6.038058930137387e-7, + 6.200801520023386e-7, + 5.964038000584624e-7, + 6.134017071031863e-7, + 6.182913884828998e-7, + 6.097307804735458e-7, + 6.247939900613856e-7, + 6.058343525285005e-7, + 6.08869254603917e-7, + 6.043678105817013e-7, + 6.280313358667056e-7, + 5.949029874305759e-7, + 6.156303770827244e-7 + ], + "variance": 2.9507153269018455e-16 }, "times": { - "cycle": 0.05334456186904009, - "elapsed": 5.463, - "period": 5.978254403631035e-7, - "timeStamp": 1520291997494 + "cycle": 0.05255214570378569, + "elapsed": 5.564, + "period": 6.144653107721215e-7, + "timeStamp": 1619569512361 }, "running": false, - "count": 89231, - "cycles": 6, - "hz": 1672729.0819083012 + "count": 85525, + "cycles": 9, + "hz": 1627431.1705951723 }, "6": { - "name": "es5-dot-prop", + "name": "lodash-set", "options": { "async": false, "defer": false, @@ -1025,119 +1057,122 @@ }, "id": 7, "stats": { - "moe": 5.989138677117367e-9, - "rme": 0.7863845069575909, - "sem": 3.0556829985292692e-9, - "deviation": 2.914935799400349e-8, - "mean": 7.616043581896709e-7, + "moe": 7.268575801351865e-9, + "rme": 0.799627678707295, + "sem": 3.7084570415060534e-9, + "deviation": 3.595482500440529e-8, + "mean": 9.089950229214787e-7, "sample": [ - 7.552244331048643e-7, - 7.50361604670309e-7, - 7.65657331038096e-7, - 7.513229044819877e-7, - 7.434110191450613e-7, - 7.478712705628026e-7, - 7.637880124968537e-7, - 7.585478330396672e-7, - 7.505170647200793e-7, - 7.518807320431764e-7, - 7.581133008573078e-7, - 8.653393547240771e-7, - 7.547531427217673e-7, - 7.569712453914151e-7, - 7.501376282630262e-7, - 7.921743784888284e-7, - 7.664132105364468e-7, - 7.56759805736115e-7, - 7.720744603160693e-7, - 7.379508953349107e-7, - 7.534615137440481e-7, - 7.360648789180031e-7, - 7.375655069669618e-7, - 7.499884468203196e-7, - 7.657322612683668e-7, - 7.490559109631058e-7, - 7.785774983203343e-7, - 7.777426751964479e-7, - 8.044702772178891e-7, - 7.600882773931587e-7, - 7.880012543574335e-7, - 7.650603550123248e-7, - 7.64590991963361e-7, - 7.813004331908811e-7, - 7.447588716617319e-7, - 7.62519756129578e-7, - 7.794490937700332e-7, - 7.289897721312431e-7, - 7.421950579870622e-7, - 7.352295588320998e-7, - 7.440324319599044e-7, - 7.38250262253045e-7, - 7.476051780406783e-7, - 7.461106562153971e-7, - 9.235331750101988e-7, - 7.635980534996211e-7, - 7.667635206014337e-7, - 7.455895448452707e-7, - 7.487731802552596e-7, - 7.775406637915963e-7, - 7.435296345940906e-7, - 7.415669036657148e-7, - 7.485108106533014e-7, - 7.358292586980594e-7, - 7.493224983973425e-7, - 7.678495541698234e-7, - 7.552377178157235e-7, - 7.581223410455155e-7, - 7.383994259572236e-7, - 7.807460953435515e-7, - 7.411499067544729e-7, - 7.566338801794977e-7, - 8.436862433708258e-7, - 7.452828544786992e-7, - 7.451942129494726e-7, - 7.418229791945918e-7, - 7.768296083687861e-7, - 7.557209627600677e-7, - 7.625919051226762e-7, - 7.691700856693281e-7, - 7.56059050643977e-7, - 7.567018328573926e-7, - 7.379604289294248e-7, - 7.612720001165569e-7, - 7.51153636575558e-7, - 7.495821289119413e-7, - 7.679936185092371e-7, - 7.813116586048138e-7, - 7.696970103152864e-7, - 8.756894195465936e-7, - 7.586847718398508e-7, - 7.637420886998077e-7, - 7.508769741826448e-7, - 7.461009989220267e-7, - 7.549109306503773e-7, - 7.566540567732662e-7, - 7.517390729428673e-7, - 7.478270068271649e-7, - 7.559160905497664e-7, - 7.590233848365074e-7, - 7.399948688465684e-7 - ], - "variance": 8.496850714625752e-16 + 9.413496077039303e-7, + 9.583357634669907e-7, + 8.592743857162144e-7, + 8.742572060213312e-7, + 8.562928648575672e-7, + 9.010511340623734e-7, + 8.846937525313893e-7, + 9.282273018766032e-7, + 9.379915451599839e-7, + 9.06832725799919e-7, + 9.565453287430808e-7, + 9.211053226677468e-7, + 9.736811968408262e-7, + 8.99874713109221e-7, + 9.100176353449439e-7, + 9.671498582422034e-7, + 9.255050627784528e-7, + 8.589517517213447e-7, + 9.567678378560822e-7, + 9.504644255434048e-7, + 8.647751788848386e-7, + 8.897741663291481e-7, + 9.266927230997706e-7, + 9.552400938301607e-7, + 8.71597205346294e-7, + 8.831064533549345e-7, + 9.018553226677468e-7, + 8.512368367760227e-7, + 8.576067571216417e-7, + 8.570590657486162e-7, + 9.119566288645875e-7, + 9.200341906304847e-7, + 9.456570136357499e-7, + 8.889611347374105e-7, + 9.306479343863913e-7, + 9.108134197380856e-7, + 8.52573629674632e-7, + 8.856671391926556e-7, + 8.51854107600918e-7, + 9.355733934116376e-7, + 8.931794248683678e-7, + 8.894202949912245e-7, + 9.049733360334819e-7, + 9.550452106115837e-7, + 8.787791953557445e-7, + 8.622349297961388e-7, + 9.404158734980424e-7, + 9.22701397326853e-7, + 8.736286958282705e-7, + 9.228366747671122e-7, + 9.23430319292561e-7, + 9.581841838801135e-7, + 9.380934420143108e-7, + 8.840354394491698e-7, + 9.300048433913865e-7, + 8.482254455245038e-7, + 9.229877649520723e-7, + 8.827047725124882e-7, + 9.438803834210882e-7, + 9.503802146618064e-7, + 9.470937289050898e-7, + 9.28172066963683e-7, + 8.859585189685433e-7, + 9.471910355069529e-7, + 8.730772917510464e-7, + 9.615002531389225e-7, + 8.720343762656946e-7, + 9.448678614823815e-7, + 9.91516673417038e-7, + 8.747613743755908e-7, + 9.066828844336438e-7, + 9.213393580396922e-7, + 8.99953506817875e-7, + 9.579798838936142e-7, + 8.999313824760362e-7, + 8.681907317402458e-7, + 9.36043421763197e-7, + 9.42161620764142e-7, + 9.439925070878898e-7, + 8.49254117726475e-7, + 8.752789759686783e-7, + 8.934959329013096e-7, + 8.632056331848251e-7, + 9.199416092885109e-7, + 8.847674834615904e-7, + 8.76044181179965e-7, + 9.45806753746456e-7, + 8.951596631564736e-7, + 8.672607162143918e-7, + 9.096578405562306e-7, + 9.379677332253274e-7, + 8.569563082219522e-7, + 9.707889833940866e-7, + 9.113040873498042e-7 + ], + "variance": 1.2927494410974081e-15 }, "times": { - "cycle": 0.05298862322104635, - "elapsed": 5.597, - "period": 7.616043581896709e-7, - "timeStamp": 1520292002958 + "cycle": 0.05386340907823514, + "elapsed": 5.48, + "period": 9.089950229214787e-7, + "timeStamp": 1619569517926 }, "running": false, - "count": 69575, - "cycles": 7, - "hz": 1313017.6964546188 + "count": 59256, + "cycles": 5, + "hz": 1100116.0345037251 }, "7": { - "name": "lodash-set", + "name": "object-path-set", "options": { "async": false, "defer": false, @@ -1170,121 +1205,119 @@ }, "id": 8, "stats": { - "moe": 8.985234267768134e-9, - "rme": 0.9654310471533234, - "sem": 4.584303197840885e-9, - "deviation": 4.4209419022480685e-8, - "mean": 9.306966348619155e-7, + "moe": 4.3570818900570154e-9, + "rme": 0.5629621532956761, + "sem": 2.223000964314804e-9, + "deviation": 2.1206077646475642e-8, + "mean": 7.739564488571599e-7, "sample": [ - 0.0000010947250451752801, - 9.371947235272859e-7, - 0.0000011071602096132996, - 9.14466642573184e-7, - 9.271065761245368e-7, - 8.94306714419957e-7, - 9.576719561709898e-7, - 9.251422315207178e-7, - 9.381953334160741e-7, - 9.197478058899664e-7, - 9.139939717380897e-7, - 9.085051683480788e-7, - 9.232846758036205e-7, - 8.966802007056612e-7, - 8.995159837591533e-7, - 9.187803585042818e-7, - 9.103035761777274e-7, - 9.024062339320225e-7, - 9.396214783425826e-7, - 0.0000011130410099111717, - 9.066827715820642e-7, - 9.207541887555185e-7, - 9.445783585397422e-7, - 9.145726671512916e-7, - 9.139722168046665e-7, - 8.970330490594138e-7, - 9.245223666247053e-7, - 9.224768177869186e-7, - 8.890300349284587e-7, - 9.34383025123668e-7, - 9.306936756440489e-7, - 9.139814364993529e-7, - 9.086922217691176e-7, - 9.138714916402191e-7, - 8.900383326536764e-7, - 9.018917572383469e-7, - 9.246872573181326e-7, - 9.843285580042907e-7, - 9.251196432687364e-7, - 9.20276395808585e-7, - 9.406711051222496e-7, - 9.007169376429496e-7, - 9.386016914593713e-7, - 9.193074236272407e-7, - 9.340164713391607e-7, - 9.16254889097711e-7, - 9.271337742238613e-7, - 9.506792964663747e-7, - 8.946189251963617e-7, - 9.176174713214304e-7, - 9.183315898654278e-7, - 9.005301501746422e-7, - 9.684729703374053e-7, - 9.156982145706636e-7, - 0.0000010288759951064698, - 9.269553022109536e-7, - 9.017349337777699e-7, - 9.178101452101913e-7, - 9.207903051364337e-7, - 8.931783301714508e-7, - 9.361555646176486e-7, - 9.56802733994078e-7, - 9.200654421020903e-7, - 9.260859736529494e-7, - 8.952933104022978e-7, - 9.026884452403325e-7, - 9.088449140972678e-7, - 9.513608092055106e-7, - 9.578761192177443e-7, - 9.149713302955622e-7, - 9.270574103296041e-7, - 9.18146859098243e-7, - 0.0000010412346944203117, - 9.418387085335367e-7, - 8.981258133721033e-7, - 9.092668569706211e-7, - 8.952337192602969e-7, - 9.551948369709758e-7, - 9.086372759348239e-7, - 9.69390188117232e-7, - 9.180243790003723e-7, - 9.331280296448645e-7, - 9.052870871083845e-7, - 9.101712026382511e-7, - 9.034573855073491e-7, - 9.490287228949841e-7, - 9.066748816510346e-7, - 9.177397918476622e-7, - 8.979523412705449e-7, - 9.442071594475276e-7, - 0.0000010832264144252761, - 9.027338167762984e-7, - 8.934527401996418e-7 - ], - "variance": 1.9544727303052772e-15 + 7.986948299211344e-7, + 8.230612761889588e-7, + 7.627505982775703e-7, + 7.885312012246369e-7, + 7.590900018009365e-7, + 7.692063122823868e-7, + 7.802405300756393e-7, + 7.695358086204826e-7, + 7.6718284007684e-7, + 7.525202755432825e-7, + 7.576737153319727e-7, + 7.560123664305438e-7, + 7.515175141073358e-7, + 7.526179913555049e-7, + 7.580462990755192e-7, + 7.740961550006004e-7, + 7.685225867451074e-7, + 7.648285958698523e-7, + 7.509234301836956e-7, + 7.515896866370513e-7, + 7.821414785688558e-7, + 8.846879277224157e-7, + 7.891489524552767e-7, + 7.715571947412655e-7, + 7.601417637171328e-7, + 7.999105534878137e-7, + 7.854435706567415e-7, + 7.506408782566936e-7, + 7.534939518549645e-7, + 7.877640773202065e-7, + 8.025896673786089e-7, + 7.839708882658236e-7, + 8.21095850981328e-7, + 7.745375380301856e-7, + 7.76924133508322e-7, + 7.65611242021118e-7, + 7.701646632464355e-7, + 7.556052765018195e-7, + 7.863715027143113e-7, + 7.580987442581876e-7, + 7.964458032571735e-7, + 7.861092584859512e-7, + 7.705967458092227e-7, + 7.691737755771639e-7, + 7.671513153970052e-7, + 7.763838513392591e-7, + 7.62932380838752e-7, + 7.964246405774623e-7, + 7.655656057984847e-7, + 7.761740887669271e-7, + 7.977958897572034e-7, + 7.731475720336455e-7, + 7.703529499492931e-7, + 7.920551033187226e-7, + 7.461984822733102e-7, + 7.902422548230312e-7, + 7.46619673793124e-7, + 7.638911798908668e-7, + 7.95284834660226e-7, + 7.669489668127739e-7, + 7.852860720994723e-7, + 7.557924083847691e-7, + 7.744037140563204e-7, + 7.649463855600821e-7, + 7.569593802967677e-7, + 7.57705150316691e-7, + 8.032592405364418e-7, + 7.975038954473817e-7, + 8.059957031133843e-7, + 7.681087121543896e-7, + 7.69742357887361e-7, + 7.56486438352165e-7, + 7.712902542991445e-7, + 7.815799246737321e-7, + 7.920038685001897e-7, + 7.623930834136229e-7, + 7.944173308808501e-7, + 7.543666608274212e-7, + 7.576219234474906e-7, + 7.506294706723891e-7, + 7.483068669527897e-7, + 7.762649703658287e-7, + 7.712946921257773e-7, + 7.633184432571312e-7, + 7.627444016233103e-7, + 8.152252197016146e-7, + 7.579207176432804e-7, + 7.487247087676272e-7, + 7.738091442585618e-7, + 7.541949870076786e-7, + 7.71704475781729e-7 + ], + "variance": 4.49697729148354e-16 }, "times": { - "cycle": 0.0524922209028469, - "elapsed": 5.462, - "period": 9.306966348619155e-7, - "timeStamp": 1520292008556 + "cycle": 0.053017564659613166, + "elapsed": 5.442, + "period": 7.739564488571599e-7, + "timeStamp": 1619569523406 }, "running": false, - "count": 56401, - "cycles": 7, - "hz": 1074463.9687542943 + "count": 68502, + "cycles": 5, + "hz": 1292062.365365158 }, "8": { - "name": "object-path-set", + "name": "object-set", "options": { "async": false, "defer": false, @@ -1317,102 +1350,120 @@ }, "id": 9, "stats": { - "moe": 2.151186805239727e-8, - "rme": 2.067716700446938, - "sem": 1.0975442883876158e-8, - "deviation": 9.441432963695107e-8, - "mean": 0.0000010403682500483491, + "moe": 2.174802340085265e-8, + "rme": 0.6021325758184267, + "sem": 1.1095930306557474e-8, + "deviation": 1.064284246893386e-7, + "mean": 0.0000036118330537577114, "sample": [ - 7.832926776058468e-7, - 8.054399385655999e-7, - 7.905209995994207e-7, - 0.000001324929944843312, - 0.0000013202436600622439, - 9.977485132345238e-7, - 0.0000010096191877484363, - 9.959473084152466e-7, - 0.0000010198233907496996, - 0.0000011218407697285305, - 0.000001015137383292762, - 0.0000010145008011585987, - 0.0000010669602810217854, - 0.0000010442308569315626, - 0.000001105855776045358, - 0.0000011155259914337659, - 0.0000010181944812498074, - 0.0000010272695898684252, - 0.0000010153391828182295, - 0.0000010151433149477706, - 0.000001011612115983114, - 0.0000010137347702831786, - 0.0000010062268665454658, - 0.0000011897006902289464, - 0.0000010300332634887375, - 0.0000010186093427418112, - 0.0000010217000431393091, - 0.0000010342717930545712, - 0.0000010110784056943888, - 0.0000010354519304840846, - 0.000001013532107971528, - 0.0000010086023171971774, - 0.0000010257848272886943, - 0.0000010160919945767725, - 0.0000010125801620805472, - 0.0000011188179521153668, - 0.0000010336622500231105, - 0.0000011337665238960957, - 0.0000010104929128277818, - 0.0000010436943271808461, - 0.0000014734636859458294, - 9.994200844297908e-7, - 0.000001051053400301975, - 0.0000010348641419899546, - 0.0000010163410624595569, - 0.0000010262248944627615, - 0.0000010123371491079408, - 0.0000010455776353495824, - 0.0000010191906141188796, - 0.0000010101273842171757, - 0.0000010404344898776692, - 0.0000011828860197824545, - 0.0000010660214463994083, - 0.0000010081667488367794, - 0.0000010125211228545896, - 0.0000010017695898684252, - 0.0000010266581517887405, - 0.0000010538106184328105, - 9.991832650294273e-7, - 0.0000010874443811049827, - 0.000001008272517178689, - 0.0000010037726866545467, - 0.0000010400420608264258, - 0.0000010246931716636366, - 0.0000010462199334422088, - 0.0000011333356700459126, - 0.0000010052889563368564, - 0.0000010244453517394385, - 0.00000101907466181863, - 0.0000010183366560872648, - 0.000001010342541521585, - 0.0000010306443780236032, - 0.0000010388913967892029, - 0.0000010193859889686624 - ], - "variance": 8.914065640794856e-15 + 0.0000037526479146459747, + 0.000003657721629485936, + 0.0000034797703339337674, + 0.000003577516073160593, + 0.00000364403415546626, + 0.0000035132034086185396, + 0.000003595342178190384, + 0.0000035251650963004017, + 0.0000035684844810863242, + 0.000003812821047526673, + 0.000003602799778301233, + 0.0000034843669807399194, + 0.000003620262228072606, + 0.0000036796768740473884, + 0.0000035545830677566858, + 0.00000368448427324373, + 0.0000034755173202161566, + 0.0000036647902868227796, + 0.0000036564272550921438, + 0.00000362810994873216, + 0.000003520228765414992, + 0.000003504407648607455, + 0.0000035796999445753086, + 0.000003549905362338922, + 0.0000037268592905639463, + 0.000003495889081335735, + 0.0000036082726202023003, + 0.0000037194422890397672, + 0.0000036101013579049464, + 0.0000037427757378412083, + 0.0000035354666066232507, + 0.0000036289851046141057, + 0.0000035037827352085357, + 0.000003736881321878897, + 0.0000034731919772758766, + 0.0000036383485520299294, + 0.000003732568795898573, + 0.0000035987668006096715, + 0.000003593390189829569, + 0.000003474205902729666, + 0.0000036678947623666343, + 0.0000034857769848967717, + 0.000003661390397672163, + 0.000003585800955083397, + 0.000003530931552356564, + 0.0000035716628832445153, + 0.000003579275451588345, + 0.0000034713987819226243, + 0.000003525472212609869, + 0.000003487420167485639, + 0.0000036338326530612244, + 0.0000035532022137668626, + 0.0000034805674161189896, + 0.000003884308336215843, + 0.0000036085775856105155, + 0.000003783738775510204, + 0.000003935527568315462, + 0.0000038101190591490837, + 0.000003566802006226219, + 0.0000035623756485645108, + 0.000003634881286751989, + 0.000003488959598754756, + 0.0000036327111726046352, + 0.0000038452526461432034, + 0.000003476693462469734, + 0.0000035323741957800067, + 0.000003631233483223798, + 0.0000035172917329643723, + 0.00000372397315807679, + 0.0000035461696298858528, + 0.0000034749508128675198, + 0.0000037328817018332757, + 0.00000359229775164303, + 0.000003463139332965821, + 0.0000036332039691289964, + 0.0000035159864250275634, + 0.000003713427783902977, + 0.000003635923864495293, + 0.000003741934446505875, + 0.000003614164296021439, + 0.000003842225176939463, + 0.0000035293336769051055, + 0.0000036464531024531026, + 0.00000352356648113791, + 0.000003733931560502989, + 0.0000035385380333951763, + 0.0000036172226345083485, + 0.00000379318820861678, + 0.0000035735558991273275, + 0.0000035575990517419086, + 0.000003525489864632722, + 0.0000037231166769738197 + ], + "variance": 1.1327009581854217e-14 }, "times": { - "cycle": 0.06752614163763815, - "elapsed": 5.485, - "period": 0.0000010403682500483491, - "timeStamp": 1520292014019 + "cycle": 0.052563006431335976, + "elapsed": 5.372, + "period": 0.0000036118330537577114, + "timeStamp": 1619569528848 }, "running": false, - "count": 64906, + "count": 14553, "cycles": 5, - "hz": 961198.1141807499 + "hz": 276867.72481347417 }, "9": { - "name": "object-set", + "name": "set-value", "options": { "async": false, "defer": false, @@ -1445,258 +1496,117 @@ }, "id": 10, "stats": { - "moe": 2.657092709524813e-8, - "rme": 0.6866928455410857, - "sem": 1.355659545675925e-8, - "deviation": 1.2860915688254977e-7, - "mean": 0.000003869404970181586, + "moe": 1.8027634243507874e-9, + "rme": 0.4663886593508862, + "sem": 9.197772573218303e-10, + "deviation": 8.822193530180297e-9, + "mean": 3.865367195805856e-7, "sample": [ - 0.000004041539668631512, - 0.000003808679052520055, - 0.0000038457507189344635, - 0.000004054021113970032, - 0.000004078755486605116, - 0.000003940613790504898, - 0.000003859118764129616, - 0.000003818487090963675, - 0.000003812737916541579, - 0.0000038159823626538575, - 0.000003973882167517262, - 0.000003815135319723807, - 0.000004076333758631041, - 0.0000038113710597418194, - 0.00000385501651155809, - 0.000003816828880216151, - 0.0000038097536025217655, - 0.000003827179150405284, - 0.0000037900779795857104, - 0.000004072639597718403, - 0.000003841185830081056, - 0.000003812728384869408, - 0.000003934630216151306, - 0.000003936694843366321, - 0.0000038037505766798123, - 0.000003879374581442071, - 0.000003819126423096957, - 0.0000038113328372646777, - 0.000003899892923580624, - 0.0000038010732941439094, - 0.000003829649676315202, - 0.000003826799389835554, - 0.0000037537996130664486, - 0.0000038672627427635985, - 0.000003767237211374267, - 0.000003872142623802807, - 0.00000387567599673324, - 0.0000037619394906823077, - 0.0000038629712673546664, - 0.000003858066597371743, - 0.000003809956789665157, - 0.000003861880317766724, - 0.000003937068750464029, - 0.000003953853218501745, - 0.000003903211003044027, - 0.000003823876382804959, - 0.0000037651847947137875, - 0.000003813244190363056, - 0.0000037438517336105134, - 0.000003829066374638058, - 0.00000384320833023981, - 0.000003863739995545326, - 0.000003825612220654837, - 0.000004293643923082634, - 0.0000039829524092360235, - 0.000003839978023609771, - 0.000003851029252357265, - 0.0000037775447323483557, - 0.000003863845571311902, - 0.000003811848541094365, - 0.000003902482515405746, - 0.0000037637803845868294, - 0.0000037386749573093767, - 0.000003712285544583859, - 0.000003841953597149009, - 0.0000037969999257554385, - 0.0000038604261637835026, - 0.000003747893013586755, - 0.0000037393652832430024, - 0.000004311131190140323, - 0.000003792028509911649, - 0.000004218099264978841, - 0.00000402306503823595, - 0.000003861200757294528, - 0.0000037855175588388154, - 0.0000038212211745489645, - 0.000003957864086275669, - 0.0000037790726842960558, - 0.000003771306249076673, - 0.00000385185123356478, - 0.000003769606219530211, - 0.0000037950235633032942, - 0.000003956467720490471, - 0.0000038213485743832176, - 0.0000037304160880484564, - 0.0000038035843551484713, - 0.0000039233036637612645, - 0.000003858970601270498, - 0.000004464765844290146, - 0.0000037129064854483673 - ], - "variance": 1.6540315234040302e-14 + 3.8996462417541573e-7, + 3.8765444114094583e-7, + 3.971485661965546e-7, + 3.9097026213943323e-7, + 3.819436942423043e-7, + 3.871720610175684e-7, + 3.934244303768884e-7, + 3.8198425303535537e-7, + 4.0039192027158246e-7, + 3.971549856606273e-7, + 4.010014602825722e-7, + 3.855998599935266e-7, + 3.8213634071252757e-7, + 3.9731475863937795e-7, + 3.798125418702155e-7, + 3.877581576352455e-7, + 3.901196568399934e-7, + 4.0464489227590543e-7, + 3.9154970729589315e-7, + 3.9721046248746087e-7, + 3.8521350181910737e-7, + 3.90185548951206e-7, + 4.1087499815370074e-7, + 3.791850508840081e-7, + 3.8430091724148116e-7, + 4.0244715152947436e-7, + 3.912175531364932e-7, + 3.908832474188736e-7, + 3.791730647090971e-7, + 3.9896428518677166e-7, + 3.771044931539223e-7, + 3.93259286885367e-7, + 3.793589279647874e-7, + 3.872484158752197e-7, + 3.9475987770113586e-7, + 3.8476342259574907e-7, + 3.9052170509430894e-7, + 3.775346144188588e-7, + 3.7347125681284434e-7, + 3.7922765608614093e-7, + 3.930273473849017e-7, + 3.871051208956767e-7, + 3.9362511262425594e-7, + 3.9419274625939767e-7, + 3.832158028447779e-7, + 3.82818951892826e-7, + 3.8552308612616873e-7, + 3.7509933828633885e-7, + 3.833825088991625e-7, + 3.7894724753703674e-7, + 3.8835411281627103e-7, + 3.8299220123185087e-7, + 3.921026690102359e-7, + 3.847412670044163e-7, + 3.9679678153109906e-7, + 3.7473154069982126e-7, + 3.7773746362790425e-7, + 3.879946383468975e-7, + 3.7120315938732404e-7, + 3.934693883579753e-7, + 3.8420118015449834e-7, + 3.7316557611922666e-7, + 4.0476000324948677e-7, + 3.8081130082861907e-7, + 3.7202635776848885e-7, + 3.7778167141781013e-7, + 3.912717161721046e-7, + 3.7688491647342065e-7, + 3.9409295747603504e-7, + 3.8051073807659924e-7, + 3.920343485517628e-7, + 3.988753304875707e-7, + 3.7699257049170643e-7, + 3.980123037383868e-7, + 3.7746881231260067e-7, + 3.8788794440423617e-7, + 3.6937816640326133e-7, + 3.8914206165162553e-7, + 3.724103363218764e-7, + 3.877654756805459e-7, + 3.913993471485754e-7, + 3.8522177008404353e-7, + 3.757034030988287e-7, + 3.792291109699718e-7, + 3.855774707176934e-7, + 3.724729554081798e-7, + 3.9659173153331467e-7, + 3.74844519445224e-7, + 3.840372361638332e-7, + 3.899965954241319e-7, + 3.722904598023721e-7, + 3.8682729716556134e-7 + ], + "variance": 7.78310986839551e-17 }, "times": { - "cycle": 0.05238400448631831, - "elapsed": 5.461, - "period": 0.000003869404970181586, - "timeStamp": 1520292019504 + "cycle": 0.05233939105152877, + "elapsed": 5.372, + "period": 3.865367195805856e-7, + "timeStamp": 1619569534220 }, "running": false, - "count": 13538, + "count": 135406, "cycles": 5, - "hz": 258437.66876462955 - }, - "10": { - "name": "set-value", - "options": { - "async": false, - "defer": false, - "delay": 0.005, - "initCount": 1, - "maxTime": 5, - "minSamples": 5, - "minTime": 0.05 - }, - "async": false, - "defer": false, - "delay": 0.005, - "initCount": 1, - "maxTime": 5, - "minSamples": 5, - "minTime": 0.05, - "events": { - "abort": [ - null - ], - "complete": [ - null - ], - "cycle": [ - null - ], - "error": [ - null - ] - }, - "id": 11, - "stats": { - "moe": 1.0473373404159303e-8, - "rme": 2.07042106589812, - "sem": 5.343557859264951e-9, - "deviation": 5.041102402235832e-8, - "mean": 5.058571696678568e-7, - "sample": [ - 4.860771418414503e-7, - 4.858021636994264e-7, - 4.851472410910733e-7, - 5.095856208145579e-7, - 4.906637426619651e-7, - 4.846320365868891e-7, - 5.002442616808063e-7, - 5.007586495133597e-7, - 5.319923328945725e-7, - 5.003796081897753e-7, - 4.838475129946868e-7, - 6.026403282059165e-7, - 4.973327024144656e-7, - 5.998976470249133e-7, - 5.286715923175219e-7, - 5.095783284172904e-7, - 4.870681968851183e-7, - 5.01226352552339e-7, - 4.837831688780853e-7, - 4.841233270241446e-7, - 4.869737704288006e-7, - 4.898819477137999e-7, - 5.130390849434575e-7, - 4.945369087537591e-7, - 4.942265831419759e-7, - 4.858951650818933e-7, - 4.947383540745148e-7, - 4.860939639434049e-7, - 4.922837174806025e-7, - 5.143223984481971e-7, - 5.152326277955271e-7, - 4.921749296363913e-7, - 4.909215540848928e-7, - 4.846691198843754e-7, - 4.900430454130533e-7, - 4.820659896546478e-7, - 4.810340597900502e-7, - 4.906969705613874e-7, - 4.808385155180283e-7, - 4.900725410771338e-7, - 4.824076335006846e-7, - 5.060434447740757e-7, - 7.035069507835083e-7, - 4.810958561539632e-7, - 4.861473832344439e-7, - 4.832952989502511e-7, - 4.761129050661798e-7, - 5.560884299406664e-7, - 4.80714561463563e-7, - 4.858543948729652e-7, - 4.875084341244485e-7, - 4.857468336376084e-7, - 4.82427592043207e-7, - 4.852524912520919e-7, - 4.8682601171459e-7, - 4.908206393579797e-7, - 4.924378898524266e-7, - 4.954480925756884e-7, - 4.821539441655256e-7, - 4.844749733759319e-7, - 4.839750684618895e-7, - 4.917574071961052e-7, - 4.803415012171002e-7, - 4.7552547352806936e-7, - 5.577850957605845e-7, - 7.308751868671199e-7, - 7.887435289914347e-7, - 5.754644740924604e-7, - 4.912737238973664e-7, - 4.865850562716836e-7, - 4.929196494889948e-7, - 4.913914008217452e-7, - 4.95587641854474e-7, - 5.01680920279431e-7, - 5.032684963190703e-7, - 4.946826126608938e-7, - 4.911951503868972e-7, - 5.021830216530806e-7, - 4.902087928619111e-7, - 4.779086678137252e-7, - 5.311040626557226e-7, - 5.136056939234103e-7, - 4.906109497080642e-7, - 4.888221307082616e-7, - 5.055823954719394e-7, - 4.835552139452233e-7, - 4.880644609294935e-7, - 4.834071305672298e-7, - 5.156262281518254e-7 - ], - "variance": 2.5412713429827877e-15 - }, - "times": { - "cycle": 0.053802462708703584, - "elapsed": 5.377, - "period": 5.058571696678568e-7, - "timeStamp": 1520292024965 - }, - "running": false, - "count": 106359, - "cycles": 6, - "hz": 1976842.595028543 + "hz": 2587076.335425667 }, "name": "(194 bytes)", "options": { @@ -1711,7 +1621,7 @@ null ] }, - "length": 11, + "length": 10, "running": false } }, @@ -1722,16 +1632,16 @@ "stat": null, "_contents": null, "history": [ - "/Users/jonschlinkert/dev/js-utils/objects/set-value/benchmark/code/deep-object.js" + "/Users/jonschlinkert/dev/js-utils/objects/set-value-master/benchmark/code/deep-object.js" ], - "_cwd": "/Users/jonschlinkert/dev/js-utils/objects/set-value", + "_cwd": "/Users/jonschlinkert/dev/js-utils/objects/set-value-master", "_isVinyl": true, "_symlink": null, "key": "deep-object" }, - "runs": 88, - "hz": 629743.7741389092, - "ops": "629,744", + "runs": 94, + "hz": 879975.3970835425, + "ops": "879,975", "rme": "0.85" }, { @@ -1740,35 +1650,17 @@ "stat": null, "_contents": null, "history": [ - "/Users/jonschlinkert/dev/js-utils/objects/set-value/benchmark/code/deep-property.js" + "/Users/jonschlinkert/dev/js-utils/objects/set-value-master/benchmark/code/deep-property.js" ], - "_cwd": "/Users/jonschlinkert/dev/js-utils/objects/set-value", + "_cwd": "/Users/jonschlinkert/dev/js-utils/objects/set-value-master", "_isVinyl": true, "_symlink": null, "key": "deep-property" }, - "runs": 89, - "hz": 1470426.5045671854, - "ops": "1,470,427", - "rme": "0.94" - }, - { - "name": "deep-set", - "file": { - "stat": null, - "_contents": null, - "history": [ - "/Users/jonschlinkert/dev/js-utils/objects/set-value/benchmark/code/deep-set.js" - ], - "_cwd": "/Users/jonschlinkert/dev/js-utils/objects/set-value", - "_isVinyl": true, - "_symlink": null, - "key": "deep-set" - }, - "runs": 91, - "hz": 1401089.0348102814, - "ops": "1,401,089", - "rme": "1.02" + "runs": 96, + "hz": 1746616.5691273704, + "ops": "1,746,617", + "rme": "0.59" }, { "name": "deephas", @@ -1776,17 +1668,17 @@ "stat": null, "_contents": null, "history": [ - "/Users/jonschlinkert/dev/js-utils/objects/set-value/benchmark/code/deephas.js" + "/Users/jonschlinkert/dev/js-utils/objects/set-value-master/benchmark/code/deephas.js" ], - "_cwd": "/Users/jonschlinkert/dev/js-utils/objects/set-value", + "_cwd": "/Users/jonschlinkert/dev/js-utils/objects/set-value-master", "_isVinyl": true, "_symlink": null, "key": "deephas" }, - "runs": 86, - "hz": 590004.7811291419, - "ops": "590,005", - "rme": "1.73" + "runs": 94, + "hz": 792449.1834192864, + "ops": "792,449", + "rme": "0.61" }, { "name": "dot-prop", @@ -1794,17 +1686,17 @@ "stat": null, "_contents": null, "history": [ - "/Users/jonschlinkert/dev/js-utils/objects/set-value/benchmark/code/dot-prop.js" + "/Users/jonschlinkert/dev/js-utils/objects/set-value-master/benchmark/code/dot-prop.js" ], - "_cwd": "/Users/jonschlinkert/dev/js-utils/objects/set-value", + "_cwd": "/Users/jonschlinkert/dev/js-utils/objects/set-value-master", "_isVinyl": true, "_symlink": null, "key": "dot-prop" }, - "runs": 90, - "hz": 1261408.0966260699, - "ops": "1,261,408", - "rme": "0.94" + "runs": 93, + "hz": 1258402.8552461693, + "ops": "1,258,403", + "rme": "0.81" }, { "name": "dot2val", @@ -1812,17 +1704,17 @@ "stat": null, "_contents": null, "history": [ - "/Users/jonschlinkert/dev/js-utils/objects/set-value/benchmark/code/dot2val.js" + "/Users/jonschlinkert/dev/js-utils/objects/set-value-master/benchmark/code/dot2val.js" ], - "_cwd": "/Users/jonschlinkert/dev/js-utils/objects/set-value", + "_cwd": "/Users/jonschlinkert/dev/js-utils/objects/set-value-master", "_isVinyl": true, "_symlink": null, "key": "dot2val" }, - "runs": 89, - "hz": 1672729.0819083012, - "ops": "1,672,729", - "rme": "1.12" + "runs": 94, + "hz": 2096517.807729274, + "ops": "2,096,518", + "rme": "0.71" }, { "name": "es5-dot-prop", @@ -1830,17 +1722,17 @@ "stat": null, "_contents": null, "history": [ - "/Users/jonschlinkert/dev/js-utils/objects/set-value/benchmark/code/es5-dot-prop.js" + "/Users/jonschlinkert/dev/js-utils/objects/set-value-master/benchmark/code/es5-dot-prop.js" ], - "_cwd": "/Users/jonschlinkert/dev/js-utils/objects/set-value", + "_cwd": "/Users/jonschlinkert/dev/js-utils/objects/set-value-master", "_isVinyl": true, "_symlink": null, "key": "es5-dot-prop" }, - "runs": 91, - "hz": 1313017.6964546188, - "ops": "1,313,018", - "rme": "0.79" + "runs": 94, + "hz": 1627431.1705951723, + "ops": "1,627,431", + "rme": "0.57" }, { "name": "lodash-set", @@ -1848,17 +1740,17 @@ "stat": null, "_contents": null, "history": [ - "/Users/jonschlinkert/dev/js-utils/objects/set-value/benchmark/code/lodash-set.js" + "/Users/jonschlinkert/dev/js-utils/objects/set-value-master/benchmark/code/lodash-set.js" ], - "_cwd": "/Users/jonschlinkert/dev/js-utils/objects/set-value", + "_cwd": "/Users/jonschlinkert/dev/js-utils/objects/set-value-master", "_isVinyl": true, "_symlink": null, "key": "lodash-set" }, - "runs": 93, - "hz": 1074463.9687542943, - "ops": "1,074,464", - "rme": "0.97" + "runs": 94, + "hz": 1100116.0345037251, + "ops": "1,100,116", + "rme": "0.80" }, { "name": "object-path-set", @@ -1866,17 +1758,17 @@ "stat": null, "_contents": null, "history": [ - "/Users/jonschlinkert/dev/js-utils/objects/set-value/benchmark/code/object-path-set.js" + "/Users/jonschlinkert/dev/js-utils/objects/set-value-master/benchmark/code/object-path-set.js" ], - "_cwd": "/Users/jonschlinkert/dev/js-utils/objects/set-value", + "_cwd": "/Users/jonschlinkert/dev/js-utils/objects/set-value-master", "_isVinyl": true, "_symlink": null, "key": "object-path-set" }, - "runs": 74, - "hz": 961198.1141807499, - "ops": "961,198", - "rme": "2.07" + "runs": 91, + "hz": 1292062.365365158, + "ops": "1,292,062", + "rme": "0.56" }, { "name": "object-set", @@ -1884,17 +1776,17 @@ "stat": null, "_contents": null, "history": [ - "/Users/jonschlinkert/dev/js-utils/objects/set-value/benchmark/code/object-set.js" + "/Users/jonschlinkert/dev/js-utils/objects/set-value-master/benchmark/code/object-set.js" ], - "_cwd": "/Users/jonschlinkert/dev/js-utils/objects/set-value", + "_cwd": "/Users/jonschlinkert/dev/js-utils/objects/set-value-master", "_isVinyl": true, "_symlink": null, "key": "object-set" }, - "runs": 90, - "hz": 258437.66876462955, - "ops": "258,438", - "rme": "0.69" + "runs": 92, + "hz": 276867.72481347417, + "ops": "276,868", + "rme": "0.60" }, { "name": "set-value", @@ -1902,17 +1794,17 @@ "stat": null, "_contents": null, "history": [ - "/Users/jonschlinkert/dev/js-utils/objects/set-value/benchmark/code/set-value.js" + "/Users/jonschlinkert/dev/js-utils/objects/set-value-master/benchmark/code/set-value.js" ], - "_cwd": "/Users/jonschlinkert/dev/js-utils/objects/set-value", + "_cwd": "/Users/jonschlinkert/dev/js-utils/objects/set-value-master", "_isVinyl": true, "_symlink": null, "key": "set-value" }, - "runs": 89, - "hz": 1976842.595028543, - "ops": "1,976,843", - "rme": "2.07" + "runs": 92, + "hz": 2587076.335425667, + "ops": "2,587,076", + "rme": "0.47" } ], "fastest": [ @@ -1925,9 +1817,9 @@ "stat": null, "_contents": null, "history": [ - "/Users/jonschlinkert/dev/js-utils/objects/set-value/benchmark/fixtures/medium.js" + "/Users/jonschlinkert/dev/js-utils/objects/set-value-master/benchmark/fixtures/medium.js" ], - "_cwd": "/Users/jonschlinkert/dev/js-utils/objects/set-value", + "_cwd": "/Users/jonschlinkert/dev/js-utils/objects/set-value-master", "_isVinyl": true, "_symlink": null, "key": "medium", @@ -1990,120 +1882,119 @@ null ] }, - "id": 12, + "id": 11, "stats": { - "moe": 3.213177792122247e-9, - "rme": 1.0440536250699, - "sem": 1.6393764245521668e-9, - "deviation": 1.5809573704186413e-8, - "mean": 3.0775984249919374e-7, + "moe": 1.074817145035453e-9, + "rme": 0.6258978335878399, + "sem": 5.483760944058434e-10, + "deviation": 5.259838720365311e-9, + "mean": 1.7172405580544492e-7, "sample": [ - 3.116084651692322e-7, - 3.000907295842129e-7, - 3.094510863119945e-7, - 3.1144564882237136e-7, - 3.07608121249496e-7, - 3.0245687824341956e-7, - 2.985289750355423e-7, - 3.0885277581133027e-7, - 3.466973256963662e-7, - 2.975178179648146e-7, - 3.0038471709483217e-7, - 3.048825377509171e-7, - 3.0139174950123743e-7, - 3.130019891998151e-7, - 3.0086208994693515e-7, - 2.995665065555835e-7, - 3.151366755790619e-7, - 2.991487979967588e-7, - 2.976463378246345e-7, - 3.0031555729773055e-7, - 3.009601399460576e-7, - 3.025614048431165e-7, - 3.0788920742088545e-7, - 3.0655640259064024e-7, - 2.991661917939657e-7, - 3.0641764420236013e-7, - 3.642574024560767e-7, - 3.0322487903909947e-7, - 3.0182204852477434e-7, - 3.023555051104883e-7, - 2.975271379510072e-7, - 3.0351007763729865e-7, - 2.93341931747044e-7, - 2.9852750653803175e-7, - 3.0143723196995134e-7, - 2.970247304341721e-7, - 3.093395330060905e-7, - 2.996221280927669e-7, - 3.1058667353135624e-7, - 3.113252107674216e-7, - 3.0348892776279377e-7, - 3.0342676526857125e-7, - 2.960774734822113e-7, - 3.126627136195831e-7, - 3.0263144222837183e-7, - 3.0771785540857577e-7, - 3.0270145036068875e-7, - 3.032892296531187e-7, - 3.1038452402543836e-7, - 3.08357143275042e-7, - 3.1790528483586176e-7, - 2.9685381721593934e-7, - 3.024484007418545e-7, - 2.9397202248965906e-7, - 3.047341492952967e-7, - 3.2027277780053005e-7, - 3.100629757259117e-7, - 3.0878174967675506e-7, - 2.966238423149605e-7, - 2.994884187616646e-7, - 3.101960063888417e-7, - 4.099832029627376e-7, - 3.1300714356757135e-7, - 3.046572257683284e-7, - 2.97519877371682e-7, - 3.1459668973748414e-7, - 2.9990124793035463e-7, - 3.174879331628862e-7, - 2.9880166507725703e-7, - 3.0174907414449783e-7, - 3.109570274334057e-7, - 2.9768878383833656e-7, - 3.1523020307389875e-7, - 3.103102157111682e-7, - 2.953549024999561e-7, - 2.9982101882134057e-7, - 3.160100805625925e-7, - 3.1456524867922986e-7, - 3.0901486049273647e-7, - 3.6043033412706304e-7, - 2.9994157603131234e-7, - 3.073386144638229e-7, - 3.029569338240026e-7, - 3.09830760049847e-7, - 3.0032455550160014e-7, - 2.9418685021910447e-7, - 3.137103900586814e-7, - 3.315355452455199e-7, - 3.115194736811313e-7, - 2.968964855519737e-7, - 3.012618957074238e-7, - 2.959532304019939e-7, - 3.129975661555203e-7 - ], - "variance": 2.4994262070810245e-16 + 1.7654118094808507e-7, + 1.7596267127565125e-7, + 1.6896025769410507e-7, + 1.7838323319313708e-7, + 1.7219908538620736e-7, + 1.6752597636691366e-7, + 1.6793157420388545e-7, + 1.7369011950063421e-7, + 1.7375553068384125e-7, + 1.6617006361922714e-7, + 1.7229183684155408e-7, + 1.7191196067651063e-7, + 1.6815192363074668e-7, + 1.7942902070897476e-7, + 1.704104094669599e-7, + 1.872418119698398e-7, + 1.7343166211591848e-7, + 1.6538709088121404e-7, + 1.7054482079186278e-7, + 1.7341315247779267e-7, + 1.7295648571326044e-7, + 1.74043618676662e-7, + 1.6539142632518112e-7, + 1.6725305422077816e-7, + 1.6467925543887806e-7, + 1.696152350567457e-7, + 1.871965433886926e-7, + 1.9370153616295268e-7, + 1.7376893290663952e-7, + 1.6843761234149858e-7, + 1.7560099235670035e-7, + 1.662048032413071e-7, + 1.7274207533690215e-7, + 1.652512469702456e-7, + 1.7277914354592992e-7, + 1.6907311861631157e-7, + 1.678480017485312e-7, + 1.8070162750413484e-7, + 1.8200856976019677e-7, + 1.6954668023735658e-7, + 1.670760578450658e-7, + 1.7475967482539154e-7, + 1.64906052331973e-7, + 1.834687792577224e-7, + 1.6438763892830696e-7, + 1.7192505129786033e-7, + 1.7247974019958047e-7, + 1.6974968275250127e-7, + 1.7620380827485864e-7, + 1.6577538550872143e-7, + 1.7338475841888414e-7, + 1.6770930342562055e-7, + 1.7220032099901156e-7, + 1.655083495627041e-7, + 1.7047432823453804e-7, + 1.7262417344385616e-7, + 1.7211257474481557e-7, + 1.708018353053242e-7, + 1.6679689961930302e-7, + 1.6849398289962582e-7, + 1.7420120148476164e-7, + 1.6847027220630372e-7, + 1.6981571047147696e-7, + 1.744744399583225e-7, + 1.7303953177910915e-7, + 1.7615332117738993e-7, + 1.7660522597030476e-7, + 1.6739634996092735e-7, + 1.6844468286011983e-7, + 1.7549478054180777e-7, + 1.764720890856994e-7, + 1.7260341560302163e-7, + 1.7229525266996615e-7, + 1.70174889294087e-7, + 1.804405769731701e-7, + 1.6449562060432404e-7, + 1.7167287705131543e-7, + 1.651302682990362e-7, + 1.715834657462881e-7, + 1.6582736389684813e-7, + 1.694020154988278e-7, + 1.7242399062255797e-7, + 1.6833210471476948e-7, + 1.715276243813493e-7, + 1.6898180190153686e-7, + 1.6849852826256837e-7, + 1.714970630372493e-7, + 1.7061706173482677e-7, + 1.7088432534514194e-7, + 1.7097950312581402e-7, + 1.6804222453764e-7, + 1.6966381544673091e-7 + ], + "variance": 2.766590336425419e-17 }, "times": { - "cycle": 0.05260323555948969, - "elapsed": 5.324, - "period": 3.0775984249919374e-7, - "timeStamp": 1520292030347 + "cycle": 0.05273989201896825, + "elapsed": 5.419, + "period": 1.7172405580544492e-7, + "timeStamp": 1619569539596 }, "running": false, - "count": 170923, - "cycles": 3, - "hz": 3249286.8201367753 + "count": 307120, + "cycles": 5, + "hz": 5823295.957631887 }, "1": { "name": "deep-property", @@ -2137,264 +2028,120 @@ null ] }, - "id": 13, + "id": 12, "stats": { - "moe": 3.768150908658016e-9, - "rme": 1.284678247768561, - "sem": 1.9225259738051102e-9, - "deviation": 1.803489225241075e-8, - "mean": 2.9331475917827336e-7, + "moe": 1.7081938986380739e-9, + "rme": 0.6911348870636211, + "sem": 8.715274993051398e-10, + "deviation": 8.313842467000526e-9, + "mean": 2.471578168909348e-7, "sample": [ - 2.8915799877232207e-7, - 2.966866492839484e-7, - 3.4276736066136925e-7, - 2.9509310641940404e-7, - 2.847313243716598e-7, - 2.9627429591543664e-7, - 2.8918345901076187e-7, - 2.9526437875554006e-7, - 2.855453649526105e-7, - 2.8960976172911113e-7, - 2.858704630823727e-7, - 2.820074167516092e-7, - 2.8608985138339033e-7, - 2.83259828462981e-7, - 2.9428886510348496e-7, - 2.9833454601921073e-7, - 2.8393731005568e-7, - 2.813126566694026e-7, - 2.855745801814592e-7, - 3.2087476984848823e-7, - 3.006059306994388e-7, - 3.006535526520109e-7, - 2.9492631269549015e-7, - 2.8864694758091354e-7, - 2.840142705488162e-7, - 2.94965236233714e-7, - 2.782010950172854e-7, - 2.8027277288591637e-7, - 2.861133447650344e-7, - 2.803483268731357e-7, - 2.9298463888138417e-7, - 2.854920685681519e-7, - 2.8291256954131677e-7, - 3.044784749249567e-7, - 2.803476200556922e-7, - 2.782315838612147e-7, - 2.792737220928528e-7, - 2.77596264391213e-7, - 2.8104401634939505e-7, - 2.770958328583758e-7, - 2.988936095143491e-7, - 3.204562577689481e-7, - 4.040425019134003e-7, - 2.9050307501072047e-7, - 2.817194710872999e-7, - 2.8058298729285065e-7, - 2.769063546602832e-7, - 2.8230301204492287e-7, - 2.943508171983477e-7, - 3.036338104620929e-7, - 3.032785042366211e-7, - 3.249788304645899e-7, - 2.877874687206544e-7, - 2.9374555846862836e-7, - 2.884903841456464e-7, - 2.999956141065099e-7, - 2.9247062591259697e-7, - 2.946474186737015e-7, - 3.0839433959191646e-7, - 3.0066769800300714e-7, - 2.920725192289947e-7, - 2.764961650572392e-7, - 2.9189670895145663e-7, - 2.728127581733405e-7, - 2.939321055002796e-7, - 2.934139404104719e-7, - 2.835956673017527e-7, - 3.0313570757815085e-7, - 3.5440035391120735e-7, - 2.8482291955033735e-7, - 2.8715095507173215e-7, - 3.0159719259391947e-7, - 2.925368539899146e-7, - 3.012884430620919e-7, - 2.9645447735673923e-7, - 2.864311420150141e-7, - 2.923820069805186e-7, - 2.893270041850543e-7, - 2.820778550375352e-7, - 2.9479816747816554e-7, - 2.8480557681555907e-7, - 2.816293974281728e-7, - 2.9131203895194514e-7, - 2.784367872244568e-7, - 2.8226011930933034e-7, - 3.2131301057933964e-7, - 2.8318708441216543e-7, - 2.9621494134953075e-7 - ], - "variance": 3.252573385560653e-16 + 2.718355105179482e-7, + 2.46266847823523e-7, + 2.590610602393724e-7, + 2.418352321779866e-7, + 2.4472330177241225e-7, + 2.5007332606818854e-7, + 2.5072084860664904e-7, + 2.4754243740889087e-7, + 2.4570642180217623e-7, + 2.4926323615639e-7, + 2.3490500738794942e-7, + 2.4570851138682363e-7, + 2.5245562305040225e-7, + 2.4728634753852287e-7, + 2.423700307244881e-7, + 2.3942098646715295e-7, + 2.426286652438023e-7, + 2.487287143763056e-7, + 2.358684301327962e-7, + 2.4434920079826915e-7, + 2.4132442274694123e-7, + 2.431888009176365e-7, + 2.4099799966427934e-7, + 2.3816369647120263e-7, + 2.3510677316472693e-7, + 2.435307277678305e-7, + 2.418226182482841e-7, + 2.3456001473440764e-7, + 2.4457294930617724e-7, + 2.4228047597732017e-7, + 2.469324548642196e-7, + 2.4491463835422264e-7, + 2.4151955705793217e-7, + 2.9125257489217857e-7, + 2.7053912577223453e-7, + 2.474821354470218e-7, + 2.498501270544353e-7, + 2.497643781326495e-7, + 2.4493855694136846e-7, + 2.5736491898822706e-7, + 2.389906935540273e-7, + 2.494574798927614e-7, + 2.3363955239538408e-7, + 2.50558643198508e-7, + 2.405308730621285e-7, + 2.4149157244434084e-7, + 2.4771740296071805e-7, + 2.479584193962e-7, + 2.427686630143373e-7, + 2.3805416015852663e-7, + 2.379050891712321e-7, + 2.399936216342231e-7, + 2.5046182072502623e-7, + 2.3716223336053154e-7, + 2.4380767921669195e-7, + 2.4787280568830863e-7, + 2.427561254225434e-7, + 2.5281335820025643e-7, + 2.4819817694369975e-7, + 2.402580300734351e-7, + 2.504332999184054e-7, + 2.440781116680266e-7, + 2.39459773866418e-7, + 2.4440993122741576e-7, + 2.48241692504954e-7, + 2.506925702296305e-7, + 2.549410234293041e-7, + 2.464563095931927e-7, + 2.457699965030889e-7, + 2.441695722112134e-7, + 2.5657448187434434e-7, + 2.453301410420795e-7, + 2.5396875626529896e-7, + 2.535656370206318e-7, + 2.5266645996036836e-7, + 2.52729716750204e-7, + 2.441295022729922e-7, + 2.561246765357268e-7, + 2.388645436531064e-7, + 2.562750576990325e-7, + 2.4576099778528966e-7, + 2.4846805921436064e-7, + 2.5560030306562533e-7, + 2.468412542254342e-7, + 2.487156591677352e-7, + 2.4912097447254924e-7, + 2.585349947546334e-7, + 2.448162629677119e-7, + 2.546928639701597e-7, + 2.4313020165520457e-7, + 2.53545424874694e-7 + ], + "variance": 6.91199765661014e-17 }, "times": { - "cycle": 0.05403649813913577, - "elapsed": 5.349, - "period": 2.9331475917827336e-7, - "timeStamp": 1520292035671 + "cycle": 0.05300917277768324, + "elapsed": 5.412, + "period": 2.471578168909348e-7, + "timeStamp": 1619569545016 }, "running": false, - "count": 184227, - "cycles": 5, - "hz": 3409306.7897487264 + "count": 214475, + "cycles": 6, + "hz": 4045997.8671897626 }, "2": { - "name": "deep-set", - "options": { - "async": false, - "defer": false, - "delay": 0.005, - "initCount": 1, - "maxTime": 5, - "minSamples": 5, - "minTime": 0.05 - }, - "async": false, - "defer": false, - "delay": 0.005, - "initCount": 1, - "maxTime": 5, - "minSamples": 5, - "minTime": 0.05, - "events": { - "abort": [ - null - ], - "complete": [ - null - ], - "cycle": [ - null - ], - "error": [ - null - ] - }, - "id": 14, - "stats": { - "moe": 3.4754767409608667e-9, - "rme": 1.1263242629815275, - "sem": 1.773202418857585e-9, - "deviation": 1.7100144856010498e-8, - "mean": 3.0856804343012424e-7, - "sample": [ - 3.0626920970646936e-7, - 3.0626686243316624e-7, - 3.071657658389889e-7, - 2.9949299560519943e-7, - 3.199959245046415e-7, - 2.9527220477332236e-7, - 3.0574437006891185e-7, - 3.003362748114648e-7, - 2.96032470435242e-7, - 3.059202956185522e-7, - 3.0039211838675404e-7, - 2.96996597948319e-7, - 3.4140616781519775e-7, - 3.888149249052244e-7, - 2.983210642732323e-7, - 3.131674610592805e-7, - 3.010415735359857e-7, - 3.1196316379195233e-7, - 3.050581890170625e-7, - 3.120340901833973e-7, - 3.0127576938037376e-7, - 3.15562418359468e-7, - 3.116246538441442e-7, - 3.099874135698901e-7, - 2.949734686413274e-7, - 3.028215722587649e-7, - 3.007818623039901e-7, - 3.009046903029916e-7, - 2.996161545204907e-7, - 3.3799307978565913e-7, - 3.0227475921485755e-7, - 3.047565443050468e-7, - 3.0359456948951806e-7, - 3.0049416252053713e-7, - 3.083369134218486e-7, - 3.185717362655226e-7, - 2.9798222921468337e-7, - 3.067475979541245e-7, - 3.115412339113725e-7, - 3.121708805276083e-7, - 3.098825073004778e-7, - 2.981098467915634e-7, - 3.017109649402899e-7, - 3.0491163954507715e-7, - 2.996722767621292e-7, - 2.970889119820725e-7, - 3.029249400577072e-7, - 3.178826814669461e-7, - 3.116613042746257e-7, - 4.035924214364089e-7, - 3.306607759696718e-7, - 3.184180633849834e-7, - 3.2476748195925664e-7, - 3.105450365459306e-7, - 3.508652125701746e-7, - 3.124652915256402e-7, - 3.0009317906054605e-7, - 3.0459603248785193e-7, - 3.110462179751406e-7, - 3.03543759325163e-7, - 3.083208843012151e-7, - 2.9415236082647795e-7, - 2.9967061637513135e-7, - 3.441909445047577e-7, - 2.9965306039512567e-7, - 2.9824458777699726e-7, - 2.994828649222927e-7, - 2.9198466754523975e-7, - 2.974086642012436e-7, - 3.074948649919593e-7, - 3.0615931587411247e-7, - 3.0076455596258905e-7, - 3.1541353505680727e-7, - 2.964204842988929e-7, - 3.0254074043971227e-7, - 3.0357784370301133e-7, - 2.938218160918206e-7, - 3.003018130729351e-7, - 2.9358506000034834e-7, - 2.9639817357430234e-7, - 2.971934350852545e-7, - 3.292292843499817e-7, - 3.0897678360977424e-7, - 3.0291311996005784e-7, - 3.0562097312611393e-7, - 3.049543393575579e-7, - 2.9722880829496836e-7, - 2.9659962612264806e-7, - 3.098806553303648e-7, - 3.018711574522929e-7, - 3.0028126142967446e-7, - 3.116442069329866e-7, - 3.127055541686744e-7 - ], - "variance": 2.9241495409654226e-16 - }, - "times": { - "cycle": 0.05315053691279547, - "elapsed": 5.494, - "period": 3.0856804343012424e-7, - "timeStamp": 1520292041021 - }, - "running": false, - "count": 172249, - "cycles": 5, - "hz": 3240776.2932406566 - }, - "3": { "name": "deephas", "options": { "async": false, @@ -2426,118 +2173,121 @@ null ] }, - "id": 15, + "id": 13, "stats": { - "moe": 1.4452918223067683e-8, - "rme": 1.3882089711337, - "sem": 7.373937868912083e-9, - "deviation": 6.956559072427427e-8, - "mean": 0.0000010411197826552372, + "moe": 4.534311361585593e-9, + "rme": 0.5613472658658731, + "sem": 2.3134241640742822e-9, + "deviation": 2.218958506572164e-8, + "mean": 8.0775513435368e-7, "sample": [ - 0.0000010409388582782, - 0.0000010392742877040618, - 0.0000010091522749486366, - 0.0000010212468035026828, - 0.0000010999888097660223, - 9.986847385953364e-7, - 0.0000010074918061987887, - 0.0000011294799707081504, - 0.0000011909769821478052, - 0.0000012744893520167835, - 0.000001045880180501128, - 0.0000010523423979733207, - 0.0000011164162609349642, - 0.0000010991847365712703, - 0.0000010700395242053597, - 0.000001021903732731663, - 0.0000010134119859082453, - 0.0000010182517713652378, - 9.947710485690537e-7, - 0.0000010415219688873055, - 0.000001209707200253335, - 0.0000010145943474646716, - 0.0000010137973518584492, - 0.000001040460772671496, - 0.0000010081638562324346, - 0.0000010186568146417445, - 0.0000010294690809968848, - 9.980758761682243e-7, - 9.97367231308411e-7, - 0.000001059365031152648, - 9.83927686915888e-7, - 9.949777063862928e-7, - 0.0000010026564252336449, - 9.974082165109035e-7, - 0.0000010671136292834891, - 0.0000010670044392523364, - 0.0000010706681658878504, - 0.000001282563804517134, - 0.0000010231591900311526, - 0.0000010042247079439253, - 9.754992211838007e-7, - 0.000001074408566978193, - 0.0000010524259540498443, - 0.0000010386389797507788, - 0.0000011305617406542056, - 0.0000010931265381619939, - 0.0000010068543029595016, - 9.99523773364486e-7, - 0.00000102555628894081, - 9.9909976635514e-7, - 0.0000010181908489096574, - 0.0000010151514602803738, - 0.0000010199252336448596, - 0.000001023416140965732, - 0.000001141067426012461, - 0.0000010395703271028038, - 0.0000010216193535825546, - 0.0000010174853777258566, - 0.0000010182869742990653, - 0.000001044792328660436, - 0.0000010207766549844236, - 9.941223325545172e-7, - 0.0000010287919003115265, - 0.000001031413687694704, - 0.0000010302853777258567, - 9.90538427847812e-7, - 9.69607971207678e-7, - 0.0000010072384697414024, - 9.797235213466885e-7, - 0.0000010812433255893666, - 0.0000013005263548767947, - 0.0000012517905701336787, - 9.820817686712114e-7, - 9.701666222340709e-7, - 9.875040560612409e-7, - 9.92994249152607e-7, - 9.674094146322886e-7, - 0.0000010294609437483339, - 0.0000010295035228700916, - 9.950559279430248e-7, - 9.880481205011997e-7, - 9.91674010739993e-7, - 9.758118787370986e-7, - 9.97519785200137e-7, - 0.0000010057559698366149, - 0.0000010044262101534829, - 9.8903747572076e-7, - 0.0000010036788856304985, - 0.000001139463590661538 - ], - "variance": 4.8393714128172354e-15 + 8.07401746039223e-7, + 8.237173677516605e-7, + 8.015284909008118e-7, + 7.9723546406645e-7, + 7.990037527281862e-7, + 8.27828765954807e-7, + 7.773092789900588e-7, + 8.105475271018472e-7, + 8.161823694536206e-7, + 7.977335721707842e-7, + 7.867131624249755e-7, + 7.771745064284496e-7, + 8.040129034259216e-7, + 7.914222925293506e-7, + 8.259078614742785e-7, + 8.01706701358237e-7, + 7.956477411761062e-7, + 8.11692453034738e-7, + 8.019870061484613e-7, + 7.772522138253975e-7, + 8.051963157000015e-7, + 7.801258905527996e-7, + 8.297197830219295e-7, + 7.879737895436352e-7, + 7.814649110606272e-7, + 9.140960637952617e-7, + 8.397519897383592e-7, + 8.657532878977545e-7, + 8.776579040907475e-7, + 8.268800593444295e-7, + 8.608137604895915e-7, + 8.02545613303043e-7, + 8.161667516651986e-7, + 8.12397530406293e-7, + 8.024360888311929e-7, + 8.328742639899857e-7, + 7.97303552938631e-7, + 8.10774166628031e-7, + 7.899506699429738e-7, + 8.153047429180769e-7, + 7.87901324431669e-7, + 8.00800979801258e-7, + 7.942833541966093e-7, + 7.920362866459579e-7, + 8.126606549523236e-7, + 7.778855919761386e-7, + 7.922606673157464e-7, + 8.215746055295409e-7, + 7.932444712318606e-7, + 8.342583800825259e-7, + 8.026301172979739e-7, + 7.933081892221862e-7, + 8.250860803313397e-7, + 8.147343873151281e-7, + 8.272455221227997e-7, + 7.989491708779575e-7, + 8.281681270959865e-7, + 7.755319208122768e-7, + 8.281487783392832e-7, + 8.05322144435687e-7, + 7.921565672956558e-7, + 8.236970961410667e-7, + 8.052608218585315e-7, + 8.101975264799432e-7, + 8.257249019547294e-7, + 7.962847790507365e-7, + 8.249427014174105e-7, + 7.823071364604885e-7, + 8.084216255442671e-7, + 7.988346354568755e-7, + 8.244966031559768e-7, + 7.972807028379089e-7, + 8.014681005465831e-7, + 8.022605379365717e-7, + 7.850603248618102e-7, + 8.108216039279869e-7, + 7.934942408053608e-7, + 8.115571133001884e-7, + 8.199527221072784e-7, + 8.223300497174443e-7, + 7.960419973442856e-7, + 7.888814192631937e-7, + 8.04424265818485e-7, + 7.817061575518019e-7, + 8.090022542692153e-7, + 7.942011394867678e-7, + 7.980985239168699e-7, + 8.282581138251552e-7, + 7.850337059568291e-7, + 8.044010900781274e-7, + 7.908497822931785e-7, + 8.088010530216472e-7 + ], + "variance": 4.923776853888967e-16 }, "times": { - "cycle": 0.054673364266357126, - "elapsed": 5.385, - "period": 0.0000010411197826552372, - "timeStamp": 1520292046516 + "cycle": 0.05231506903155044, + "elapsed": 5.272, + "period": 8.0775513435368e-7, + "timeStamp": 1619569550428 }, "running": false, - "count": 52514, - "cycles": 4, - "hz": 960504.2730526485 + "count": 64766, + "cycles": 3, + "hz": 1237998.9398645463 }, - "4": { + "3": { "name": "dot-prop", "options": { "async": false, @@ -2569,123 +2319,122 @@ null ] }, - "id": 16, + "id": 14, "stats": { - "moe": 2.8902719439884943e-9, - "rme": 0.802451621130885, - "sem": 1.4746285428512726e-9, - "deviation": 1.4297054168702614e-8, - "mean": 3.6018021122759655e-7, + "moe": 2.882160061441928e-9, + "rme": 0.816539473322172, + "sem": 1.47048982726629e-9, + "deviation": 1.4180890341748955e-8, + "mean": 3.529725329402109e-7, "sample": [ - 3.531394563339562e-7, - 3.5954292971938417e-7, - 3.5675271612389913e-7, - 3.565264204779281e-7, - 3.5785098356607864e-7, - 3.4467799528107763e-7, - 3.4693913413262364e-7, - 3.563009821942989e-7, - 3.481209566791956e-7, - 3.500202543279651e-7, - 3.501006200444457e-7, - 3.5008768416143103e-7, - 4.019294836621032e-7, - 3.5640051853274435e-7, - 3.547099440313863e-7, - 3.482613514774068e-7, - 3.495913262366594e-7, - 3.475864907130511e-7, - 3.4676159839776126e-7, - 3.5503206535158717e-7, - 3.530873960876842e-7, - 3.510059603830009e-7, - 3.482797813383083e-7, - 3.5039128645504675e-7, - 3.5147477297045185e-7, - 3.515655162007188e-7, - 3.531970424428654e-7, - 3.6139094351011004e-7, - 3.896272600071333e-7, - 3.5381040632116107e-7, - 4.0778295014952394e-7, - 3.504141746001262e-7, - 3.5421787291832423e-7, - 3.49275179017257e-7, - 3.506626656424045e-7, - 3.4949522620648026e-7, - 3.565645765315921e-7, - 3.4816484677220226e-7, - 3.6427231885648436e-7, - 3.622493415457214e-7, - 3.548964786413893e-7, - 3.5829838267167826e-7, - 3.5131507723119974e-7, - 3.5467855771077394e-7, - 3.5462578534390517e-7, - 3.4645255699744847e-7, - 3.544752256577684e-7, - 3.491284123021208e-7, - 4.211438036708826e-7, - 3.594242228867733e-7, - 3.6450591237070976e-7, - 3.520579851299075e-7, - 3.518582814343329e-7, - 3.581220678207907e-7, - 3.609966391396197e-7, - 3.584283588027106e-7, - 3.68828047408708e-7, - 3.8817915443496394e-7, - 3.724822148755796e-7, - 3.6615269966254216e-7, - 3.7296360668331093e-7, - 3.7561800735273945e-7, - 3.614582293067025e-7, - 3.547269266646547e-7, - 3.6046542429147576e-7, - 4.1236914592992947e-7, - 3.61157884989986e-7, - 3.634077889654037e-7, - 3.646029657878131e-7, - 3.6673617931904854e-7, - 3.672425786715685e-7, - 3.6508505720321544e-7, - 3.593925004801229e-7, - 3.663914236330215e-7, - 3.8773181705945294e-7, - 3.830070921012922e-7, - 3.671619454580372e-7, - 3.5311196466295373e-7, - 3.5165092320776973e-7, - 3.5633107218305026e-7, - 3.4572738621086997e-7, - 3.5457870586298666e-7, - 3.534451013745233e-7, - 3.828082114735658e-7, - 3.5750384784219046e-7, - 3.5810507832862354e-7, - 3.5310307553019285e-7, - 3.600011111415951e-7, - 3.6352597464951024e-7, - 3.5196449148124777e-7, - 3.610899201624187e-7, - 3.611569316030618e-7, - 3.580171952591292e-7, - 3.5198799692721335e-7 - ], - "variance": 2.0440575790281676e-16 + 3.592469698971538e-7, + 3.4664362826336374e-7, + 3.558613871350836e-7, + 3.4555206956475065e-7, + 3.4185516066048944e-7, + 3.3881199804080756e-7, + 3.621992069296368e-7, + 3.3630733153964345e-7, + 3.549058983769567e-7, + 3.3870997242369546e-7, + 3.484887514173952e-7, + 3.499451493213277e-7, + 3.5726319603330625e-7, + 3.419991143376655e-7, + 3.3720165592018303e-7, + 3.487866560208265e-7, + 3.4771364409482303e-7, + 3.4142749415329006e-7, + 3.4563225523546296e-7, + 3.5993165329010315e-7, + 3.4343129451472306e-7, + 3.504408618581907e-7, + 3.36901848357606e-7, + 3.6125489661953865e-7, + 3.549116339299282e-7, + 3.410764275662498e-7, + 3.516990928851274e-7, + 3.595702997509233e-7, + 4.1608177247471244e-7, + 3.7728168130074853e-7, + 3.433678869442848e-7, + 3.523973929531776e-7, + 3.370312964541256e-7, + 3.607053891740828e-7, + 3.4348490674489127e-7, + 3.491781988517366e-7, + 3.573556379204408e-7, + 3.525300246433975e-7, + 3.418709029525829e-7, + 3.395705375960465e-7, + 3.6250560587741726e-7, + 3.484407732609227e-7, + 3.602129044192945e-7, + 3.4311029406906756e-7, + 3.5708867659009375e-7, + 3.4768060042679984e-7, + 3.5090978402341455e-7, + 3.635233715867573e-7, + 3.5800199525631115e-7, + 3.650349103786362e-7, + 3.3912840333247443e-7, + 3.5640925217529187e-7, + 3.4697850805039675e-7, + 3.5348423945718454e-7, + 3.575756909070488e-7, + 3.486402460375663e-7, + 3.449705402387701e-7, + 3.4684633222999623e-7, + 3.5711764084065037e-7, + 3.418125582225041e-7, + 3.4922144041649323e-7, + 3.4921394829511297e-7, + 3.5502081805508754e-7, + 3.514391017382514e-7, + 3.488361379237442e-7, + 3.3868981031851427e-7, + 3.491121704028172e-7, + 3.5160111390799355e-7, + 3.350668675136596e-7, + 3.582926618172689e-7, + 3.5070754299380944e-7, + 3.566392880502646e-7, + 3.612503914534319e-7, + 3.803354276917791e-7, + 3.423116960339326e-7, + 3.503190361987064e-7, + 3.4882274592194716e-7, + 3.3991779808270403e-7, + 3.528737438804432e-7, + 3.3989147655573833e-7, + 3.5311705283465137e-7, + 3.5290266188333695e-7, + 3.516642617881989e-7, + 3.4120144821252784e-7, + 3.482027365402784e-7, + 3.557576358194755e-7, + 3.382425888120297e-7, + 4.145793048315594e-7, + 3.8969273052808226e-7, + 3.6730483155940514e-7, + 3.5848322200860205e-7, + 3.871642783052214e-7, + 3.8047208953547525e-7 + ], + "variance": 2.0109765088470877e-16 }, "times": { - "cycle": 0.052512834076138666, - "elapsed": 5.592, - "period": 3.6018021122759655e-7, - "timeStamp": 1520292051901 + "cycle": 0.053425569613297384, + "elapsed": 5.437, + "period": 3.529725329402109e-7, + "timeStamp": 1619569555700 }, "running": false, - "count": 145796, - "cycles": 7, - "hz": 2776387.9547732947 + "count": 151359, + "cycles": 5, + "hz": 2833081.6329252096 }, - "5": { + "4": { "name": "dot2val", "options": { "async": false, @@ -2717,120 +2466,123 @@ null ] }, - "id": 17, + "id": 15, "stats": { - "moe": 3.296470915061446e-9, - "rme": 1.2822584228641207, - "sem": 1.6818729158476765e-9, - "deviation": 1.6044045062285223e-8, - "mean": 2.570831944857319e-7, + "moe": 1.0721446905320448e-9, + "rme": 0.5006391458116471, + "sem": 5.470125972102269e-10, + "deviation": 5.303483898498018e-9, + "mean": 2.1415518532692053e-7, "sample": [ - 2.5297607586213786e-7, - 2.5496888513817176e-7, - 2.540382174359075e-7, - 2.514751017282763e-7, - 3.131590936980008e-7, - 2.4722744430100773e-7, - 2.4551879281703157e-7, - 2.894413810602107e-7, - 2.414895850787283e-7, - 2.5202402301767015e-7, - 2.422323980410086e-7, - 2.468272142778493e-7, - 2.5052759678863285e-7, - 2.480197814087312e-7, - 2.4858511223986637e-7, - 2.490362738949555e-7, - 2.603800117769278e-7, - 2.647858418349028e-7, - 2.5668767683344267e-7, - 2.4550779144305664e-7, - 2.5821132883001487e-7, - 2.6782946434128196e-7, - 2.649396552136842e-7, - 2.477775836233681e-7, - 2.5253654916867336e-7, - 2.6659828229200077e-7, - 2.485724161372634e-7, - 2.522262893581574e-7, - 2.5832059574019905e-7, - 2.4932862415802147e-7, - 2.5534738585715447e-7, - 2.4537891068205645e-7, - 2.4837060938420073e-7, - 2.559473485156762e-7, - 2.6322611222550424e-7, - 2.509290847029198e-7, - 2.546934121015114e-7, - 2.454575384306047e-7, - 2.9364445646605997e-7, - 2.6139583403149134e-7, - 2.4875357975517393e-7, - 2.6400053139795964e-7, - 2.503595361996907e-7, - 2.4852470521775346e-7, - 2.557167218011997e-7, - 2.5741384890105947e-7, - 2.6626415744699183e-7, - 2.6183696614851375e-7, - 2.439994877515164e-7, - 2.4249307507073337e-7, - 2.618570635235993e-7, - 2.500446853022984e-7, - 2.5345494367660364e-7, - 2.5279860974804076e-7, - 2.5099825739768196e-7, - 2.6549073404728963e-7, - 2.6829645303830377e-7, - 2.516380366042234e-7, - 2.499192227227683e-7, - 2.4894303988357116e-7, - 2.49852515523044e-7, - 2.5754318446211515e-7, - 2.6327504392411065e-7, - 3.595428972199748e-7, - 2.8087264162234364e-7, - 2.521906043095896e-7, - 2.4796061910255983e-7, - 2.5603812181939174e-7, - 2.5374403852874574e-7, - 2.55887511190475e-7, - 2.49011106696093e-7, - 2.4391778651206656e-7, - 2.5373164881775926e-7, - 2.543118731538708e-7, - 2.434393033420623e-7, - 2.4393335982344186e-7, - 2.430342009641761e-7, - 2.669938721676728e-7, - 2.5268682468175966e-7, - 2.4911879856187436e-7, - 2.489191987859232e-7, - 2.474204506829182e-7, - 2.545787785506719e-7, - 2.530593729504076e-7, - 2.562717597889728e-7, - 2.6605290042751205e-7, - 2.690807581277557e-7, - 2.5959560136535766e-7, - 2.59705864048295e-7, - 2.600506503640794e-7, - 2.9430597511525594e-7 - ], - "variance": 2.574113819606388e-16 + 2.23553098908772e-7, + 2.1802987250465573e-7, + 2.1706828542777932e-7, + 2.117449376848598e-7, + 2.1133156794836143e-7, + 2.1640246298417369e-7, + 2.1503309894545887e-7, + 2.2474479777406426e-7, + 2.175257751755866e-7, + 2.187413003419802e-7, + 2.245470212583401e-7, + 2.20703482314679e-7, + 2.098871955579344e-7, + 2.2140993499515836e-7, + 2.0997789181658095e-7, + 2.2330499160371153e-7, + 2.0958438984927538e-7, + 2.1312437947138114e-7, + 2.1977884870746185e-7, + 2.149870889189421e-7, + 2.2201083958798943e-7, + 2.0740270315545186e-7, + 2.2177182932858295e-7, + 2.0576301629002537e-7, + 2.1601294785312418e-7, + 2.0639090340795339e-7, + 2.113623069977242e-7, + 2.1762068387871754e-7, + 2.1812118030161265e-7, + 2.17027378846256e-7, + 2.0951224305518672e-7, + 2.0495902366078176e-7, + 2.1313355614481657e-7, + 2.1943200640651112e-7, + 2.0936161241424958e-7, + 2.1285408026933494e-7, + 2.178688789831298e-7, + 2.1195433317943542e-7, + 2.1946876212967463e-7, + 2.1589658060641222e-7, + 2.0751399585701385e-7, + 2.1361266756826324e-7, + 2.0861344795322594e-7, + 2.117056763813018e-7, + 2.1204329706518054e-7, + 2.0991562445097262e-7, + 2.1795023922272026e-7, + 2.130963142132208e-7, + 2.0932235210479222e-7, + 2.1064230585370437e-7, + 2.192565832213147e-7, + 2.1846854558306194e-7, + 2.176458318862844e-7, + 2.1163848155880876e-7, + 2.0612275332889345e-7, + 2.2183069732095067e-7, + 2.0860235096077238e-7, + 2.1016557644299717e-7, + 2.1094651707245322e-7, + 2.1704664332321422e-7, + 2.0639345702366896e-7, + 2.1665410560120285e-7, + 2.0818935162675535e-7, + 2.1280847473554756e-7, + 2.1530740221694701e-7, + 2.1330332868915756e-7, + 2.0914162557047777e-7, + 2.130590967963359e-7, + 2.1212753778329813e-7, + 2.0847040870108804e-7, + 2.1761060424676507e-7, + 2.0967051002855964e-7, + 2.1308369322290816e-7, + 2.34414690849067e-7, + 2.1226160465125782e-7, + 2.087008551548308e-7, + 2.1412625076097747e-7, + 2.149892462134986e-7, + 2.0472195414931911e-7, + 2.221150679670359e-7, + 2.067153270058141e-7, + 2.138534020290009e-7, + 2.146092600234524e-7, + 2.159920735768189e-7, + 2.1026954741757947e-7, + 2.1244018206258606e-7, + 2.1379569848539944e-7, + 2.0793933017638333e-7, + 2.1831514069401145e-7, + 2.0846016563772977e-7, + 2.1538090957748896e-7, + 2.2009378102643093e-7, + 2.1552752389162864e-7, + 2.145006230822346e-7 + ], + "variance": 2.812694146162773e-17 }, "times": { - "cycle": 0.05370030891376314, - "elapsed": 5.422, - "period": 2.570831944857319e-7, - "timeStamp": 1520292057493 + "cycle": 0.05241469576394912, + "elapsed": 5.457, + "period": 2.1415518532692053e-7, + "timeStamp": 1619569561137 }, "running": false, - "count": 208883, - "cycles": 5, - "hz": 3889791.403908745 + "count": 244751, + "cycles": 6, + "hz": 4669511.029926457 }, - "6": { + "5": { "name": "es5-dot-prop", "options": { "async": false, @@ -2862,120 +2614,121 @@ null ] }, - "id": 18, + "id": 16, "stats": { - "moe": 4.7387247838919854e-9, - "rme": 1.3171778310008324, - "sem": 2.417716726475503e-9, - "deviation": 2.306354763306433e-8, - "mean": 3.5976347857990867e-7, + "moe": 2.1239647427722675e-9, + "rme": 0.7111229712361954, + "sem": 1.0836554810062589e-9, + "deviation": 1.0394058232440848e-8, + "mean": 2.9867756051812377e-7, "sample": [ - 5.253019356842742e-7, - 3.6393598255458635e-7, - 3.5617986415911994e-7, - 3.641180760042224e-7, - 3.6284971387299293e-7, - 3.676556267014834e-7, - 3.616798086004778e-7, - 3.6511824268014893e-7, - 3.618036071448414e-7, - 3.5942223179065503e-7, - 3.6319351769542756e-7, - 3.5495314323017946e-7, - 3.631433829657203e-7, - 3.48756910106117e-7, - 4.2609119256625366e-7, - 3.5043484360242237e-7, - 3.519777765431413e-7, - 3.574824365242514e-7, - 3.6825159036613145e-7, - 3.676874965275849e-7, - 3.5280952414023e-7, - 3.543997722095672e-7, - 3.5099277043169064e-7, - 3.583736457580977e-7, - 3.5035474887493747e-7, - 3.481657522640147e-7, - 3.525638507694872e-7, - 3.5301981560764406e-7, - 3.558803386290228e-7, - 3.466805295228346e-7, - 3.577531452522081e-7, - 3.8074638788792594e-7, - 3.5020496185581985e-7, - 3.4981267507244974e-7, - 3.5500635621061947e-7, - 3.6230479113525917e-7, - 3.524161464921922e-7, - 3.530579622985836e-7, - 3.5680591443561933e-7, - 3.4642782190332014e-7, - 3.7216752037494033e-7, - 3.498621347545675e-7, - 3.5218287329863196e-7, - 3.4760101753731085e-7, - 3.548833772284551e-7, - 3.498726350207033e-7, - 3.5047583694517604e-7, - 3.505740998043729e-7, - 4.0478167188569294e-7, - 3.62226989624161e-7, - 3.6673403817673193e-7, - 3.4973434671713016e-7, - 3.545825585541111e-7, - 4.085023174812133e-7, - 3.568494391421206e-7, - 3.501151952717898e-7, - 3.45461638143821e-7, - 3.6680925346936534e-7, - 3.5358577809808066e-7, - 3.4680006526926974e-7, - 3.503438330738426e-7, - 3.522172990760319e-7, - 3.4010281269759253e-7, - 3.521873499996601e-7, - 4.009723081525397e-7, - 3.50943392506272e-7, - 3.4997181863301677e-7, - 3.52960947220277e-7, - 3.5797952856550383e-7, - 3.49696783448801e-7, - 3.6062575552579155e-7, - 3.499725937055948e-7, - 3.5578777289013687e-7, - 3.5146151492694604e-7, - 3.5323494217550637e-7, - 3.5012826091390574e-7, - 3.5031563810909486e-7, - 3.4785245745599426e-7, - 3.6062325353711847e-7, - 3.5293810977475304e-7, - 3.4448245548431833e-7, - 3.4720139649041696e-7, - 4.201032274294106e-7, - 3.475302448277503e-7, - 3.4674192122815005e-7, - 3.448380370267128e-7, - 3.5609573506115594e-7, - 3.5043376188954535e-7, - 3.5163833345797947e-7, - 3.5912125126629185e-7, - 3.5835673735237927e-7 - ], - "variance": 5.319272294226273e-16 + 3.0379167900589376e-7, + 3.0228299376921924e-7, + 2.9019192186762184e-7, + 2.9012505326684097e-7, + 3.050640526564318e-7, + 2.9106611998571874e-7, + 2.92246087046656e-7, + 2.9029506950602924e-7, + 2.970243472652516e-7, + 3.0354213155368546e-7, + 2.921747112958205e-7, + 2.9799118223571136e-7, + 2.9752261635827487e-7, + 2.933582518523628e-7, + 3.0682304689969937e-7, + 2.9311554490219406e-7, + 2.9551389631366866e-7, + 3.024332093065987e-7, + 2.891215749098509e-7, + 2.901974034773422e-7, + 3.0257724683616987e-7, + 2.9694357357771194e-7, + 3.0189796504283514e-7, + 2.9234645382399486e-7, + 2.926921220125929e-7, + 2.996357498263632e-7, + 2.969890523415351e-7, + 2.9966705568902503e-7, + 3.040623840049188e-7, + 2.9958994955993036e-7, + 2.9699065207737937e-7, + 3.045795484304371e-7, + 3.0317697860566793e-7, + 2.914450738383413e-7, + 3.011097897002061e-7, + 2.930591105240985e-7, + 2.8964079952634154e-7, + 3.0450876154257804e-7, + 2.960643424004008e-7, + 2.878036310018559e-7, + 2.8870644562606033e-7, + 3.022755075318524e-7, + 2.8739866441982533e-7, + 3.0441426896057023e-7, + 2.8699274710510436e-7, + 2.960408473476266e-7, + 3.044907488585515e-7, + 2.9416748266478414e-7, + 2.8854430869778084e-7, + 2.879235542600795e-7, + 3.006573434137566e-7, + 2.8505768157855785e-7, + 3.0432730253794393e-7, + 2.9208131895658514e-7, + 3.027961503865554e-7, + 3.017007184578774e-7, + 3.285510606077858e-7, + 2.8942991904539603e-7, + 3.3751361768021224e-7, + 3.2286673232605007e-7, + 3.0584097145524725e-7, + 2.9857744770970203e-7, + 2.980194700946178e-7, + 2.9400656973368095e-7, + 3.051310246279618e-7, + 2.9832125656119415e-7, + 2.897228471882223e-7, + 3.004136768875175e-7, + 2.9722246006353397e-7, + 2.8679634394889953e-7, + 3.0446992382752457e-7, + 2.881143270292735e-7, + 2.9837205529051434e-7, + 3.062214637867626e-7, + 2.9905426577248455e-7, + 2.92931826203787e-7, + 2.915951131201111e-7, + 2.990126384824712e-7, + 3.327546938868457e-7, + 3.2507916699875893e-7, + 2.847416398146356e-7, + 2.9039736072050736e-7, + 3.068139068851264e-7, + 2.965108451842827e-7, + 2.891884727931046e-7, + 2.946879718082139e-7, + 3.0000489598870504e-7, + 2.859089232240655e-7, + 2.9948193607888234e-7, + 3.358088685711683e-7, + 2.977138066881483e-7, + 3.0082184294123675e-7 + ], + "variance": 1.0803644653937136e-16 }, "times": { - "cycle": 0.05291509171996871, - "elapsed": 5.453, - "period": 3.5976347857990867e-7, - "timeStamp": 1520292062915 + "cycle": 0.052463908215250515, + "elapsed": 5.405, + "period": 2.9867756051812377e-7, + "timeStamp": 1619569566594 }, "running": false, - "count": 147083, + "count": 175654, "cycles": 5, - "hz": 2779603.9885629625 + "hz": 3348092.164223097 }, - "7": { + "6": { "name": "lodash-set", "options": { "async": false, @@ -3007,119 +2760,123 @@ null ] }, - "id": 19, + "id": 17, "stats": { - "moe": 2.695934045324985e-9, - "rme": 0.7525170608850612, - "sem": 1.3754765537372374e-9, - "deviation": 1.3048916333905971e-8, - "mean": 3.582555380411182e-7, + "moe": 1.994969221866772e-9, + "rme": 0.6088443174515118, + "sem": 1.017841439727945e-9, + "deviation": 9.868338890825591e-9, + "mean": 3.2766491608516175e-7, "sample": [ - 3.661964283168176e-7, - 3.676508287602195e-7, - 3.502428743420316e-7, - 3.552384715533654e-7, - 3.5889186219061485e-7, - 3.518466723597267e-7, - 3.6769486364654495e-7, - 3.540656708477993e-7, - 3.639462215813641e-7, - 3.5064558329743075e-7, - 3.466275225844395e-7, - 3.6060957128886886e-7, - 3.586766715220647e-7, - 3.626824706453576e-7, - 3.868894952437615e-7, - 3.6236591237032326e-7, - 3.5718715165938357e-7, - 3.439862612751233e-7, - 3.434758785193441e-7, - 3.47912171850684e-7, - 3.4832490434995345e-7, - 3.4712839192394206e-7, - 3.5230226094284105e-7, - 3.833669292087719e-7, - 3.4175826192142764e-7, - 3.624195282396994e-7, - 3.57710338359916e-7, - 3.608584855012878e-7, - 3.5393766946877696e-7, - 3.636138932117349e-7, - 3.4732284524060316e-7, - 3.7809043091790064e-7, - 3.491487451665296e-7, - 3.523540920550999e-7, - 3.477146740423103e-7, - 3.5608589815903393e-7, - 3.606243654477374e-7, - 3.59689740470673e-7, - 3.6242987815237406e-7, - 3.615620009378122e-7, - 3.9828735788407825e-7, - 3.812224925416749e-7, - 3.552584284170682e-7, - 3.5698210001970766e-7, - 3.487158353745525e-7, - 3.642897701273182e-7, - 3.609827662781621e-7, - 3.579321417996824e-7, - 3.5984908212430356e-7, - 3.675410486931711e-7, - 3.607031237382574e-7, - 3.547416287583107e-7, - 3.6383363839465966e-7, - 3.4702871389733786e-7, - 3.5311094586955937e-7, - 3.593899423972437e-7, - 3.447014885198245e-7, - 4.0958956690264057e-7, - 3.4768029797313664e-7, - 3.5232989017792256e-7, - 3.3774368119296926e-7, - 3.5145956367257947e-7, - 3.53442255928508e-7, - 3.4433827487819975e-7, - 3.552190452477726e-7, - 3.7710354364620064e-7, - 3.5990585717746495e-7, - 3.528600441441684e-7, - 3.520088624801486e-7, - 3.416347204651288e-7, - 3.4637422276654736e-7, - 3.5064645635379935e-7, - 3.5394235013862346e-7, - 3.521612473419289e-7, - 4.1406505881402923e-7, - 3.7488922236278974e-7, - 3.5340873731528087e-7, - 3.633272792118651e-7, - 3.515571855400931e-7, - 3.6514301768458456e-7, - 3.4714009717100484e-7, - 3.5329812791041965e-7, - 3.6137663858307986e-7, - 3.546456757556997e-7, - 3.562415143603133e-7, - 3.5805530133778363e-7, - 3.484008909585206e-7, - 3.634195311027967e-7, - 3.5437782293881724e-7, - 3.473660197572071e-7 - ], - "variance": 1.7027421748927806e-16 + 3.428126605152578e-7, + 3.586184208083471e-7, + 3.2582759346242626e-7, + 3.189150622876557e-7, + 3.165327590368156e-7, + 3.24687116375379e-7, + 3.3711567283752803e-7, + 3.109768099686938e-7, + 3.1294185544901026e-7, + 3.293442145093303e-7, + 3.1049320260310106e-7, + 3.2400058545122884e-7, + 3.1102824956245227e-7, + 3.183350075184263e-7, + 3.364099391130722e-7, + 3.214478332141889e-7, + 3.0910109202060786e-7, + 3.188777269701975e-7, + 3.197285909729583e-7, + 3.130860366800602e-7, + 3.268533475485e-7, + 3.150665257475288e-7, + 3.1966538072817805e-7, + 3.2529259003623633e-7, + 3.2287051051347156e-7, + 3.1927987650060395e-7, + 3.331488525155915e-7, + 3.1933142085931916e-7, + 3.18930953730865e-7, + 3.4086184583528483e-7, + 3.2273456873813694e-7, + 3.3896450316759933e-7, + 3.3506070821110757e-7, + 3.317510538122119e-7, + 3.229723728646437e-7, + 3.250119247171346e-7, + 3.2879686691152905e-7, + 3.2502057707003227e-7, + 3.6921805285083935e-7, + 3.277553245248601e-7, + 3.273220659649469e-7, + 3.354077821874923e-7, + 3.301521926689181e-7, + 3.1552993812704907e-7, + 3.2769213893065793e-7, + 3.319553578031405e-7, + 3.2699733773756996e-7, + 3.335449564917297e-7, + 3.340497941676732e-7, + 3.257642357088274e-7, + 3.437512017156802e-7, + 3.329260236152538e-7, + 3.1589525353119533e-7, + 3.2723774250006165e-7, + 3.32342569083245e-7, + 3.18016700766633e-7, + 3.415185988611433e-7, + 3.280707656469544e-7, + 3.296480020706486e-7, + 3.2968748613404987e-7, + 3.3423875933640645e-7, + 3.240096445386644e-7, + 3.1844785786476696e-7, + 3.286872519535583e-7, + 3.192679702714029e-7, + 3.3021994478270515e-7, + 3.25752206226736e-7, + 3.307331328419652e-7, + 3.299850186111864e-7, + 3.301076182611482e-7, + 3.1846725170705255e-7, + 3.2264680651761284e-7, + 3.478894791332857e-7, + 3.4187643281484947e-7, + 3.177952153227993e-7, + 3.3072411689304117e-7, + 3.3033528483742947e-7, + 3.3071566790741246e-7, + 3.358172775901595e-7, + 3.249186900682821e-7, + 3.352702689378066e-7, + 3.1600069021618556e-7, + 3.351320346587128e-7, + 3.2448739122932435e-7, + 3.301593290112653e-7, + 3.380337897798703e-7, + 3.2785666921389304e-7, + 3.363519609534844e-7, + 3.248441836961077e-7, + 3.3702012719698277e-7, + 3.208405600611334e-7, + 3.3337871915596417e-7, + 3.1964035422880666e-7, + 3.324725762319127e-7 + ], + "variance": 9.738411246418086e-17 }, "times": { - "cycle": 0.053238205975062326, - "elapsed": 5.368, - "period": 3.582555380411182e-7, - "timeStamp": 1520292068368 + "cycle": 0.05316953060330703, + "elapsed": 5.428, + "period": 3.2766491608516175e-7, + "timeStamp": 1619569571999 }, "running": false, - "count": 148604, - "cycles": 3, - "hz": 2791303.675214161 + "count": 162268, + "cycles": 6, + "hz": 3051898.298870957 }, - "8": { + "7": { "name": "object-path-set", "options": { "async": false, @@ -3151,120 +2908,121 @@ null ] }, - "id": 20, + "id": 18, "stats": { - "moe": 6.137075038834122e-9, - "rme": 1.5109991684374107, - "sem": 3.1311607340990417e-9, - "deviation": 2.986936970194537e-8, - "mean": 4.061600540244331e-7, + "moe": 1.2346723320468428e-9, + "rme": 0.4775206718526625, + "sem": 6.299348632892055e-10, + "deviation": 6.042122949992119e-9, + "mean": 2.585589284033754e-7, "sample": [ - 4.372844933615062e-7, - 3.998440269324166e-7, - 3.9495036898041563e-7, - 3.965098946671292e-7, - 3.9447878362609986e-7, - 4.0052238323504365e-7, - 4.129259737580143e-7, - 3.990960805141412e-7, - 4.061990233763058e-7, - 3.9107088545686575e-7, - 4.0361414958084656e-7, - 3.8697310081843817e-7, - 3.9746539405008447e-7, - 3.945442804851023e-7, - 3.9978818422882647e-7, - 4.121321575130484e-7, - 4.3214145759940085e-7, - 4.0964370047149987e-7, - 3.8783961362993754e-7, - 4.5525390687686744e-7, - 5.951449116988514e-7, - 3.878955593424984e-7, - 3.9685573785524876e-7, - 3.966603901909689e-7, - 4.247496312825255e-7, - 4.031088729090089e-7, - 4.1896748408592454e-7, - 3.9980066330936353e-7, - 3.922243254189624e-7, - 3.8879967751549375e-7, - 4.0092605781795676e-7, - 3.875676338654582e-7, - 3.975141335330394e-7, - 3.99337179712515e-7, - 4.4392112884860804e-7, - 3.8849728333549854e-7, - 4.2475167164658145e-7, - 3.9645096630724674e-7, - 3.9792437661910914e-7, - 4.1544498276771185e-7, - 3.8861092473578433e-7, - 4.0073356054990487e-7, - 3.8841974185955876e-7, - 3.953551532565586e-7, - 4.0798554933172345e-7, - 3.964325877471171e-7, - 3.82638931980223e-7, - 3.9988551035847745e-7, - 3.9306275456789365e-7, - 4.0232676392147273e-7, - 3.9867929603619166e-7, - 4.236485759481579e-7, - 4.014783851320887e-7, - 3.8780508791905795e-7, - 4.0570528584201316e-7, - 5.189670637862126e-7, - 4.891826928220451e-7, - 4.753206733965566e-7, - 4.071364445701098e-7, - 4.0821472730190506e-7, - 3.9746670844191074e-7, - 3.9553694434467633e-7, - 3.8234985748018863e-7, - 3.894052224149657e-7, - 3.8578526505628194e-7, - 3.9477069976081127e-7, - 4.029961408844634e-7, - 3.8409320719247435e-7, - 4.1261210921679063e-7, - 4.1967442055953355e-7, - 3.9928484093566356e-7, - 3.88371254556431e-7, - 4.041580556171146e-7, - 4.0107806111921994e-7, - 4.0178268212350696e-7, - 3.898177198358539e-7, - 3.956383359188134e-7, - 3.9658839667122627e-7, - 3.9227402777034825e-7, - 3.943957618505414e-7, - 3.909161005356911e-7, - 3.9256786311984654e-7, - 3.9450179964694826e-7, - 3.910085970395617e-7, - 3.920189134870357e-7, - 3.9926419275708964e-7, - 4.537830565723412e-7, - 3.908062494746253e-7, - 3.942233014160279e-7, - 3.859068921510939e-7, - 4.070779999847164e-7 - ], - "variance": 8.92179246391492e-16 + 2.650954141583319e-7, + 2.6148404124291796e-7, + 2.55140906600174e-7, + 2.6566910149357276e-7, + 2.5555884556025315e-7, + 2.607749033526209e-7, + 2.625081968037241e-7, + 2.5898501400067364e-7, + 2.5668623912245684e-7, + 2.5362182596936443e-7, + 2.623026558548957e-7, + 2.599845511168922e-7, + 2.570458696945656e-7, + 2.6265170567235223e-7, + 2.5751191987306625e-7, + 2.650257784609282e-7, + 2.598932318524395e-7, + 2.719010313367711e-7, + 2.630862626132658e-7, + 2.5508852916578e-7, + 2.540682786572903e-7, + 2.610945568098026e-7, + 2.6111285254046886e-7, + 2.646834249686988e-7, + 2.5397830444056237e-7, + 2.5124208562421745e-7, + 2.4893594762185196e-7, + 2.6663383794644406e-7, + 2.4983195839045076e-7, + 2.7048099906467594e-7, + 2.5925542265265823e-7, + 2.6090207800305835e-7, + 2.6377202836654804e-7, + 2.4927789517442066e-7, + 2.5164715517966634e-7, + 2.606350108131381e-7, + 2.52685008586176e-7, + 2.5240780624440167e-7, + 2.6273998980546247e-7, + 2.5780571487957084e-7, + 2.5905518412027576e-7, + 2.620890933295063e-7, + 2.488522088989405e-7, + 2.5456647976681233e-7, + 2.6284108398616314e-7, + 2.498281874013332e-7, + 2.644367320073836e-7, + 2.5609180032563136e-7, + 2.4983960429358285e-7, + 2.718522831310097e-7, + 2.566768183145361e-7, + 2.493006052388046e-7, + 2.563268982377307e-7, + 2.60183081026778e-7, + 2.517558358778437e-7, + 2.635521282334252e-7, + 2.529360169051166e-7, + 2.591947305128446e-7, + 2.6609738752604307e-7, + 2.582369834066581e-7, + 2.483977106829845e-7, + 2.5382293671963537e-7, + 2.6455100485477733e-7, + 2.512132390421094e-7, + 2.669804126313289e-7, + 2.578562874251497e-7, + 2.631176022339557e-7, + 2.6179375239668445e-7, + 2.500736064816181e-7, + 2.530333028524232e-7, + 2.529658564644111e-7, + 2.4798443998702106e-7, + 2.65229560583267e-7, + 2.5003414353558895e-7, + 2.572432917416399e-7, + 2.6687082485275754e-7, + 2.690588134076674e-7, + 2.6372220091836034e-7, + 2.5570984140094194e-7, + 2.612949470517094e-7, + 2.5161483928694336e-7, + 2.723315978879679e-7, + 2.56733110134411e-7, + 2.594335811136348e-7, + 2.594921290424078e-7, + 2.5636887800753173e-7, + 2.647355191095641e-7, + 2.560305497379625e-7, + 2.6529031591988434e-7, + 2.55968437509218e-7, + 2.6055951151883423e-7, + 2.5098964632311733e-7 + ], + "variance": 3.650724974282147e-17 }, "times": { - "cycle": 0.053149698509583294, - "elapsed": 5.374, - "period": 4.061600540244331e-7, - "timeStamp": 1520292073736 + "cycle": 0.052592437390816975, + "elapsed": 5.447, + "period": 2.585589284033754e-7, + "timeStamp": 1619569577427 }, "running": false, - "count": 130859, + "count": 203406, "cycles": 5, - "hz": 2462083.580331225 + "hz": 3867590.286574476 }, - "9": { + "8": { "name": "object-set", "options": { "async": false, @@ -3296,119 +3054,125 @@ null ] }, - "id": 21, + "id": 19, "stats": { - "moe": 1.0422148771173075e-8, - "rme": 0.8739688096511541, - "sem": 5.317422842435243e-9, - "deviation": 5.044550239290604e-8, - "mean": 0.0000011925080913737747, + "moe": 5.900035181279876e-9, + "rme": 0.5241407331275794, + "sem": 3.0102220312652428e-9, + "deviation": 2.949403195633662e-8, + "mean": 0.0000011256585890728259, "sample": [ - 0.000001165272489042462, - 0.0000012051505823627287, - 0.0000012277596598262156, - 0.0000011958362451469773, - 0.0000011812434599741171, - 0.000001166246724390691, - 0.0000011715974436503573, - 0.0000013001264083539434, - 0.000001198868691032335, - 0.0000011749655125034351, - 0.000001182703849408751, - 0.0000012086797648727157, - 0.000001150815603485739, - 0.00000120909359346767, - 0.0000011749603165526865, - 0.0000012109704032387183, - 0.000001192501543880515, - 0.000001186869627867615, - 0.0000012521116168431646, - 0.0000011493245351204228, - 0.0000011599741314242585, - 0.0000011923129617346354, - 0.0000012593162096017932, - 0.0000011661083689760069, - 0.000001298619359118044, - 0.0000012332761601976168, - 0.0000011579703574941102, - 0.0000011363203053990185, - 0.0000011971546991456099, - 0.0000012237475686238866, - 0.0000012180554444646429, - 0.0000011628964960916196, - 0.0000012120675558989274, - 0.0000011603145337211416, - 0.0000011759010179967278, - 0.000001239092074168333, - 0.0000011660272904926376, - 0.0000011652272995818942, - 0.0000011501342255953464, - 0.0000011940649654608253, - 0.0000011429855026358844, - 0.0000013584816624250136, - 0.0000011705820078167605, - 0.000001164680103617524, - 0.000001279699600072714, - 0.0000011887805853481186, - 0.0000012150832803126703, - 0.0000011716226822395928, - 0.000001228716437920378, - 0.0000012208940874386475, - 0.0000011771560625340848, - 0.0000011643234411925103, - 0.0000011511309534630067, - 0.0000011884008816578804, - 0.0000011468902017814943, - 0.000001150109820941647, - 0.0000011913833848391202, - 0.0000011607770632612253, - 0.0000011694361252499546, - 0.0000013380978912924924, - 0.0000011832809261952373, - 0.0000011657186875113615, - 0.000001174462484093801, - 0.0000011854796173423012, - 0.000001159650381748773, - 0.0000011428230548991092, - 0.0000011836355662606797, - 0.0000012155994137429558, - 0.0000011856256816942373, - 0.0000011636179558262133, - 0.0000012119792083257589, - 0.000001145234639156517, - 0.0000011560116569714597, - 0.0000011804856162515907, - 0.0000012125887111434286, - 0.0000012909563488456644, - 0.0000011450110207235048, - 0.0000014418387793128521, - 0.0000011450948918378476, - 0.0000011631307262315943, - 0.0000011633035584439193, - 0.0000011704917742228686, - 0.0000011488659561897835, - 0.0000011439263770223596, - 0.0000012072794719141974, - 0.0000011372826758771133, - 0.0000011726901699690966, - 0.0000011659840483548446, - 0.0000012067773359389202, - 0.000001203990615342665 - ], - "variance": 2.5447487116726892e-15 + 0.0000011845094464700033, + 0.000001144244152967491, + 0.000001121211027472174, + 0.000001075151579489159, + 0.0000011094540093075124, + 0.0000011420511698728258, + 0.0000011055423020009006, + 0.0000011647687276158614, + 0.0000010774056273992581, + 0.000001140137897016878, + 0.000001106159192777027, + 0.0000011105029488086813, + 0.0000011259578373973279, + 0.000001122016491882734, + 0.000001111457140406185, + 0.000001168831242359905, + 0.000001143347251710309, + 0.0000010886673314889875, + 0.000001111459156319029, + 0.0000012440130390958416, + 0.000001095132985910056, + 0.000001099962962962963, + 0.0000011252339531193034, + 0.0000011460702567071993, + 0.0000011500022303716571, + 0.0000011568284543953333, + 0.000001086988419224088, + 0.0000010913532565570782, + 0.0000011429027214823392, + 0.0000010959727422848442, + 0.000001143380171138133, + 0.0000011134187308327435, + 0.000001130963027300607, + 0.0000011473553582534476, + 0.0000011329236097707434, + 0.0000010867001222415235, + 0.0000010914957429925584, + 0.0000011138793669175835, + 0.0000010803070406828369, + 0.0000011314720881854639, + 0.0000010981262947950846, + 0.000001200532629908426, + 0.000001174486971627099, + 0.0000011389840228184177, + 0.000001085066868257951, + 0.000001111061549679384, + 0.0000011520468806965622, + 0.0000011002124000085783, + 0.000001151195414870574, + 0.0000011163134101095884, + 0.0000011306352913422977, + 0.0000011560810439855025, + 0.0000011244483475948445, + 0.0000011013398743271355, + 0.000001132715713397242, + 0.00000113538630466019, + 0.0000011198362178043707, + 0.000001127023376010637, + 0.0000010868698020545153, + 0.0000011156106929164255, + 0.0000011686348195329088, + 0.0000011326000772051727, + 0.0000011000146475369407, + 0.0000011141144995603593, + 0.0000011214205322867743, + 0.0000010836255763580604, + 0.0000011522540908018616, + 0.0000010760630723369578, + 0.0000011344228913337194, + 0.000001174683523129383, + 0.0000011310407257286238, + 0.0000010964736108430377, + 0.000001116938922130005, + 0.0000011310967852623904, + 0.0000011396916511184027, + 0.0000012041429796907503, + 0.0000010883940680692273, + 0.0000011367571039481869, + 0.0000011372004975444466, + 0.000001110708636256407, + 0.000001144606360848399, + 0.0000011306956829440907, + 0.0000011247924896523623, + 0.000001097898732548414, + 0.0000011417831392481073, + 0.000001116424070857192, + 0.000001116275751141993, + 0.0000011288461901391838, + 0.000001146354328851144, + 0.0000011179462351755345, + 0.000001133504750262712, + 0.0000011311776576808423, + 0.0000010860310107443864, + 0.0000011318408930064981, + 0.0000011231240858693088, + 0.0000011244405412940445 + ], + "variance": 8.698979210414056e-16 }, "times": { - "cycle": 0.05247989608517708, - "elapsed": 5.482, - "period": 0.0000011925080913737747, - "timeStamp": 1520292079110 + "cycle": 0.0524883343498768, + "elapsed": 5.559, + "period": 0.0000011256585890728259, + "timeStamp": 1619569582874 }, "running": false, - "count": 44008, - "cycles": 6, - "hz": 838568.7336074973 + "count": 46629, + "cycles": 4, + "hz": 888368.8266649949 }, - "10": { + "9": { "name": "set-value", "options": { "async": false, @@ -3440,118 +3204,118 @@ null ] }, - "id": 22, + "id": 20, "stats": { - "moe": 2.5278818187641008e-9, - "rme": 1.2051136956316841, - "sem": 1.2897356218184187e-9, - "deviation": 1.2303293691164502e-8, - "mean": 2.097629317405659e-7, + "moe": 8.308694586230485e-10, + "rme": 0.6820902797934877, + "sem": 4.239129890933921e-10, + "deviation": 4.043872182860208e-9, + "mean": 1.218122414637848e-7, "sample": [ - 2.0731833611414765e-7, - 2.1089283454017934e-7, - 2.2297675622806514e-7, - 2.3562105172314595e-7, - 2.0702998064197368e-7, - 2.034020273280254e-7, - 2.1451246433579962e-7, - 2.0784648755552366e-7, - 2.0578824852269192e-7, - 2.0807292040479436e-7, - 2.1865444946848808e-7, - 2.067097817332153e-7, - 2.0706251744459595e-7, - 2.068970390041229e-7, - 2.0650841327942455e-7, - 1.9973675606274473e-7, - 2.0620331028653e-7, - 2.446184039490578e-7, - 2.1323587486144006e-7, - 2.0505234973723453e-7, - 2.1011695255867364e-7, - 2.0770616521926362e-7, - 2.053178265827731e-7, - 2.0826184836957823e-7, - 2.000874582326531e-7, - 2.0768816239622958e-7, - 2.0575986267614057e-7, - 2.104337743327193e-7, - 2.0843597932964903e-7, - 2.0883175833552637e-7, - 2.05703110919719e-7, - 2.0595987144828026e-7, - 2.036392856288428e-7, - 2.0337057904096588e-7, - 2.0720088598610814e-7, - 2.2822246544973165e-7, - 2.0990632551017966e-7, - 2.0321821096198472e-7, - 2.0763213234766382e-7, - 2.1676147355997352e-7, - 3.012332352448623e-7, - 2.067856288427953e-7, - 2.0592402529566098e-7, - 2.0768003620501288e-7, - 2.133129939312743e-7, - 2.124722321905628e-7, - 2.0490595867524741e-7, - 2.0431549797842053e-7, - 2.0665329712832045e-7, - 2.0852973755353e-7, - 2.0880685343349523e-7, - 2.0461300110847947e-7, - 2.2907362616330536e-7, - 2.1544503855754124e-7, - 2.1599095273411647e-7, - 2.0501428662567684e-7, - 2.0974264137100567e-7, - 2.0433289073901288e-7, - 2.084967782323341e-7, - 2.0795593594743096e-7, - 2.033013309728303e-7, - 2.0940872987392044e-7, - 2.0168149557006947e-7, - 2.0921754108949974e-7, - 2.0072066317376016e-7, - 2.0264073701922693e-7, - 2.0164694928905794e-7, - 2.0407286458208728e-7, - 2.061073111796933e-7, - 2.0576117849709322e-7, - 2.313496216017927e-7, - 2.0544462387457434e-7, - 2.0684500426644974e-7, - 2.043613244335989e-7, - 2.023072083064188e-7, - 2.0364799397114765e-7, - 2.050415839294401e-7, - 2.032592167276729e-7, - 2.0741290860227917e-7, - 2.0655270461015811e-7, - 2.0689932374777708e-7, - 2.061068765600453e-7, - 2.0314269878864726e-7, - 2.030951657535667e-7, - 2.076475553641634e-7, - 2.0407625780521066e-7, - 2.0202927502252846e-7, - 2.0230645071253698e-7, - 2.1305845833632382e-7, - 2.219174023301993e-7, - 2.1368755233378788e-7 - ], - "variance": 1.5137103565104823e-16 + 1.2069753699745766e-7, + 1.2931736013732125e-7, + 1.1965386144553932e-7, + 1.2453971911998229e-7, + 1.1859090015141139e-7, + 1.2687994189972727e-7, + 1.2229854820403338e-7, + 1.2709117619879203e-7, + 1.2353221224133885e-7, + 1.26693476040746e-7, + 1.2660412995029887e-7, + 1.1851959838121614e-7, + 1.219149066122099e-7, + 1.265513935901381e-7, + 1.1876916477839633e-7, + 1.2069295558601654e-7, + 1.1809835557296183e-7, + 1.2117324002948884e-7, + 1.2721101971427443e-7, + 1.1973433055886957e-7, + 1.2588013525801584e-7, + 1.2758737932943095e-7, + 1.265833443800248e-7, + 1.266295730395611e-7, + 1.2309677366840855e-7, + 1.2788271204414955e-7, + 1.1854671355115084e-7, + 1.2649920580102466e-7, + 1.1795570858130249e-7, + 1.2487344445142132e-7, + 1.29280958062108e-7, + 1.24129027681846e-7, + 1.2481156902554227e-7, + 1.2428380229445594e-7, + 1.288058782352271e-7, + 1.2090557956678685e-7, + 1.1555184472890285e-7, + 1.3309836103241402e-7, + 1.2209198254647725e-7, + 1.186737459588753e-7, + 1.2091341021522795e-7, + 1.1688406596310313e-7, + 1.194125749920154e-7, + 1.1555813130582037e-7, + 1.225833649270587e-7, + 1.2299724043169666e-7, + 1.2220517539687464e-7, + 1.2143647363474897e-7, + 1.2064561260807926e-7, + 1.215740039934469e-7, + 1.1532561297571535e-7, + 1.1803673143954799e-7, + 1.1746125460406744e-7, + 1.1992701504780417e-7, + 1.2121946954709533e-7, + 1.2224373582590594e-7, + 1.1791097003076654e-7, + 1.1997762015380976e-7, + 1.2803407526889132e-7, + 1.1856698214437529e-7, + 1.2066119808002058e-7, + 1.325818714054957e-7, + 1.2587720035936426e-7, + 1.2042543765926111e-7, + 1.1866259969256432e-7, + 1.2194102198233967e-7, + 1.1725499927621646e-7, + 1.2626777922534483e-7, + 1.1643358309609318e-7, + 1.2172049777924833e-7, + 1.1778812673334666e-7, + 1.195156187889608e-7, + 1.1496946093062478e-7, + 1.2192220820609679e-7, + 1.2143068796198644e-7, + 1.2188949319069054e-7, + 1.1967626656372857e-7, + 1.1740254771801394e-7, + 1.180258609002948e-7, + 1.152727515032869e-7, + 1.2028148286011677e-7, + 1.162370057879705e-7, + 1.1956158478721913e-7, + 1.1935218617090942e-7, + 1.1887686489144397e-7, + 1.1937035198856653e-7, + 1.2360789317954892e-7, + 1.2370024607637277e-7, + 1.161320632715591e-7, + 1.2365264389298764e-7, + 1.2577735229134345e-7 + ], + "variance": 1.6352902231310584e-17 }, "times": { - "cycle": 0.052607284702943485, - "elapsed": 5.409, - "period": 2.097629317405659e-7, - "timeStamp": 1520292084592 + "cycle": 0.05331344190921323, + "elapsed": 5.471, + "period": 1.218122414637848e-7, + "timeStamp": 1619569588434 }, "running": false, - "count": 250794, + "count": 437669, "cycles": 6, - "hz": 4767286.534862111 + "hz": 8209355.545742121 }, "name": "(98 bytes)", "options": { @@ -3566,7 +3330,7 @@ null ] }, - "length": 11, + "length": 10, "running": false } }, @@ -3577,17 +3341,17 @@ "stat": null, "_contents": null, "history": [ - "/Users/jonschlinkert/dev/js-utils/objects/set-value/benchmark/code/deep-object.js" + "/Users/jonschlinkert/dev/js-utils/objects/set-value-master/benchmark/code/deep-object.js" ], - "_cwd": "/Users/jonschlinkert/dev/js-utils/objects/set-value", + "_cwd": "/Users/jonschlinkert/dev/js-utils/objects/set-value-master", "_isVinyl": true, "_symlink": null, "key": "deep-object" }, - "runs": 93, - "hz": 3249286.8201367753, - "ops": "3,249,287", - "rme": "1.04" + "runs": 92, + "hz": 5823295.957631887, + "ops": "5,823,296", + "rme": "0.63" }, { "name": "deep-property", @@ -3595,35 +3359,17 @@ "stat": null, "_contents": null, "history": [ - "/Users/jonschlinkert/dev/js-utils/objects/set-value/benchmark/code/deep-property.js" + "/Users/jonschlinkert/dev/js-utils/objects/set-value-master/benchmark/code/deep-property.js" ], - "_cwd": "/Users/jonschlinkert/dev/js-utils/objects/set-value", + "_cwd": "/Users/jonschlinkert/dev/js-utils/objects/set-value-master", "_isVinyl": true, "_symlink": null, "key": "deep-property" }, - "runs": 88, - "hz": 3409306.7897487264, - "ops": "3,409,307", - "rme": "1.28" - }, - { - "name": "deep-set", - "file": { - "stat": null, - "_contents": null, - "history": [ - "/Users/jonschlinkert/dev/js-utils/objects/set-value/benchmark/code/deep-set.js" - ], - "_cwd": "/Users/jonschlinkert/dev/js-utils/objects/set-value", - "_isVinyl": true, - "_symlink": null, - "key": "deep-set" - }, - "runs": 93, - "hz": 3240776.2932406566, - "ops": "3,240,776", - "rme": "1.13" + "runs": 91, + "hz": 4045997.8671897626, + "ops": "4,045,998", + "rme": "0.69" }, { "name": "deephas", @@ -3631,17 +3377,17 @@ "stat": null, "_contents": null, "history": [ - "/Users/jonschlinkert/dev/js-utils/objects/set-value/benchmark/code/deephas.js" + "/Users/jonschlinkert/dev/js-utils/objects/set-value-master/benchmark/code/deephas.js" ], - "_cwd": "/Users/jonschlinkert/dev/js-utils/objects/set-value", + "_cwd": "/Users/jonschlinkert/dev/js-utils/objects/set-value-master", "_isVinyl": true, "_symlink": null, "key": "deephas" }, - "runs": 89, - "hz": 960504.2730526485, - "ops": "960,504", - "rme": "1.39" + "runs": 92, + "hz": 1237998.9398645463, + "ops": "1,237,999", + "rme": "0.56" }, { "name": "dot-prop", @@ -3649,17 +3395,17 @@ "stat": null, "_contents": null, "history": [ - "/Users/jonschlinkert/dev/js-utils/objects/set-value/benchmark/code/dot-prop.js" + "/Users/jonschlinkert/dev/js-utils/objects/set-value-master/benchmark/code/dot-prop.js" ], - "_cwd": "/Users/jonschlinkert/dev/js-utils/objects/set-value", + "_cwd": "/Users/jonschlinkert/dev/js-utils/objects/set-value-master", "_isVinyl": true, "_symlink": null, "key": "dot-prop" }, - "runs": 94, - "hz": 2776387.9547732947, - "ops": "2,776,388", - "rme": "0.80" + "runs": 93, + "hz": 2833081.6329252096, + "ops": "2,833,082", + "rme": "0.82" }, { "name": "dot2val", @@ -3667,17 +3413,17 @@ "stat": null, "_contents": null, "history": [ - "/Users/jonschlinkert/dev/js-utils/objects/set-value/benchmark/code/dot2val.js" + "/Users/jonschlinkert/dev/js-utils/objects/set-value-master/benchmark/code/dot2val.js" ], - "_cwd": "/Users/jonschlinkert/dev/js-utils/objects/set-value", + "_cwd": "/Users/jonschlinkert/dev/js-utils/objects/set-value-master", "_isVinyl": true, "_symlink": null, "key": "dot2val" }, - "runs": 91, - "hz": 3889791.403908745, - "ops": "3,889,791", - "rme": "1.28" + "runs": 94, + "hz": 4669511.029926457, + "ops": "4,669,511", + "rme": "0.50" }, { "name": "es5-dot-prop", @@ -3685,17 +3431,17 @@ "stat": null, "_contents": null, "history": [ - "/Users/jonschlinkert/dev/js-utils/objects/set-value/benchmark/code/es5-dot-prop.js" + "/Users/jonschlinkert/dev/js-utils/objects/set-value-master/benchmark/code/es5-dot-prop.js" ], - "_cwd": "/Users/jonschlinkert/dev/js-utils/objects/set-value", + "_cwd": "/Users/jonschlinkert/dev/js-utils/objects/set-value-master", "_isVinyl": true, "_symlink": null, "key": "es5-dot-prop" }, - "runs": 91, - "hz": 2779603.9885629625, - "ops": "2,779,604", - "rme": "1.32" + "runs": 92, + "hz": 3348092.164223097, + "ops": "3,348,092", + "rme": "0.71" }, { "name": "lodash-set", @@ -3703,17 +3449,17 @@ "stat": null, "_contents": null, "history": [ - "/Users/jonschlinkert/dev/js-utils/objects/set-value/benchmark/code/lodash-set.js" + "/Users/jonschlinkert/dev/js-utils/objects/set-value-master/benchmark/code/lodash-set.js" ], - "_cwd": "/Users/jonschlinkert/dev/js-utils/objects/set-value", + "_cwd": "/Users/jonschlinkert/dev/js-utils/objects/set-value-master", "_isVinyl": true, "_symlink": null, "key": "lodash-set" }, - "runs": 90, - "hz": 2791303.675214161, - "ops": "2,791,304", - "rme": "0.75" + "runs": 94, + "hz": 3051898.298870957, + "ops": "3,051,898", + "rme": "0.61" }, { "name": "object-path-set", @@ -3721,17 +3467,17 @@ "stat": null, "_contents": null, "history": [ - "/Users/jonschlinkert/dev/js-utils/objects/set-value/benchmark/code/object-path-set.js" + "/Users/jonschlinkert/dev/js-utils/objects/set-value-master/benchmark/code/object-path-set.js" ], - "_cwd": "/Users/jonschlinkert/dev/js-utils/objects/set-value", + "_cwd": "/Users/jonschlinkert/dev/js-utils/objects/set-value-master", "_isVinyl": true, "_symlink": null, "key": "object-path-set" }, - "runs": 91, - "hz": 2462083.580331225, - "ops": "2,462,084", - "rme": "1.51" + "runs": 92, + "hz": 3867590.286574476, + "ops": "3,867,590", + "rme": "0.48" }, { "name": "object-set", @@ -3739,17 +3485,17 @@ "stat": null, "_contents": null, "history": [ - "/Users/jonschlinkert/dev/js-utils/objects/set-value/benchmark/code/object-set.js" + "/Users/jonschlinkert/dev/js-utils/objects/set-value-master/benchmark/code/object-set.js" ], - "_cwd": "/Users/jonschlinkert/dev/js-utils/objects/set-value", + "_cwd": "/Users/jonschlinkert/dev/js-utils/objects/set-value-master", "_isVinyl": true, "_symlink": null, "key": "object-set" }, - "runs": 90, - "hz": 838568.7336074973, - "ops": "838,569", - "rme": "0.87" + "runs": 96, + "hz": 888368.8266649949, + "ops": "888,369", + "rme": "0.52" }, { "name": "set-value", @@ -3757,17 +3503,17 @@ "stat": null, "_contents": null, "history": [ - "/Users/jonschlinkert/dev/js-utils/objects/set-value/benchmark/code/set-value.js" + "/Users/jonschlinkert/dev/js-utils/objects/set-value-master/benchmark/code/set-value.js" ], - "_cwd": "/Users/jonschlinkert/dev/js-utils/objects/set-value", + "_cwd": "/Users/jonschlinkert/dev/js-utils/objects/set-value-master", "_isVinyl": true, "_symlink": null, "key": "set-value" }, "runs": 91, - "hz": 4767286.534862111, - "ops": "4,767,287", - "rme": "1.21" + "hz": 8209355.545742121, + "ops": "8,209,356", + "rme": "0.68" } ], "fastest": [ @@ -3780,9 +3526,9 @@ "stat": null, "_contents": null, "history": [ - "/Users/jonschlinkert/dev/js-utils/objects/set-value/benchmark/fixtures/shallow.js" + "/Users/jonschlinkert/dev/js-utils/objects/set-value-master/benchmark/fixtures/shallow.js" ], - "_cwd": "/Users/jonschlinkert/dev/js-utils/objects/set-value", + "_cwd": "/Users/jonschlinkert/dev/js-utils/objects/set-value-master", "_isVinyl": true, "_symlink": null, "key": "shallow", @@ -3851,115 +3597,119 @@ null ] }, - "id": 23, + "id": 21, "stats": { - "moe": 1.5684158402474638e-9, - "rme": 0.751768014575761, - "sem": 8.002121633915632e-10, - "deviation": 7.50665548474838e-9, - "mean": 2.0863029682535173e-7, + "moe": 8.522309467645558e-10, + "rme": 0.8146185349551064, + "sem": 4.3481170753293665e-10, + "deviation": 4.170567387383776e-9, + "mean": 1.0461718094979538e-7, "sample": [ - 2.1001871123299773e-7, - 2.0228023780162337e-7, - 2.0287815059542434e-7, - 2.0376368555704846e-7, - 2.134299607958624e-7, - 2.370926358800685e-7, - 2.0695637113250262e-7, - 2.0259238004086065e-7, - 2.0473958513555796e-7, - 2.1804920947525355e-7, - 2.086555410355046e-7, - 2.0646582613977287e-7, - 1.9894581362389794e-7, - 2.09704544366936e-7, - 2.245628904308774e-7, - 2.0852786438681415e-7, - 2.0662200217187242e-7, - 2.0427380685060095e-7, - 2.041167915186542e-7, - 2.050432202609928e-7, - 2.0515246176216156e-7, - 2.0400057057665053e-7, - 2.066074911192505e-7, - 2.0277566030443023e-7, - 2.0519106955513426e-7, - 2.0515149730356518e-7, - 2.1409967790027793e-7, - 2.142690287312952e-7, - 2.1188141208518158e-7, - 2.0705600485910437e-7, - 2.2556370764388654e-7, - 2.0955087150981945e-7, - 2.1875296975943753e-7, - 2.0765057149693545e-7, - 2.0400598553312106e-7, - 2.128643647273196e-7, - 2.0844899596915207e-7, - 2.076155859454087e-7, - 2.033919640720767e-7, - 2.0808783935506433e-7, - 2.0522173344867573e-7, - 2.0635268263054242e-7, - 2.106671292632199e-7, - 2.1349054499272974e-7, - 2.0570560821630377e-7, - 2.103270324492463e-7, - 2.1310034418656014e-7, - 2.2170824759345493e-7, - 2.038322688704423e-7, - 2.0200877215585945e-7, - 2.0411618781174652e-7, - 2.0069851834127846e-7, - 2.0902646739430525e-7, - 2.0984629033148661e-7, - 2.092147945003773e-7, - 2.1092921168393736e-7, - 2.032365942095673e-7, - 2.0279073089028365e-7, - 2.0626000257679778e-7, - 2.0265158749148736e-7, - 2.0494582834845667e-7, - 2.0673083874767627e-7, - 2.0447247427803648e-7, - 2.42355340413392e-7, - 2.0907090979367212e-7, - 2.023403103200751e-7, - 2.011511512764352e-7, - 2.0230278110102888e-7, - 2.0540886418435147e-7, - 2.1229734037658058e-7, - 2.0376400949734037e-7, - 2.052456792622996e-7, - 2.0293004362150524e-7, - 2.0364533691630928e-7, - 2.0558373304375034e-7, - 2.0465264397857576e-7, - 2.1719588080469713e-7, - 2.083361616756548e-7, - 2.0437366144558355e-7, - 2.0551067714564428e-7, - 2.3378643131913642e-7, - 2.0548479137140857e-7, - 2.052059965765401e-7, - 2.1455118072555264e-7, - 2.1013096390642543e-7, - 2.1332611952660543e-7, - 2.0491554361230237e-7, - 2.077297196812133e-7 - ], - "variance": 5.634987656670292e-17 + 1.018979131135726e-7, + 1.0423253168251371e-7, + 1.026542406810043e-7, + 9.992297244475329e-8, + 1.020632420352742e-7, + 1.0211882829989775e-7, + 1.0076628381232899e-7, + 1.0267388154284112e-7, + 1.0224675350313693e-7, + 1.0384630813391083e-7, + 1.005184998006104e-7, + 1.0538993299720065e-7, + 9.91660204601359e-8, + 1.0712627678433942e-7, + 1.0976801317155796e-7, + 1.0186392746167179e-7, + 1.0125137105021064e-7, + 1.0510836611747073e-7, + 1.039351650489214e-7, + 9.952340835262308e-8, + 1.0207259818319749e-7, + 1.0038090023147698e-7, + 1.018966951312027e-7, + 1.0263026123830457e-7, + 1.0044130016145034e-7, + 1.0512865646093096e-7, + 9.778686027738333e-8, + 1.0468070182263806e-7, + 9.890936411912311e-8, + 1.0201947713435391e-7, + 1.0324177089614658e-7, + 1.0205977358050147e-7, + 1.0263776770604369e-7, + 9.77133303507168e-8, + 9.948849812289677e-8, + 1.0386179851776926e-7, + 1.0160744422182886e-7, + 9.841692894240308e-8, + 1.0480228559201697e-7, + 1.0955764360326013e-7, + 1.0461613336186271e-7, + 1.0389472465910638e-7, + 9.82363224338151e-8, + 9.99762278978389e-8, + 9.933038573012507e-8, + 9.853564939991053e-8, + 9.845994281156995e-8, + 1.0133187185123228e-7, + 1.0321690560018673e-7, + 1.0306000116711083e-7, + 1.0107926044077885e-7, + 9.770244509716197e-8, + 1.0092614133711996e-7, + 1.0884495127312338e-7, + 1.1177921181116147e-7, + 1.0536333715886323e-7, + 1.1005613024956719e-7, + 1.0929394464004357e-7, + 1.0624951467641853e-7, + 1.0919258301075687e-7, + 1.0720353440059134e-7, + 1.070468478282013e-7, + 1.0716717306308234e-7, + 1.1105293625629753e-7, + 1.0753751094166391e-7, + 1.0881178392888405e-7, + 1.1479432200587446e-7, + 1.0645247719270945e-7, + 1.0235508957575521e-7, + 1.0355517905425121e-7, + 1.0864349238460193e-7, + 1.0567159252271002e-7, + 1.0857445583458148e-7, + 1.0490005446517147e-7, + 1.0680824174755393e-7, + 1.0903962535742769e-7, + 1.1107167422046723e-7, + 1.0549259273668035e-7, + 1.1859379291563734e-7, + 1.0945238382384408e-7, + 1.088404073216752e-7, + 1.0524171448579042e-7, + 1.0681481063626991e-7, + 1.1103662977299694e-7, + 1.1148531580073528e-7, + 1.0518213736894318e-7, + 1.0756468906222646e-7, + 1.0747047209632555e-7, + 1.0725755023439474e-7, + 1.0891321363963509e-7, + 1.0572437510941664e-7, + 1.0847089420140443e-7 + ], + "variance": 1.7393632332709137e-17 }, "times": { - "cycle": 0.05667546328409093, - "elapsed": 5.329, - "period": 2.0863029682535173e-7, - "timeStamp": 1520292090005 + "cycle": 0.053782646554480305, + "elapsed": 5.547, + "period": 1.0461718094979538e-7, + "timeStamp": 1619569593909 }, "running": false, - "count": 271655, - "cycles": 3, - "hz": 4793167.70007339 + "count": 514090, + "cycles": 7, + "hz": 9558659.399165887 }, "1": { "name": "deep-property", @@ -3993,120 +3743,123 @@ null ] }, - "id": 24, + "id": 22, "stats": { - "moe": 2.4989043859622564e-9, - "rme": 1.1667929264637027, - "sem": 1.2749512173276819e-9, - "deviation": 1.2095249257079426e-8, - "mean": 2.1416862660762743e-7, + "moe": 1.381327898946369e-9, + "rme": 0.7170186472335061, + "sem": 7.047591321154944e-10, + "deviation": 6.796450940742322e-9, + "mean": 1.9264881105616802e-7, "sample": [ - 2.163913258808547e-7, - 2.2068229301059606e-7, - 2.0854853482094068e-7, - 2.17649661944492e-7, - 2.1453447024377512e-7, - 2.0640576447848107e-7, - 2.0896476311647214e-7, - 2.5133540081394304e-7, - 2.1415317299144461e-7, - 2.0922290050810272e-7, - 2.0589550863285296e-7, - 2.085482942265502e-7, - 2.1326882141371634e-7, - 2.1142348690595612e-7, - 2.2014336571162927e-7, - 2.0528059014949474e-7, - 2.149784729188585e-7, - 2.0584287555153208e-7, - 2.080409010463817e-7, - 2.0905740419042029e-7, - 2.1194301990816633e-7, - 2.0697709052058102e-7, - 2.1458487680751633e-7, - 2.1110652214691755e-7, - 2.161319925293403e-7, - 2.366606925856149e-7, - 2.0652377806594733e-7, - 2.1388690024711897e-7, - 2.1129074812621825e-7, - 2.1983524177697306e-7, - 2.0802464257460464e-7, - 2.138103993866882e-7, - 2.0775035273584367e-7, - 2.3654797207473924e-7, - 2.909719727924445e-7, - 2.089656276251295e-7, - 2.1348414523745441e-7, - 2.1966130018839765e-7, - 2.0529854093774723e-7, - 2.0800702617177625e-7, - 2.0929202449984912e-7, - 2.1364874034564034e-7, - 2.42185897906421e-7, - 2.1345415249606484e-7, - 2.169430769983607e-7, - 2.1400893053754495e-7, - 2.1277365369088108e-7, - 2.1283505827277694e-7, - 2.1958833076427457e-7, - 2.0897833427124367e-7, - 2.0545533507866213e-7, - 2.063055711873945e-7, - 2.14037540880657e-7, - 2.0968526991428314e-7, - 2.071605906388393e-7, - 2.0426822604454667e-7, - 2.1371066944501988e-7, - 2.2116768011568346e-7, - 2.2673056066680476e-7, - 2.414025525104696e-7, - 2.050353062078322e-7, - 2.0546768133425946e-7, - 2.0984777142764298e-7, - 2.090950388620448e-7, - 2.0966594842425447e-7, - 2.0676913636750248e-7, - 2.152035245181228e-7, - 2.1741544113179883e-7, - 2.1051922446020438e-7, - 2.072957363132293e-7, - 2.1284939995706747e-7, - 2.0637531541237508e-7, - 2.075410998019433e-7, - 2.0602856633684217e-7, - 2.0942947521051118e-7, - 2.1265474951295874e-7, - 2.391562136744175e-7, - 2.1528636000955855e-7, - 2.153236465113265e-7, - 2.0471565700954642e-7, - 2.1246710598260828e-7, - 2.0943400742813865e-7, - 2.0668174435700427e-7, - 2.2010486286509942e-7, - 2.1354362978434039e-7, - 2.0263051292014765e-7, - 2.0576583851434491e-7, - 2.1337095638235865e-7, - 2.0988423811126603e-7, - 2.1015515859659245e-7 - ], - "variance": 1.462950545908804e-16 + 1.8756784825080188e-7, + 1.88879900109909e-7, + 1.915311490145679e-7, + 1.952752012911982e-7, + 1.9768584634007665e-7, + 1.9238633237349375e-7, + 1.8720468792986448e-7, + 1.938200713459031e-7, + 1.8645555164886683e-7, + 2.0069138135630466e-7, + 1.8521180357169017e-7, + 2.104195270953281e-7, + 1.9286803205438112e-7, + 1.9865512240144154e-7, + 1.9891081029607817e-7, + 1.8818791294920817e-7, + 1.943105890798283e-7, + 1.854459668322126e-7, + 1.943956657730116e-7, + 1.8561796612900862e-7, + 1.9412445245315635e-7, + 2.0381437612622513e-7, + 1.8913750201438638e-7, + 1.935806963184342e-7, + 1.873562204251454e-7, + 1.8609975973864254e-7, + 1.8833478735404854e-7, + 1.9682820946688349e-7, + 2.043358458225289e-7, + 2.1782992352656793e-7, + 1.948785508138121e-7, + 1.8990680716096048e-7, + 1.9436876822104044e-7, + 1.859754501237932e-7, + 1.9838801110476273e-7, + 1.846690326550345e-7, + 1.9516624547678694e-7, + 1.8378725882301235e-7, + 1.97436327077748e-7, + 1.9061488228658493e-7, + 1.9481328103253784e-7, + 2.1095389252699277e-7, + 1.8795992469857455e-7, + 1.9674559032508532e-7, + 1.845315452907309e-7, + 1.9781318214447912e-7, + 2.0046263496388756e-7, + 2.047818163172622e-7, + 1.9222087929796803e-7, + 1.848603407609253e-7, + 1.9659888073367616e-7, + 1.915060687967887e-7, + 1.9736940549964108e-7, + 1.8417739785229787e-7, + 1.938397537321086e-7, + 1.873940579264273e-7, + 1.885388483569932e-7, + 1.9710819452379904e-7, + 1.9323139073235766e-7, + 1.9114620416355352e-7, + 1.8546989041738086e-7, + 1.908418596815072e-7, + 1.8427520546741092e-7, + 1.9260754992015704e-7, + 1.8587451105348745e-7, + 1.901483394131177e-7, + 1.9359091475116836e-7, + 1.8510618379993846e-7, + 1.95551315577433e-7, + 1.9601884045809602e-7, + 1.950688712872732e-7, + 1.8640321645001113e-7, + 1.9080939541976936e-7, + 1.9169404686764616e-7, + 1.8792212805236217e-7, + 1.916081848729072e-7, + 1.9763334804864076e-7, + 1.8414170111386366e-7, + 1.8653590960666348e-7, + 1.962148665954008e-7, + 1.8639076802959602e-7, + 1.9228162909398705e-7, + 1.9207255984326375e-7, + 1.8407750345688111e-7, + 1.9500718374554437e-7, + 1.9054342171030789e-7, + 1.8618446428375978e-7, + 1.8649348209171408e-7, + 1.9407045835142345e-7, + 1.8506596714229945e-7, + 2.1472884917782782e-7, + 1.980967087573105e-7, + 1.95602391176653e-7 + ], + "variance": 4.619174538991719e-17 }, "times": { - "cycle": 0.053448779130705934, - "elapsed": 5.404, - "period": 2.1416862660762743e-7, - "timeStamp": 1520292095334 + "cycle": 0.05280330527119615, + "elapsed": 5.506, + "period": 1.9264881105616802e-7, + "timeStamp": 1619569599456 }, "running": false, - "count": 249564, - "cycles": 4, - "hz": 4669217.970156166 + "count": 274091, + "cycles": 6, + "hz": 5190792.481498593 }, "2": { - "name": "deep-set", + "name": "deephas", "options": { "async": false, "defer": false, @@ -4137,121 +3890,120 @@ null ] }, - "id": 25, + "id": 23, "stats": { - "moe": 1.5637331399373802e-9, - "rme": 0.7268618201717163, - "sem": 7.97823030580296e-10, - "deviation": 7.61074664663815e-9, - "mean": 2.1513485734715832e-7, + "moe": 3.919856276232197e-9, + "rme": 0.5468557257754366, + "sem": 1.9999266715470395e-9, + "deviation": 1.8972970306224322e-8, + "mean": 7.167989821582055e-7, "sample": [ - 2.096954305428991e-7, - 2.1239783286045706e-7, - 2.2495514108691238e-7, - 2.134083303156797e-7, - 2.1301442106812998e-7, - 2.0931965905156806e-7, - 2.0793904074429265e-7, - 2.115170931838169e-7, - 2.1615908141297817e-7, - 2.1253526675394652e-7, - 2.1734824651112818e-7, - 2.0964314223295754e-7, - 2.0655755096518488e-7, - 2.1352460614646298e-7, - 2.1297584948607038e-7, - 2.1600592521259534e-7, - 2.0991217633178006e-7, - 2.104397072809681e-7, - 2.1221419106323543e-7, - 2.5137103211711945e-7, - 2.091874141958384e-7, - 2.090002944699342e-7, - 2.120423002081186e-7, - 2.2416623623651506e-7, - 2.180445644431534e-7, - 2.1841129093231567e-7, - 2.2172974822820624e-7, - 2.1860802072431644e-7, - 2.2079243053096113e-7, - 2.1980438839788457e-7, - 2.1521567933020027e-7, - 2.1786615545624933e-7, - 2.1376061186077145e-7, - 2.0923904989673655e-7, - 2.141346443877612e-7, - 2.1361707368513205e-7, - 2.363616050999009e-7, - 2.226019840906649e-7, - 2.0565003442114773e-7, - 2.2095110207362543e-7, - 2.1880024990151175e-7, - 2.139830759374291e-7, - 2.167399074409369e-7, - 2.119256582795793e-7, - 2.1847441891929535e-7, - 2.1129596218051006e-7, - 2.0646428358250528e-7, - 2.1319153677491755e-7, - 2.1410423041874422e-7, - 2.2269243809167567e-7, - 2.1777800548350769e-7, - 2.0642196745709295e-7, - 2.1229642776135202e-7, - 2.1314173554212312e-7, - 2.4088526416738626e-7, - 2.121525951157784e-7, - 2.1725617292547922e-7, - 2.2428705645466158e-7, - 2.0983607575040092e-7, - 2.2354923417920484e-7, - 2.154979247828284e-7, - 2.1543236144990627e-7, - 2.119313606500623e-7, - 2.1072990740114365e-7, - 2.0574420113092372e-7, - 2.1255419241620538e-7, - 2.1560698610022322e-7, - 2.125716138942057e-7, - 2.051254242953613e-7, - 2.1005197394339016e-7, - 2.173178245834643e-7, - 2.1951880429289412e-7, - 2.0769255349205528e-7, - 2.1777972057190836e-7, - 2.0850226224537302e-7, - 2.1110664984739297e-7, - 2.1469968046032814e-7, - 2.1313052976732896e-7, - 2.1441856513555565e-7, - 2.0998343009721488e-7, - 2.224690667292747e-7, - 2.0549439910226464e-7, - 2.1911027501104264e-7, - 2.102765589994389e-7, - 2.160030322444578e-7, - 2.100838881173423e-7, - 2.118062308246352e-7, - 2.0826058201584566e-7, - 2.397008702780353e-7, - 2.0868748781332198e-7, - 2.185890114962654e-7 - ], - "variance": 5.792346451931385e-17 + 7.281175758623671e-7, + 7.446679634592663e-7, + 7.306233021473257e-7, + 7.379257186930304e-7, + 7.130471322395176e-7, + 7.440866084628043e-7, + 7.182512761150317e-7, + 7.074230146997294e-7, + 7.173710775152715e-7, + 7.423932805221611e-7, + 7.118835039468913e-7, + 7.607879557055591e-7, + 7.294591931870365e-7, + 7.46226486509052e-7, + 7.292341677914922e-7, + 7.18678596774418e-7, + 7.090734870517513e-7, + 7.16844022654217e-7, + 7.137461558799382e-7, + 7.430053156700945e-7, + 7.102684552551382e-7, + 7.225049051667757e-7, + 7.288379416389519e-7, + 7.277424543923856e-7, + 7.228898320415234e-7, + 7.084706037877628e-7, + 7.309383688407108e-7, + 7.022869209468016e-7, + 7.415950210817806e-7, + 7.2523311022362e-7, + 7.506128744973074e-7, + 7.404737764913794e-7, + 7.1300891975008e-7, + 7.397454740269679e-7, + 7.03543242002143e-7, + 7.363752835255973e-7, + 7.025876737681421e-7, + 7.324508996284598e-7, + 6.98692748702392e-7, + 7.227370691454572e-7, + 7.40988464160973e-7, + 7.173781222604122e-7, + 7.602033035080639e-7, + 7.100235865466234e-7, + 7.293283469935851e-7, + 7.452958824429818e-7, + 7.17696227544077e-7, + 7.218707654388608e-7, + 7.369810351910174e-7, + 6.951748733397234e-7, + 7.097357798165138e-7, + 6.879900809938161e-7, + 7.095342308323756e-7, + 7.208212984612038e-7, + 6.999631613289109e-7, + 6.912199173508782e-7, + 7.183458077320428e-7, + 7.02806821271274e-7, + 6.841862731770975e-7, + 7.05375944755587e-7, + 7.438602849219727e-7, + 6.922853433744767e-7, + 7.337599641128812e-7, + 6.852681338698276e-7, + 6.848751427328584e-7, + 7.315561823718123e-7, + 7.062875047577619e-7, + 6.861193790440976e-7, + 6.903695693545756e-7, + 7.089685851775325e-7, + 6.907047061062476e-7, + 7.196014762655646e-7, + 7.255862143796878e-7, + 7.087766414843549e-7, + 7.105100164114527e-7, + 6.894876507208832e-7, + 7.154314720123696e-7, + 7.188898398187958e-7, + 6.793182872411127e-7, + 7.193182194251923e-7, + 6.908063719838869e-7, + 7.2462850438769e-7, + 7.110194224796213e-7, + 7.153342782351586e-7, + 6.958403748864083e-7, + 6.843565761098075e-7, + 7.144111407994141e-7, + 7.203582198246797e-7, + 6.846263789615645e-7, + 7.007911800404585e-7 + ], + "variance": 3.5997360224086984e-16 }, "times": { - "cycle": 0.054063174516483535, - "elapsed": 5.267, - "period": 2.1513485734715832e-7, - "timeStamp": 1520292100738 + "cycle": 0.05315064452703094, + "elapsed": 5.46, + "period": 7.167989821582055e-7, + "timeStamp": 1619569604962 }, "running": false, - "count": 251299, + "count": 74150, "cycles": 3, - "hz": 4648247.2079655705 + "hz": 1395091.2667162367 }, "3": { - "name": "deephas", + "name": "dot-prop", "options": { "async": false, "defer": false, @@ -4282,122 +4034,124 @@ null ] }, - "id": 26, + "id": 24, "stats": { - "moe": 1.3395794506372815e-8, - "rme": 1.6696702367359029, - "sem": 6.834589033863681e-9, - "deviation": 6.555507507498173e-8, - "mean": 8.023018085631522e-7, + "moe": 1.597244208802582e-9, + "rme": 0.6713572395023587, + "sem": 8.149205146951948e-10, + "deviation": 7.900947528966488e-9, + "mean": 2.379127109713651e-7, "sample": [ - 8.021073797430534e-7, - 7.679972512697938e-7, - 8.056580968031072e-7, - 7.720044965640872e-7, - 7.900122647146698e-7, - 8.308593516582013e-7, - 7.930219300866447e-7, - 7.82281894233642e-7, - 7.655855691664176e-7, - 7.775527786077083e-7, - 8.105889752016731e-7, - 7.804058858679415e-7, - 7.783021810576636e-7, - 7.497318643561398e-7, - 7.803980729011055e-7, - 8.519738870630415e-7, - 7.829311174185837e-7, - 7.950567373767553e-7, - 7.508155960561696e-7, - 0.0000011193320585599045, - 8.410944278458322e-7, - 9.376705109052884e-7, - 7.840644607110846e-7, - 8.095936510307738e-7, - 7.735841948013146e-7, - 7.648704212727816e-7, - 7.802251717956378e-7, - 7.688251120406334e-7, - 7.703336868837765e-7, - 7.983011353450852e-7, - 7.906710038840752e-7, - 7.8926959964147e-7, - 9.032550194203764e-7, - 7.684624887959367e-7, - 7.725113086345982e-7, - 7.748829847624738e-7, - 7.911257693456826e-7, - 7.503979533910965e-7, - 7.632597848819838e-7, - 7.830132656109949e-7, - 7.902792948909471e-7, - 8.030216761278757e-7, - 7.847512996713474e-7, - 7.796695697639678e-7, - 7.637313265610995e-7, - 7.897946818046012e-7, - 7.697942037645652e-7, - 7.672419928293994e-7, - 7.542876008365701e-7, - 7.894933821332537e-7, - 8.683033612190021e-7, - 7.679015685688676e-7, - 7.813208843740664e-7, - 7.878093516582014e-7, - 7.963016582013743e-7, - 7.681341649238124e-7, - 8.176308037048102e-7, - 7.873840752913057e-7, - 7.782390498954287e-7, - 8.053539139527935e-7, - 8.030183298476247e-7, - 7.919014191813565e-7, - 7.799569166417687e-7, - 8.166486555123992e-7, - 8.136703316402749e-7, - 7.812615177771139e-7, - 8.139883776516283e-7, - 0.0000010723801912160143, - 0.000001152501374365103, - 7.811713922916045e-7, - 7.861896773229758e-7, - 7.84098625634897e-7, - 7.88363907977293e-7, - 7.896726322079474e-7, - 7.946841948013146e-7, - 8.321028831789662e-7, - 7.903808186435613e-7, - 7.841121153271586e-7, - 7.721093217806992e-7, - 7.977207798028085e-7, - 7.86574320286824e-7, - 7.625934568270093e-7, - 7.652535255452644e-7, - 7.756806244397968e-7, - 8.454303854197789e-7, - 8.376563788467284e-7, - 8.731561846429639e-7, - 7.916419778906484e-7, - 7.732573648043024e-7, - 7.745952942933971e-7, - 7.724299521959965e-7, - 7.750902599342694e-7 - ], - "variance": 4.2974678680864905e-15 + 2.291749005334618e-7, + 2.388038234402041e-7, + 2.254229201234634e-7, + 2.3212626897892915e-7, + 2.3408879730236046e-7, + 2.3495338899891165e-7, + 2.368982452853753e-7, + 2.329398963407019e-7, + 2.2789439151456762e-7, + 2.261235258434584e-7, + 2.358831647308605e-7, + 2.246048992845546e-7, + 2.3451264072507984e-7, + 2.2566976217238488e-7, + 2.2712022069974487e-7, + 2.3333143321022674e-7, + 2.286873583828436e-7, + 2.2335719192135454e-7, + 2.2786476119110065e-7, + 2.2984488572499062e-7, + 2.2557604060732574e-7, + 2.3525061107245447e-7, + 2.25551499580724e-7, + 2.3333264197398705e-7, + 2.3126382272654284e-7, + 2.34351522774715e-7, + 2.4793814341023036e-7, + 2.3677285054149047e-7, + 2.5420150225695373e-7, + 2.5884477421541865e-7, + 2.5706674070902247e-7, + 2.3634172331352923e-7, + 2.4144581526878266e-7, + 2.4496603418437437e-7, + 2.408752698531642e-7, + 2.3426864440043533e-7, + 2.3144431211975236e-7, + 2.4362771414298206e-7, + 2.3525934450213207e-7, + 2.4268562329390356e-7, + 2.36381741868722e-7, + 2.3760630430516155e-7, + 2.416590171100287e-7, + 2.3770113204517475e-7, + 2.3423057503256082e-7, + 2.3347568645292513e-7, + 2.532277560705811e-7, + 2.342140091705472e-7, + 2.3349603471962035e-7, + 2.3871758193723346e-7, + 2.4025429980909564e-7, + 2.4015060482791844e-7, + 2.49522868383022e-7, + 2.3301605737836535e-7, + 2.4754380988064015e-7, + 2.4643927634748166e-7, + 2.3993625220788955e-7, + 2.3309286517154632e-7, + 2.47447983014862e-7, + 2.4141783974736395e-7, + 2.389568324144945e-7, + 2.637216230441221e-7, + 2.3198188192474442e-7, + 2.447480240503845e-7, + 2.489319077949651e-7, + 2.4704961283876607e-7, + 2.3647591393245194e-7, + 2.400565085906974e-7, + 2.360743947260433e-7, + 2.4114582329747183e-7, + 2.3535995289835681e-7, + 2.3349475905011686e-7, + 2.4175930435868614e-7, + 2.3385958714696068e-7, + 2.463925226141412e-7, + 2.3121760869953074e-7, + 2.407223010223198e-7, + 2.3953514335670574e-7, + 2.441020714018091e-7, + 2.319767435636675e-7, + 2.3438994451283698e-7, + 2.394888312012703e-7, + 2.3577062035005087e-7, + 2.4520188584988137e-7, + 2.3328710592517264e-7, + 2.418596362111724e-7, + 2.444510963621117e-7, + 2.540370747024925e-7, + 2.3267561419472246e-7, + 2.3255606701279238e-7, + 2.4445863440917766e-7, + 2.3591970864779032e-7, + 2.421878713268747e-7, + 2.4004942104230225e-7 + ], + "variance": 6.242497185548165e-17 }, "times": { - "cycle": 0.05370608306521741, - "elapsed": 5.298, - "period": 8.023018085631522e-7, - "timeStamp": 1520292106005 + "cycle": 0.053339078148936174, + "elapsed": 5.479, + "period": 2.379127109713651e-7, + "timeStamp": 1619569610422 }, "running": false, - "count": 66940, - "cycles": 3, - "hz": 1246413.7427172286 + "count": 224196, + "cycles": 7, + "hz": 4203222.248685816 }, "4": { - "name": "dot-prop", + "name": "dot2val", "options": { "async": false, "defer": false, @@ -4428,119 +4182,123 @@ null ] }, - "id": 27, + "id": 25, "stats": { - "moe": 3.1351276739495408e-9, - "rme": 1.2269930540392353, - "sem": 1.5995549356885413e-9, - "deviation": 1.5090171082973713e-8, - "mean": 2.555130743103041e-7, + "moe": 8.849911648338801e-10, + "rme": 0.5229356259016569, + "sem": 4.515261045070817e-10, + "deviation": 4.354360061337903e-9, + "mean": 1.692352023842245e-7, "sample": [ - 2.523754149163281e-7, - 2.451490163671005e-7, - 2.483692078139706e-7, - 2.4400454055046714e-7, - 2.4456339095103645e-7, - 2.460862061841471e-7, - 2.4976433211670454e-7, - 2.5249136652663954e-7, - 2.482910543351009e-7, - 2.980423570461171e-7, - 2.4265251245322867e-7, - 2.4696411174620666e-7, - 2.4714896586552806e-7, - 2.444716479581296e-7, - 2.526262562266143e-7, - 2.4928876799118515e-7, - 2.464773546358148e-7, - 2.4962804214585773e-7, - 2.53528655051305e-7, - 2.389983196749535e-7, - 2.438074742327204e-7, - 2.502911507471937e-7, - 2.5018095631613986e-7, - 2.518100360397585e-7, - 2.518790257787572e-7, - 2.5765027201983334e-7, - 2.84877845878383e-7, - 2.4940595459449536e-7, - 2.4192438996396026e-7, - 2.4726864541009574e-7, - 2.485035006771802e-7, - 2.622827583040654e-7, - 2.548346624428988e-7, - 2.5216571402336845e-7, - 2.8040963661823104e-7, - 2.690042696783968e-7, - 2.6873808966324634e-7, - 2.571672152973854e-7, - 2.5754026123086106e-7, - 2.5744752197966166e-7, - 2.7370170098478067e-7, - 3.2599296191722336e-7, - 3.130413470146684e-7, - 2.970754998507908e-7, - 2.6795291417028215e-7, - 2.607317999219521e-7, - 2.70091063517205e-7, - 2.5269269334067903e-7, - 2.4850865642862063e-7, - 2.480353970112251e-7, - 2.541109381814843e-7, - 2.502542065514313e-7, - 2.485202626081767e-7, - 2.499671877510732e-7, - 2.439952941716594e-7, - 2.4670399651080046e-7, - 2.427456648991116e-7, - 2.542952597387691e-7, - 2.4459248444781124e-7, - 2.7619460092280147e-7, - 2.513821499896701e-7, - 2.531185731010261e-7, - 2.5925962858388997e-7, - 2.530060464155361e-7, - 2.551204646144664e-7, - 2.533416110001607e-7, - 2.4682511305465644e-7, - 2.5288124784794435e-7, - 2.5006454100957233e-7, - 2.4681083029176136e-7, - 2.545998760415949e-7, - 2.482774189105433e-7, - 2.573970571356426e-7, - 2.4632065284760007e-7, - 2.526423065445447e-7, - 2.5045855427771275e-7, - 2.9097171452838417e-7, - 2.4609707320432477e-7, - 2.5432731446410944e-7, - 2.498519385717237e-7, - 2.5276324403737116e-7, - 2.490386796134334e-7, - 2.534196634758855e-7, - 2.431418130064504e-7, - 2.423404081445263e-7, - 2.6297771962445193e-7, - 2.6201067878704404e-7, - 2.500178775566421e-7, - 2.4488458554277714e-7 - ], - "variance": 2.2771326331341604e-16 + 1.7171497141933245e-7, + 1.723457637623409e-7, + 1.674158369880312e-7, + 1.7575142427714892e-7, + 1.6432539741796e-7, + 1.7226734209595164e-7, + 1.6350652976292887e-7, + 1.7042607879864048e-7, + 1.7351686571379413e-7, + 1.6861324910485601e-7, + 1.6336948751992365e-7, + 1.6744211185810142e-7, + 1.7009916215172163e-7, + 1.6401248494567457e-7, + 1.730475570603569e-7, + 1.641855829067265e-7, + 1.685133760318908e-7, + 1.7058307228348553e-7, + 1.6979108329464925e-7, + 1.6920191461803403e-7, + 1.6674939863853713e-7, + 1.6743372039045482e-7, + 1.63961642715005e-7, + 1.7077370305566288e-7, + 1.6469068108852107e-7, + 1.7168765561546625e-7, + 1.6973149575881917e-7, + 1.7253263582978143e-7, + 1.7800594382099067e-7, + 1.6266077370305566e-7, + 1.7507459479112227e-7, + 1.6237729791495564e-7, + 1.7022574508766405e-7, + 1.6491077126839388e-7, + 1.7048469246975338e-7, + 1.6749509009871742e-7, + 1.6887893238457268e-7, + 1.6984107501679915e-7, + 1.646700059405748e-7, + 1.635447020136276e-7, + 1.640702643393464e-7, + 1.6823164670785033e-7, + 1.720161629080899e-7, + 1.6880764873348893e-7, + 1.6589949391496863e-7, + 1.6728268371146336e-7, + 1.7049307095253707e-7, + 1.6303927921026064e-7, + 1.675229685993553e-7, + 1.7804164894773918e-7, + 1.6675290455151907e-7, + 1.7562022522244695e-7, + 1.7501199476710026e-7, + 1.672025833384732e-7, + 1.6978384423358468e-7, + 1.799481968894761e-7, + 1.6810267393898516e-7, + 1.7816712605063816e-7, + 1.693477774463007e-7, + 1.734917375739338e-7, + 1.667457715056553e-7, + 1.6261389695963475e-7, + 1.7673463928089655e-7, + 1.7016007315554633e-7, + 1.6937753967386764e-7, + 1.6908865478432456e-7, + 1.6308146560312636e-7, + 1.731882074289277e-7, + 1.6726263647003895e-7, + 1.7604113768204e-7, + 1.8173020984566974e-7, + 1.6290949326204167e-7, + 1.6643753877443988e-7, + 1.6990061591398949e-7, + 1.6838922502286492e-7, + 1.7128057024809247e-7, + 1.6635844531284978e-7, + 1.6925846641893663e-7, + 1.7446396615351162e-7, + 1.6881187761027932e-7, + 1.6230265169200464e-7, + 1.6378601945597462e-7, + 1.7168902099735855e-7, + 1.6500670917731033e-7, + 1.709013258460023e-7, + 1.6297701035477414e-7, + 1.694720280391166e-7, + 1.719786892480477e-7, + 1.7447229346414844e-7, + 1.7374571322584153e-7, + 1.6758247043548892e-7, + 1.6923790397370052e-7, + 1.6719377306479567e-7 + ], + "variance": 1.896045154377462e-17 }, "times": { - "cycle": 0.05565458028089888, - "elapsed": 5.312, - "period": 2.555130743103041e-7, - "timeStamp": 1520292111304 + "cycle": 0.05292086319676131, + "elapsed": 5.38, + "period": 1.692352023842245e-7, + "timeStamp": 1619569615902 }, "running": false, - "count": 217815, - "cycles": 3, - "hz": 3913694.055379588 + "count": 312706, + "cycles": 4, + "hz": 5908936.119151155 }, "5": { - "name": "dot2val", + "name": "es5-dot-prop", "options": { "async": false, "defer": false, @@ -4571,122 +4329,124 @@ null ] }, - "id": 28, + "id": 26, "stats": { - "moe": 1.3958039355205796e-9, - "rme": 0.7577580530085739, - "sem": 7.121448650615203e-10, - "deviation": 6.830653586054643e-9, - "mean": 1.8420179501606517e-7, + "moe": 1.438551004791839e-9, + "rme": 0.6489676750336937, + "sem": 7.339545942815506e-10, + "deviation": 7.115953805913694e-9, + "mean": 2.2166758994847487e-7, "sample": [ - 1.8582365941777506e-7, - 1.806083894879908e-7, - 1.8808187224206017e-7, - 2.081066540147756e-7, - 1.8791889701633477e-7, - 1.8957044792629308e-7, - 1.8820962152398553e-7, - 1.89335783695987e-7, - 1.8390497843680865e-7, - 1.8210254067602006e-7, - 1.8282524013554004e-7, - 1.7826983043490437e-7, - 1.810239995519337e-7, - 1.835809669831135e-7, - 1.8211963370578847e-7, - 1.7577284788148646e-7, - 1.8068836987874207e-7, - 1.7549790669019016e-7, - 1.8211674927889328e-7, - 2.1468320661457894e-7, - 1.833839858299028e-7, - 1.7944520289002773e-7, - 1.8153439259010333e-7, - 1.7930124758464254e-7, - 1.8300151922484526e-7, - 1.835715680920776e-7, - 1.9255177266235402e-7, - 1.8365458287826597e-7, - 1.8667262804895125e-7, - 1.807411611918564e-7, - 1.7791221400767313e-7, - 1.824208217816237e-7, - 1.8082313282365791e-7, - 1.8689051079559774e-7, - 1.8935785096194237e-7, - 1.7941971911842951e-7, - 1.9754612282617826e-7, - 1.8796275448766417e-7, - 1.818397462824498e-7, - 1.8077654442857542e-7, - 1.8178092357668935e-7, - 1.8626457615727126e-7, - 1.8527191324316e-7, - 1.8137182853062252e-7, - 1.789656144109328e-7, - 1.933914944411773e-7, - 1.9096792475286343e-7, - 1.774105092553698e-7, - 1.7940436934666332e-7, - 1.7747266795485733e-7, - 1.8493608404043798e-7, - 1.8874853678344396e-7, - 1.8386581464056681e-7, - 1.8349072712761488e-7, - 2.0161204108208015e-7, - 1.8584231566271808e-7, - 1.8088118891595955e-7, - 1.8210772144277353e-7, - 1.7829156165112435e-7, - 1.784131381444454e-7, - 1.8356439203002044e-7, - 1.787982826458316e-7, - 1.8034286874457421e-7, - 1.839528760256518e-7, - 1.8076606737797193e-7, - 1.9358510459548015e-7, - 1.8764329020695064e-7, - 1.8681801156571172e-7, - 1.825361393486236e-7, - 1.8415505194768825e-7, - 1.809313513399983e-7, - 1.7892795583746396e-7, - 1.9450582836259767e-7, - 1.8031305483211515e-7, - 1.8119220294603603e-7, - 1.8432892968159287e-7, - 1.794120424822874e-7, - 1.8315853846369262e-7, - 1.826497031560671e-7, - 1.8018301058556666e-7, - 1.799618618555546e-7, - 1.8228449410512757e-7, - 1.7579840516396428e-7, - 1.8442480537119495e-7, - 1.8468401873477276e-7, - 1.8217610756391946e-7, - 1.8191802136716234e-7, - 1.7918775378756055e-7, - 1.8127227029600383e-7, - 1.798563002324344e-7, - 2.1003894326360303e-7, - 1.7765743229998042e-7 - ], - "variance": 4.665782841268115e-17 + 2.2529312029085223e-7, + 2.2593015808295746e-7, + 2.2299584193403157e-7, + 2.178636799945635e-7, + 2.1820999294955106e-7, + 2.2029636519626582e-7, + 2.1278175038012962e-7, + 2.2464118311629843e-7, + 2.1909074267560288e-7, + 2.2455326911478642e-7, + 2.2163735208922642e-7, + 2.1613740305632714e-7, + 2.3176110445707294e-7, + 2.1942151491212423e-7, + 2.3758223116977993e-7, + 2.2448115467995283e-7, + 2.2110070699003112e-7, + 2.2012087289815202e-7, + 2.322881290753348e-7, + 2.642018112129549e-7, + 2.218836149883577e-7, + 2.173071666730055e-7, + 2.2835877314198542e-7, + 2.1380588834375013e-7, + 2.2455503154620792e-7, + 2.1371224280226676e-7, + 2.1933095416185972e-7, + 2.214130841753403e-7, + 2.186038447072943e-7, + 2.259539885985708e-7, + 2.1293391143396848e-7, + 2.2143303878936938e-7, + 2.2334705054577265e-7, + 2.2473125927052828e-7, + 2.181543334305286e-7, + 2.2387880170894663e-7, + 2.2412120674281706e-7, + 2.170238762323728e-7, + 2.2754241728892777e-7, + 2.1993874161690692e-7, + 2.3901016324581534e-7, + 2.1875972903645667e-7, + 2.2316067647916427e-7, + 2.1804560571677293e-7, + 2.220504739326479e-7, + 2.2472104531413095e-7, + 2.1597272615863118e-7, + 2.2483691899407107e-7, + 2.165236078888762e-7, + 2.254504663260606e-7, + 2.1472618821232523e-7, + 2.2396125711532855e-7, + 2.1226509801932917e-7, + 2.2320476510435815e-7, + 2.2446615702531724e-7, + 2.2007283729932345e-7, + 2.2223319683735004e-7, + 2.1663069596047955e-7, + 2.2346058731305756e-7, + 2.1210508922949496e-7, + 2.2556802613285327e-7, + 2.222651487299112e-7, + 2.1850088532224462e-7, + 2.2346695994286608e-7, + 2.2057354513453095e-7, + 2.153186695233628e-7, + 2.1470845218625997e-7, + 2.1400967304352235e-7, + 2.1775955154941958e-7, + 2.1266658637491178e-7, + 2.2869085138841348e-7, + 2.193410878265022e-7, + 2.1444848438747956e-7, + 2.2350814116135687e-7, + 2.2217368374345517e-7, + 2.3622844986035347e-7, + 2.297632516299135e-7, + 2.1596394542589015e-7, + 2.271978079089361e-7, + 2.1370991553604402e-7, + 2.1698534662334316e-7, + 2.2784592827958034e-7, + 2.1899193388234202e-7, + 2.1631061947276575e-7, + 2.1485157751965826e-7, + 2.2314236761046017e-7, + 2.1819131783207772e-7, + 2.237088169553258e-7, + 2.152635748661633e-7, + 2.218730928004935e-7, + 2.3041910431868982e-7, + 2.2081711588758984e-7, + 2.1548515859702793e-7, + 2.169294880191322e-7 + ], + "variance": 5.0636798567897585e-17 }, "times": { - "cycle": 0.05262129518582937, - "elapsed": 5.347, - "period": 1.8420179501606517e-7, - "timeStamp": 1520292116616 + "cycle": 0.0524618468455156, + "elapsed": 5.387, + "period": 2.2166758994847487e-7, + "timeStamp": 1619569621282 }, "running": false, - "count": 285672, - "cycles": 3, - "hz": 5428828.7468251055 + "count": 236669, + "cycles": 5, + "hz": 4511259.405276356 }, "6": { - "name": "es5-dot-prop", + "name": "lodash-set", "options": { "async": false, "defer": false, @@ -4717,122 +4477,120 @@ null ] }, - "id": 29, + "id": 27, "stats": { - "moe": 3.0656578820585916e-9, - "rme": 1.19497214904759, - "sem": 1.564111164315608e-9, - "deviation": 1.5002427255580305e-8, - "mean": 2.565463876712077e-7, + "moe": 1.0130851976815132e-9, + "rme": 0.8737426624826431, + "sem": 5.168802028987312e-10, + "deviation": 4.903556155829871e-9, + "mean": 1.1594777743860459e-7, "sample": [ - 2.6473723869713174e-7, - 2.532185135275215e-7, - 2.552172745536485e-7, - 2.8121283226932595e-7, - 3.564133972548124e-7, - 2.582567085948782e-7, - 2.450710510577676e-7, - 2.4500432734150506e-7, - 2.950904462996368e-7, - 2.544215170978611e-7, - 2.5582685771798373e-7, - 2.4613124486432084e-7, - 2.5459446003043727e-7, - 3.035723614156728e-7, - 2.5425183182686744e-7, - 2.480203336428922e-7, - 2.580820590366074e-7, - 2.6020556817021523e-7, - 2.611679397478473e-7, - 2.521459189279862e-7, - 2.510629117659929e-7, - 2.5711461620370594e-7, - 2.549218452951101e-7, - 2.520097097763883e-7, - 2.541662622952414e-7, - 2.4856881202320234e-7, - 2.567651858082647e-7, - 2.5272127544744226e-7, - 2.49827684288833e-7, - 2.502146798982832e-7, - 2.4841984936961816e-7, - 2.9009479795204916e-7, - 2.459140269073122e-7, - 2.527476625062601e-7, - 2.5629201289450525e-7, - 2.5839946224272983e-7, - 2.617402330929795e-7, - 2.459027320597659e-7, - 2.438729268873773e-7, - 2.5778582090640785e-7, - 2.4797347680010115e-7, - 2.439190592651299e-7, - 2.4446247611453356e-7, - 2.5408346420705114e-7, - 2.565467036840749e-7, - 2.574900835808994e-7, - 2.5925038775897193e-7, - 2.4643278680676893e-7, - 2.73662782737739e-7, - 2.4485650207041814e-7, - 2.502058689772374e-7, - 2.566226046578424e-7, - 2.6117572464635344e-7, - 2.5771288925058045e-7, - 2.513197156466167e-7, - 2.542488810167787e-7, - 2.46584968524857e-7, - 2.5099200555302905e-7, - 2.4673898369994495e-7, - 2.451003231288446e-7, - 2.8119764953684863e-7, - 2.576880490198425e-7, - 2.55507053783001e-7, - 2.4876781636707437e-7, - 2.591589219464324e-7, - 2.806951099834845e-7, - 2.5597638526532466e-7, - 2.5438446587998753e-7, - 2.5867670839416933e-7, - 2.5235561406448217e-7, - 2.5167509035639914e-7, - 2.558002441417937e-7, - 2.5007731635510663e-7, - 2.5801644366787144e-7, - 2.5207236171282227e-7, - 2.4929587591852365e-7, - 2.544986572201345e-7, - 2.46615036262237e-7, - 2.5363989564135093e-7, - 2.5392872017042055e-7, - 2.4746350558893224e-7, - 2.5255432633619764e-7, - 2.507553172646545e-7, - 2.7037945857966923e-7, - 2.395385193518275e-7, - 2.500245003470643e-7, - 2.5434509203188204e-7, - 2.4798323559683097e-7, - 2.613143349529668e-7, - 2.559910624955121e-7, - 2.522719787453027e-7, - 2.49054840948802e-7 - ], - "variance": 2.2507282355897877e-16 + 1.1383667261093044e-7, + 1.0925190079427526e-7, + 1.1536662138994029e-7, + 1.0924430382892023e-7, + 1.0503666586604162e-7, + 1.0928626210255179e-7, + 1.1003970548041644e-7, + 1.0598361962580442e-7, + 1.103193665675548e-7, + 1.0608482760334275e-7, + 1.1048875052799841e-7, + 1.163334216781653e-7, + 1.1516693032077457e-7, + 1.136882635271122e-7, + 1.1304066415988206e-7, + 1.1343204142820464e-7, + 1.1586966721606109e-7, + 1.1941102916207688e-7, + 1.1344532835289343e-7, + 1.1726209219887525e-7, + 1.1565420245322555e-7, + 1.1849048774629573e-7, + 1.1251058274459785e-7, + 1.2008073820389436e-7, + 1.1151666818509347e-7, + 1.1688026031356894e-7, + 1.146596853543594e-7, + 1.1850723461350516e-7, + 1.186984425082202e-7, + 1.1787200697372018e-7, + 1.1761701687110212e-7, + 1.1385417719212515e-7, + 1.2526775731122502e-7, + 1.1514056974134289e-7, + 1.1875619725192357e-7, + 1.1600719734302918e-7, + 1.1717211919926452e-7, + 1.1334139756002618e-7, + 1.1465174260181052e-7, + 1.1082988926527468e-7, + 1.1598262160528081e-7, + 1.1446798051996455e-7, + 1.1486612652084248e-7, + 1.1140018759472912e-7, + 1.2052157132326756e-7, + 1.157992032400467e-7, + 1.1661753658718393e-7, + 1.1659194626425597e-7, + 1.2104424626674066e-7, + 1.1980183702034967e-7, + 1.1319521447088348e-7, + 1.3369762876949453e-7, + 1.1582809821184538e-7, + 1.1550092347957164e-7, + 1.2141170831297261e-7, + 1.1464569857295489e-7, + 1.1438031621928291e-7, + 1.2875585146472972e-7, + 1.1308100737955424e-7, + 1.1786358798731146e-7, + 1.134584289252023e-7, + 1.1748634244113335e-7, + 1.1832105409188415e-7, + 1.1861125444139838e-7, + 1.1310569699931257e-7, + 1.1461825300855565e-7, + 1.173587014137934e-7, + 1.25604634790747e-7, + 1.1192292879682621e-7, + 1.1552583672218587e-7, + 1.1667775532346631e-7, + 1.144232559487821e-7, + 1.1651053305062988e-7, + 1.1372487762860385e-7, + 1.1431547387339634e-7, + 1.1485896023654329e-7, + 1.208510216251584e-7, + 1.3680991229014652e-7, + 1.2111877893638344e-7, + 1.1429533953403623e-7, + 1.1439993084256122e-7, + 1.1310250209128782e-7, + 1.1597204714301096e-7, + 1.1054687383529763e-7, + 1.1909149901854413e-7, + 1.1502889911296266e-7, + 1.1864807145992596e-7, + 1.1930729507449955e-7, + 1.1691901746742974e-7, + 1.1713499366401908e-7 + ], + "variance": 2.404486297337702e-17 }, "times": { - "cycle": 0.053591257652576926, - "elapsed": 5.405, - "period": 2.565463876712077e-7, - "timeStamp": 1520292121963 + "cycle": 0.05599767480063872, + "elapsed": 5.442, + "period": 1.1594777743860459e-7, + "timeStamp": 1619569626669 }, "running": false, - "count": 208895, - "cycles": 3, - "hz": 3897930.5422207294 + "count": 482956, + "cycles": 6, + "hz": 8624572.390182374 }, "7": { - "name": "lodash-set", + "name": "object-path-set", "options": { "async": false, "defer": false, @@ -4863,257 +4621,119 @@ null ] }, - "id": 30, + "id": 28, "stats": { - "moe": 1.5422960467691598e-9, - "rme": 0.9452174007979461, - "sem": 7.868857381475306e-10, - "deviation": 7.3395815511716075e-9, - "mean": 1.6316839337354179e-7, + "moe": 1.2519489752568175e-9, + "rme": 0.726145567818371, + "sem": 6.387494771718457e-10, + "deviation": 6.059709606314279e-9, + "mean": 1.7241019304409834e-7, "sample": [ - 1.649815325486428e-7, - 1.6130792217151092e-7, - 1.6039236448074305e-7, - 1.6231678317234367e-7, - 1.5905124555160144e-7, - 1.6251418085917642e-7, - 1.686540289781393e-7, - 1.6814670183019828e-7, - 1.7099837315709204e-7, - 1.7022563908148975e-7, - 1.6246730415547876e-7, - 1.660202905226856e-7, - 1.5934451558283505e-7, - 1.6103955080100722e-7, - 1.564611666350227e-7, - 1.5738353725531698e-7, - 1.6411051627381467e-7, - 1.5930621290264348e-7, - 1.9434341890821931e-7, - 1.7015043023639125e-7, - 1.60068951812908e-7, - 1.5721503809432853e-7, - 1.5740029391014481e-7, - 1.5590312056169495e-7, - 1.596494366722224e-7, - 1.599341320870393e-7, - 1.6412535853032605e-7, - 1.6252489763978448e-7, - 1.6356348181854592e-7, - 1.594632535298485e-7, - 1.592853978415781e-7, - 1.644795787904088e-7, - 1.6444341921630124e-7, - 1.584620489295694e-7, - 1.5902745626007043e-7, - 1.5466906765170723e-7, - 1.6024257753651542e-7, - 1.992612965935383e-7, - 1.643886391713829e-7, - 1.5915590177116292e-7, - 1.6657967460388368e-7, - 1.6219144826226396e-7, - 1.6161488528569975e-7, - 1.6711937249875997e-7, - 1.5797827714432712e-7, - 1.684586045737841e-7, - 1.6076060186882488e-7, - 1.645395685004729e-7, - 1.6654396791018796e-7, - 1.573581267387373e-7, - 1.6960866819269908e-7, - 1.564809682398356e-7, - 1.6094038614986952e-7, - 1.6498778763297585e-7, - 1.6361045814861255e-7, - 1.771440529407959e-7, - 1.682217357951132e-7, - 1.6448082960297485e-7, - 1.593151092612504e-7, - 1.580136480287379e-7, - 1.6269185338997932e-7, - 1.6395870778122486e-7, - 1.6449681905425016e-7, - 1.644552742083065e-7, - 1.5928278838777654e-7, - 1.605104208707011e-7, - 1.5959374470484213e-7, - 1.5932431782962453e-7, - 1.5918211029948642e-7, - 1.5864328735724253e-7, - 1.6267394766920628e-7, - 1.590459350132013e-7, - 1.9206492210148834e-7, - 1.5980343449716411e-7, - 1.5905472459017404e-7, - 1.6111034261789525e-7, - 1.6885032456429517e-7, - 1.625337519139589e-7, - 1.609828182717221e-7, - 1.6074991142645007e-7, - 1.5970561540902495e-7, - 1.6015645323778687e-7, - 1.5733773496731823e-7, - 1.5768048632330184e-7, - 1.6255396656298362e-7, - 1.6524563417083587e-7, - 1.5553366137466002e-7 - ], - "variance": 5.3869457346298624e-17 + 1.9619082062264177e-7, + 1.8762323907754616e-7, + 1.725439666558035e-7, + 1.7242109740827773e-7, + 1.7310362780524914e-7, + 1.7227933331102112e-7, + 1.6769156263596506e-7, + 1.7516993205930585e-7, + 1.7101793768382538e-7, + 1.750319726778328e-7, + 1.736247942658169e-7, + 1.6811819823592536e-7, + 1.7396731619860235e-7, + 1.6670107571910907e-7, + 1.7331418653649854e-7, + 1.688586842725155e-7, + 1.720132894495773e-7, + 1.7203637749627031e-7, + 1.7159761300285288e-7, + 1.7001183683618186e-7, + 1.6788125212657368e-7, + 1.9597371554950665e-7, + 1.6606204360457508e-7, + 1.7653290627371948e-7, + 1.6625260423482609e-7, + 1.936255856256707e-7, + 1.7704841390321146e-7, + 1.7168547975501873e-7, + 1.690520388933965e-7, + 1.666655292223938e-7, + 1.7135511817206272e-7, + 1.6610663949014579e-7, + 1.7641146910252046e-7, + 1.6481891734498914e-7, + 1.7191348444002408e-7, + 1.7440005758107153e-7, + 1.6842702253513755e-7, + 1.6746657026199388e-7, + 1.6967593634674275e-7, + 1.7014575535896563e-7, + 1.6622076451959066e-7, + 1.776301528515717e-7, + 1.6788951631899914e-7, + 1.7363324783416652e-7, + 1.70780684822153e-7, + 1.740685836365064e-7, + 1.7196492789279453e-7, + 1.6934223767895937e-7, + 1.7129740950611145e-7, + 1.6640477530295496e-7, + 1.705457605936085e-7, + 1.791114030151543e-7, + 1.73784954327741e-7, + 1.80765805349805e-7, + 1.7310102206401969e-7, + 1.701719645614678e-7, + 1.7246824861936294e-7, + 1.7453140131389536e-7, + 1.7149924424843617e-7, + 1.7517210197084304e-7, + 1.665864501269401e-7, + 1.7342349569450624e-7, + 1.7695182492736932e-7, + 1.724335854686314e-7, + 1.7160603423456436e-7, + 1.7017063954249221e-7, + 1.873937956395425e-7, + 1.7803351152930093e-7, + 1.7118419072421283e-7, + 1.6632909872536446e-7, + 1.6785311592116628e-7, + 1.7218791386395164e-7, + 1.7306425524118617e-7, + 1.656802974585809e-7, + 1.6647979100688357e-7, + 1.7503114612505563e-7, + 1.6403263145496899e-7, + 1.761387507524799e-7, + 1.6781518766194676e-7, + 1.6852939251969535e-7, + 1.725206212212422e-7, + 1.6844545502133118e-7, + 1.7724024720600936e-7, + 1.6709514617740205e-7, + 1.735058431700997e-7, + 1.750338226241927e-7, + 1.6637782004474943e-7, + 1.704481229013526e-7, + 1.720873167601932e-7, + 1.6803626202193178e-7 + ], + "variance": 3.6720080512857555e-17 }, "times": { - "cycle": 0.053454128837565666, - "elapsed": 5.414, - "period": 1.6316839337354179e-7, - "timeStamp": 1520292127368 + "cycle": 0.05293734290283909, + "elapsed": 5.416, + "period": 1.7241019304409834e-7, + "timeStamp": 1619569632112 }, "running": false, - "count": 327601, + "count": 307043, "cycles": 5, - "hz": 6128637.901769969 + "hz": 5800121.10852532 }, "8": { - "name": "object-path-set", - "options": { - "async": false, - "defer": false, - "delay": 0.005, - "initCount": 1, - "maxTime": 5, - "minSamples": 5, - "minTime": 0.05 - }, - "async": false, - "defer": false, - "delay": 0.005, - "initCount": 1, - "maxTime": 5, - "minSamples": 5, - "minTime": 0.05, - "events": { - "abort": [ - null - ], - "complete": [ - null - ], - "cycle": [ - null - ], - "error": [ - null - ] - }, - "id": 31, - "stats": { - "moe": 6.099465386016257e-9, - "rme": 3.311996490605757, - "sem": 3.11197213572258e-9, - "deviation": 2.9026543712534858e-8, - "mean": 1.8416279737363726e-7, - "sample": [ - 1.9629315119666378e-7, - 1.7969498043496754e-7, - 1.8112658788669295e-7, - 1.72213497390774e-7, - 1.7892463911132126e-7, - 1.7569264585453437e-7, - 1.770728081987603e-7, - 1.760458319199312e-7, - 1.799862223272994e-7, - 1.7529649908914113e-7, - 1.7427025678359157e-7, - 1.7814104470215085e-7, - 1.7131666444505967e-7, - 1.78802294065575e-7, - 1.8073678400169525e-7, - 1.9190665490923882e-7, - 1.7848864417033233e-7, - 1.924325537201664e-7, - 1.8388420984274442e-7, - 2.0663120640096247e-7, - 1.7848567747051245e-7, - 2.62349896268042e-7, - 4.244256359777292e-7, - 1.9307574996325803e-7, - 1.8105677402155302e-7, - 1.7928481081744874e-7, - 1.7080172331454926e-7, - 1.765984970459414e-7, - 1.776134651857714e-7, - 1.9247782750480974e-7, - 1.7875614007559115e-7, - 1.7459968412722237e-7, - 1.7435122937957948e-7, - 1.7590638090300043e-7, - 1.772565494139639e-7, - 1.7534995701947087e-7, - 1.8136999072166355e-7, - 1.806820054851342e-7, - 1.7713291558078295e-7, - 1.7643792042462035e-7, - 1.7298423365034317e-7, - 1.751316432206743e-7, - 1.7305910846102416e-7, - 1.855615508466482e-7, - 1.757063508848531e-7, - 1.7682288951957318e-7, - 1.714215434785575e-7, - 1.960907810176152e-7, - 1.7880410088826427e-7, - 1.7456764657724897e-7, - 1.7325389894800038e-7, - 1.8100274938940358e-7, - 1.822556659253094e-7, - 1.821413888850987e-7, - 1.8029103276071443e-7, - 1.7834831170508102e-7, - 1.739800333683327e-7, - 1.7295146640570048e-7, - 1.736392040531311e-7, - 1.726301415945442e-7, - 1.857406240761695e-7, - 1.791322738378e-7, - 1.761407365211272e-7, - 2.020224474751198e-7, - 1.755839560365915e-7, - 1.8131695204905673e-7, - 1.8107004992795632e-7, - 1.8193713433636028e-7, - 2.2832445464598066e-7, - 1.92149783868914e-7, - 1.7870018094695573e-7, - 1.720707636631706e-7, - 1.814165130851456e-7, - 1.75829738967262e-7, - 1.8251890560600474e-7, - 1.771214824246892e-7, - 1.812837114231143e-7, - 1.7882163656468853e-7, - 1.7504656703414536e-7, - 1.779364273028851e-7, - 2.1452597594075663e-7, - 1.8126686660188318e-7, - 1.709144690547197e-7, - 1.7240844084039808e-7, - 1.7646649465536308e-7, - 1.7354063264417117e-7, - 1.8126240324364173e-7 - ], - "variance": 8.425402398956968e-16 - }, - "times": { - "cycle": 0.054959703620214566, - "elapsed": 5.461, - "period": 1.8416279737363726e-7, - "timeStamp": 1520292132782 - }, - "running": false, - "count": 298430, - "cycles": 4, - "hz": 5429978.335804477 - }, - "9": { "name": "object-set", "options": { "async": false, @@ -5145,118 +4765,121 @@ null ] }, - "id": 32, + "id": 29, "stats": { - "moe": 1.548775739343871e-8, - "rme": 2.368828687078524, - "sem": 7.90191703746873e-9, - "deviation": 7.45465362385566e-8, - "mean": 6.538150047709764e-7, + "moe": 4.185259898446773e-9, + "rme": 0.6819856788632914, + "sem": 2.1353366828810067e-9, + "deviation": 2.0481429953293493e-8, + "mean": 6.136873585707269e-7, "sample": [ - 6.211795563915284e-7, - 6.347862935730513e-7, - 6.275934484695996e-7, - 6.424828028433935e-7, - 6.137090285072184e-7, - 7.398727556977795e-7, - 6.293607128025991e-7, - 6.183204436084716e-7, - 7.065242689987053e-7, - 6.184190829811662e-7, - 6.544486405940836e-7, - 6.170795770392749e-7, - 6.189973897280967e-7, - 6.333816555891239e-7, - 6.250634803625378e-7, - 6.14626078549849e-7, - 6.371390247428144e-7, - 6.129531163418219e-7, - 6.191002481509144e-7, - 6.10459476714771e-7, - 6.247636422772063e-7, - 6.665940443780567e-7, - 6.217782060857204e-7, - 6.102253113932589e-7, - 8.168109114125328e-7, - 9.367165056496494e-7, - 0.000001052955911051148, - 0.0000010126572505842389, - 6.553445322475728e-7, - 6.513543257763751e-7, - 7.188223552653769e-7, - 6.479234707398752e-7, - 6.45282687257571e-7, - 6.465006866311706e-7, - 6.946224733177537e-7, - 6.964570313441106e-7, - 7.01238598308719e-7, - 6.574284578504831e-7, - 7.222060857204808e-7, - 7.253722866022598e-7, - 6.082321536126436e-7, - 6.561017177825428e-7, - 6.266157154214951e-7, - 6.353380995976582e-7, - 6.149772688944033e-7, - 6.143497000505939e-7, - 6.414250487869516e-7, - 6.341034644758715e-7, - 6.294797624497073e-7, - 6.596236899800034e-7, - 6.42877779651625e-7, - 6.392618714915557e-7, - 6.151579492615703e-7, - 6.193742621726455e-7, - 6.428943551690077e-7, - 6.142166983882237e-7, - 6.965223094899655e-7, - 6.138324379020406e-7, - 6.152461753439179e-7, - 6.352664851711759e-7, - 6.280670489315056e-7, - 6.521830293685403e-7, - 6.107873009371913e-7, - 6.420988748885729e-7, - 6.092002553786109e-7, - 6.299596694533453e-7, - 6.261331823547836e-7, - 6.373295588695883e-7, - 6.276697424530802e-7, - 6.274257715566048e-7, - 6.193292456694052e-7, - 6.165618449900017e-7, - 6.213048642397667e-7, - 6.158395089984822e-7, - 7.227285999951815e-7, - 6.258740573879104e-7, - 6.254226997855783e-7, - 6.448361963042379e-7, - 6.317986725130701e-7, - 6.562358276917146e-7, - 6.178410870455586e-7, - 6.321097405256945e-7, - 6.413782253595779e-7, - 6.23061917266967e-7, - 6.212965644349146e-7, - 6.324479244464789e-7, - 6.376908232346351e-7, - 6.219375647481148e-7, - 6.355368251138362e-7 - ], - "variance": 5.557186065166432e-15 + 6.014077654875159e-7, + 6.080034767285414e-7, + 6.012666007834546e-7, + 6.004141117077644e-7, + 6.425473108933525e-7, + 6.288295926750569e-7, + 5.81974937924953e-7, + 6.224300466433064e-7, + 6.034338639686259e-7, + 6.238449168078342e-7, + 5.974634511405564e-7, + 6.075964541804934e-7, + 6.410409811338269e-7, + 6.200748381407653e-7, + 6.383778455897709e-7, + 5.982150233216532e-7, + 6.583524238275357e-7, + 6.079893138096674e-7, + 6.378843083563456e-7, + 5.9430795024714e-7, + 6.067690692223795e-7, + 6.440501821641566e-7, + 6.221948692363029e-7, + 5.918019747986911e-7, + 5.913827187710301e-7, + 6.156086835448914e-7, + 5.952223911076045e-7, + 6.206705033300072e-7, + 6.075076230478268e-7, + 6.100876708514144e-7, + 6.202006358341262e-7, + 6.352242243519829e-7, + 6.0475733877892e-7, + 6.054334926786253e-7, + 7.087968695611816e-7, + 6.229479729886525e-7, + 6.087926113289861e-7, + 6.026342329380641e-7, + 6.050852458635973e-7, + 6.171228969902305e-7, + 6.210280091894275e-7, + 5.960118107038854e-7, + 6.227799821331198e-7, + 5.826319654728343e-7, + 6.268455443017414e-7, + 5.95720534150105e-7, + 6.006518510783938e-7, + 6.338174213683246e-7, + 6.12964486675252e-7, + 5.859456568398826e-7, + 6.008921954219019e-7, + 6.17873388790273e-7, + 6.021170976761454e-7, + 6.19945993294119e-7, + 5.876505748726695e-7, + 6.073175779935725e-7, + 6.4441959323843e-7, + 6.066378592229067e-7, + 5.830661306602624e-7, + 5.926734769644868e-7, + 6.091607091063079e-7, + 5.946713190166255e-7, + 6.322059331964313e-7, + 5.95860916779785e-7, + 6.260463262677944e-7, + 6.437894492592206e-7, + 6.089156660053601e-7, + 5.878216560509554e-7, + 6.105371317856438e-7, + 6.073914703050131e-7, + 5.997968744561623e-7, + 6.266463053844279e-7, + 5.916871439676076e-7, + 6.349842098546286e-7, + 6.265166660865732e-7, + 6.083217546668523e-7, + 6.190809462485353e-7, + 6.052267469516086e-7, + 6.228077106029492e-7, + 5.86896592530716e-7, + 6.604364159502511e-7, + 6.568901302890027e-7, + 6.091801190351885e-7, + 6.150342139152831e-7, + 6.267600037125985e-7, + 6.040525216664926e-7, + 5.869581056466303e-7, + 6.15474435278967e-7, + 5.883649252259464e-7, + 6.151616372559257e-7, + 6.225008003658815e-7, + 6.27320580836954e-7 + ], + "variance": 4.1948897293166787e-16 }, "times": { - "cycle": 0.05427579880605783, - "elapsed": 5.44, - "period": 6.538150047709764e-7, - "timeStamp": 1520292138244 + "cycle": 0.053673096380595774, + "elapsed": 5.474, + "period": 6.136873585707269e-7, + "timeStamp": 1619569637529 }, "running": false, - "count": 83014, - "cycles": 6, - "hz": 1529484.6289896453 + "count": 87460, + "cycles": 7, + "hz": 1629494.2140066111 }, - "10": { + "9": { "name": "set-value", "options": { "async": false, @@ -5288,116 +4911,116 @@ null ] }, - "id": 33, + "id": 30, "stats": { - "moe": 2.2065705426695688e-9, - "rme": 1.5779011260301261, - "sem": 1.1258012972803923e-9, - "deviation": 1.0620788196988068e-8, - "mean": 1.3984212991983374e-7, + "moe": 4.874010926204062e-10, + "rme": 0.6787522047274881, + "sem": 2.4867402684714603e-10, + "deviation": 2.3459860773085127e-9, + "mean": 7.180839918097838e-8, "sample": [ - 1.3410637568761836e-7, - 1.5729529907372816e-7, - 1.3103341793025262e-7, - 1.3429943702253198e-7, - 1.3526801077000375e-7, - 1.378506602424539e-7, - 1.3312404313154606e-7, - 1.3204517733146103e-7, - 1.3509315795576055e-7, - 1.3781609316826197e-7, - 1.3657321670123545e-7, - 1.3402638908570911e-7, - 1.3412668152480579e-7, - 1.2990263452842586e-7, - 1.3189458536773894e-7, - 1.3266578720224674e-7, - 1.3515087538487304e-7, - 1.3655872615075427e-7, - 1.5129425041546965e-7, - 1.548661582262989e-7, - 1.349316748901743e-7, - 1.366230241036806e-7, - 1.3350352344021747e-7, - 1.3314940674799993e-7, - 1.329254447779653e-7, - 1.3318484469809208e-7, - 1.333798281437203e-7, - 1.3758407946098452e-7, - 1.3395304999806758e-7, - 1.308658490395888e-7, - 1.3126799015755638e-7, - 1.3131884621826005e-7, - 1.541323293353774e-7, - 1.3323809180268734e-7, - 1.3672750602269944e-7, - 1.3247189106321581e-7, - 1.6288399056980534e-7, - 1.3070637311106244e-7, - 1.3427672725867335e-7, - 1.3401277456423998e-7, - 1.349786425506107e-7, - 1.2862771862212975e-7, - 1.3506649572518342e-7, - 1.3948066544346265e-7, - 1.345585896815831e-7, - 1.4132172313109524e-7, - 1.3831880330725708e-7, - 1.3084448419431032e-7, - 1.393182505623412e-7, - 1.424130002533414e-7, - 1.8242821609255406e-7, - 1.6038247645076348e-7, - 1.599186339011764e-7, - 1.3800939410456603e-7, - 1.3927663603538593e-7, - 1.3522119520852046e-7, - 1.4775475271062524e-7, - 1.3796032008025038e-7, - 1.3861426081883018e-7, - 1.46777957761076e-7, - 1.4147493839197292e-7, - 1.4817583685836167e-7, - 1.4505930236426402e-7, - 1.4916288317889743e-7, - 1.3500431704015335e-7, - 1.4803779905163304e-7, - 1.3419845077883294e-7, - 1.3883712193911104e-7, - 1.3835134360517637e-7, - 1.4700963720996885e-7, - 1.3068948018946868e-7, - 1.514538394020119e-7, - 1.3991485681091774e-7, - 1.3730996450661118e-7, - 1.346408053698145e-7, - 1.3353940226778954e-7, - 1.3780333284712254e-7, - 1.4361416357666904e-7, - 1.4236390575699185e-7, - 1.411456917884113e-7, - 1.376481829790392e-7, - 1.3511204855966446e-7, - 1.3398048247465946e-7, - 1.4162676667255237e-7, - 1.3984886009156118e-7, - 1.4820362508540677e-7, - 1.359982777901463e-7, - 1.4170830678366433e-7, - 1.9663550055402443e-7 - ], - "variance": 1.1280114192528108e-16 + 6.508215271652448e-8, + 6.703831182854452e-8, + 6.704925279881672e-8, + 6.944767511166008e-8, + 7.151871526870703e-8, + 7.131127100997522e-8, + 7.189133020693573e-8, + 6.960002739190975e-8, + 7.810923284898688e-8, + 7.173156182075038e-8, + 7.38047692358418e-8, + 7.202068596443618e-8, + 7.182706574311968e-8, + 7.234888035568902e-8, + 7.106889445744996e-8, + 7.247176223822338e-8, + 7.434198926135686e-8, + 6.873994044795917e-8, + 7.31079076385384e-8, + 7.350818586932538e-8, + 6.99522378936636e-8, + 7.191380552251337e-8, + 7.430595875488553e-8, + 6.954842534563264e-8, + 7.019322202410996e-8, + 7.20951716686492e-8, + 6.901942923376205e-8, + 7.576707112005011e-8, + 7.05037220025515e-8, + 7.302883252129848e-8, + 7.221463083060894e-8, + 7.599294785138367e-8, + 7.192777412834124e-8, + 7.531934021005537e-8, + 6.936348683793374e-8, + 7.411364345371402e-8, + 6.784553752818449e-8, + 7.081375530401215e-8, + 7.280392718824583e-8, + 7.362712255596954e-8, + 7.167462722908007e-8, + 6.842358164437692e-8, + 7.18275235430928e-8, + 7.477717061862599e-8, + 7.020183018537728e-8, + 7.498285722981558e-8, + 7.30228887305118e-8, + 7.130843417191466e-8, + 6.99479097182945e-8, + 7.315689604009363e-8, + 7.43732375969179e-8, + 6.94253240741915e-8, + 7.294308316234525e-8, + 6.982248647524455e-8, + 7.527198771422122e-8, + 7.013731843348711e-8, + 7.057945809671881e-8, + 7.014612188892581e-8, + 7.198288512898293e-8, + 7.000282415662086e-8, + 7.199369859261382e-8, + 7.449374170950879e-8, + 7.571643793576597e-8, + 7.21129840188497e-8, + 7.047790132318141e-8, + 6.955202941079495e-8, + 7.054293047781128e-8, + 7.41916723521788e-8, + 7.175140954202249e-8, + 7.035420148778651e-8, + 7.041975819030783e-8, + 7.740811155608874e-8, + 7.269520793756673e-8, + 7.311992964337256e-8, + 7.151871273241909e-8, + 7.188248870717794e-8, + 7.21412306576341e-8, + 7.368971687417729e-8, + 7.318434628446498e-8, + 7.36997935461617e-8, + 7.112526218876577e-8, + 7.147735602127439e-8, + 6.975770334054485e-8, + 6.98370587176021e-8, + 6.771527885217753e-8, + 7.444767511166008e-8, + 6.886492871762745e-8, + 7.209463651189392e-8, + 7.430322463648653e-8 + ], + "variance": 5.5036506749253834e-18 }, "times": { - "cycle": 0.05464708800368287, - "elapsed": 5.393, - "period": 1.3984212991983374e-7, - "timeStamp": 1520292143684 + "cycle": 0.05662480040775723, + "elapsed": 5.484, + "period": 7.180839918097838e-8, + "timeStamp": 1619569643003 }, "running": false, - "count": 390777, + "count": 788554, "cycles": 6, - "hz": 7150920.831749792 + "hz": 13925947.541034922 }, "name": "(101 bytes)", "options": { @@ -5412,7 +5035,7 @@ null ] }, - "length": 11, + "length": 10, "running": false } }, @@ -5423,17 +5046,17 @@ "stat": null, "_contents": null, "history": [ - "/Users/jonschlinkert/dev/js-utils/objects/set-value/benchmark/code/deep-object.js" + "/Users/jonschlinkert/dev/js-utils/objects/set-value-master/benchmark/code/deep-object.js" ], - "_cwd": "/Users/jonschlinkert/dev/js-utils/objects/set-value", + "_cwd": "/Users/jonschlinkert/dev/js-utils/objects/set-value-master", "_isVinyl": true, "_symlink": null, "key": "deep-object" }, - "runs": 88, - "hz": 4793167.70007339, - "ops": "4,793,168", - "rme": "0.75" + "runs": 92, + "hz": 9558659.399165887, + "ops": "9,558,659", + "rme": "0.81" }, { "name": "deep-property", @@ -5441,35 +5064,17 @@ "stat": null, "_contents": null, "history": [ - "/Users/jonschlinkert/dev/js-utils/objects/set-value/benchmark/code/deep-property.js" + "/Users/jonschlinkert/dev/js-utils/objects/set-value-master/benchmark/code/deep-property.js" ], - "_cwd": "/Users/jonschlinkert/dev/js-utils/objects/set-value", + "_cwd": "/Users/jonschlinkert/dev/js-utils/objects/set-value-master", "_isVinyl": true, "_symlink": null, "key": "deep-property" }, - "runs": 90, - "hz": 4669217.970156166, - "ops": "4,669,218", - "rme": "1.17" - }, - { - "name": "deep-set", - "file": { - "stat": null, - "_contents": null, - "history": [ - "/Users/jonschlinkert/dev/js-utils/objects/set-value/benchmark/code/deep-set.js" - ], - "_cwd": "/Users/jonschlinkert/dev/js-utils/objects/set-value", - "_isVinyl": true, - "_symlink": null, - "key": "deep-set" - }, - "runs": 91, - "hz": 4648247.2079655705, - "ops": "4,648,247", - "rme": "0.73" + "runs": 93, + "hz": 5190792.481498593, + "ops": "5,190,792", + "rme": "0.72" }, { "name": "deephas", @@ -5477,17 +5082,17 @@ "stat": null, "_contents": null, "history": [ - "/Users/jonschlinkert/dev/js-utils/objects/set-value/benchmark/code/deephas.js" + "/Users/jonschlinkert/dev/js-utils/objects/set-value-master/benchmark/code/deephas.js" ], - "_cwd": "/Users/jonschlinkert/dev/js-utils/objects/set-value", + "_cwd": "/Users/jonschlinkert/dev/js-utils/objects/set-value-master", "_isVinyl": true, "_symlink": null, "key": "deephas" }, - "runs": 92, - "hz": 1246413.7427172286, - "ops": "1,246,414", - "rme": "1.67" + "runs": 90, + "hz": 1395091.2667162367, + "ops": "1,395,091", + "rme": "0.55" }, { "name": "dot-prop", @@ -5495,17 +5100,17 @@ "stat": null, "_contents": null, "history": [ - "/Users/jonschlinkert/dev/js-utils/objects/set-value/benchmark/code/dot-prop.js" + "/Users/jonschlinkert/dev/js-utils/objects/set-value-master/benchmark/code/dot-prop.js" ], - "_cwd": "/Users/jonschlinkert/dev/js-utils/objects/set-value", + "_cwd": "/Users/jonschlinkert/dev/js-utils/objects/set-value-master", "_isVinyl": true, "_symlink": null, "key": "dot-prop" }, - "runs": 89, - "hz": 3913694.055379588, - "ops": "3,913,694", - "rme": "1.23" + "runs": 94, + "hz": 4203222.248685816, + "ops": "4,203,222", + "rme": "0.67" }, { "name": "dot2val", @@ -5513,17 +5118,17 @@ "stat": null, "_contents": null, "history": [ - "/Users/jonschlinkert/dev/js-utils/objects/set-value/benchmark/code/dot2val.js" + "/Users/jonschlinkert/dev/js-utils/objects/set-value-master/benchmark/code/dot2val.js" ], - "_cwd": "/Users/jonschlinkert/dev/js-utils/objects/set-value", + "_cwd": "/Users/jonschlinkert/dev/js-utils/objects/set-value-master", "_isVinyl": true, "_symlink": null, "key": "dot2val" }, - "runs": 92, - "hz": 5428828.7468251055, - "ops": "5,428,829", - "rme": "0.76" + "runs": 93, + "hz": 5908936.119151155, + "ops": "5,908,936", + "rme": "0.52" }, { "name": "es5-dot-prop", @@ -5531,17 +5136,17 @@ "stat": null, "_contents": null, "history": [ - "/Users/jonschlinkert/dev/js-utils/objects/set-value/benchmark/code/es5-dot-prop.js" + "/Users/jonschlinkert/dev/js-utils/objects/set-value-master/benchmark/code/es5-dot-prop.js" ], - "_cwd": "/Users/jonschlinkert/dev/js-utils/objects/set-value", + "_cwd": "/Users/jonschlinkert/dev/js-utils/objects/set-value-master", "_isVinyl": true, "_symlink": null, "key": "es5-dot-prop" }, - "runs": 92, - "hz": 3897930.5422207294, - "ops": "3,897,931", - "rme": "1.19" + "runs": 94, + "hz": 4511259.405276356, + "ops": "4,511,259", + "rme": "0.65" }, { "name": "lodash-set", @@ -5549,17 +5154,17 @@ "stat": null, "_contents": null, "history": [ - "/Users/jonschlinkert/dev/js-utils/objects/set-value/benchmark/code/lodash-set.js" + "/Users/jonschlinkert/dev/js-utils/objects/set-value-master/benchmark/code/lodash-set.js" ], - "_cwd": "/Users/jonschlinkert/dev/js-utils/objects/set-value", + "_cwd": "/Users/jonschlinkert/dev/js-utils/objects/set-value-master", "_isVinyl": true, "_symlink": null, "key": "lodash-set" }, - "runs": 87, - "hz": 6128637.901769969, - "ops": "6,128,638", - "rme": "0.95" + "runs": 90, + "hz": 8624572.390182374, + "ops": "8,624,572", + "rme": "0.87" }, { "name": "object-path-set", @@ -5567,17 +5172,17 @@ "stat": null, "_contents": null, "history": [ - "/Users/jonschlinkert/dev/js-utils/objects/set-value/benchmark/code/object-path-set.js" + "/Users/jonschlinkert/dev/js-utils/objects/set-value-master/benchmark/code/object-path-set.js" ], - "_cwd": "/Users/jonschlinkert/dev/js-utils/objects/set-value", + "_cwd": "/Users/jonschlinkert/dev/js-utils/objects/set-value-master", "_isVinyl": true, "_symlink": null, "key": "object-path-set" }, - "runs": 87, - "hz": 5429978.335804477, - "ops": "5,429,978", - "rme": "3.31" + "runs": 90, + "hz": 5800121.10852532, + "ops": "5,800,121", + "rme": "0.73" }, { "name": "object-set", @@ -5585,17 +5190,17 @@ "stat": null, "_contents": null, "history": [ - "/Users/jonschlinkert/dev/js-utils/objects/set-value/benchmark/code/object-set.js" + "/Users/jonschlinkert/dev/js-utils/objects/set-value-master/benchmark/code/object-set.js" ], - "_cwd": "/Users/jonschlinkert/dev/js-utils/objects/set-value", + "_cwd": "/Users/jonschlinkert/dev/js-utils/objects/set-value-master", "_isVinyl": true, "_symlink": null, "key": "object-set" }, - "runs": 89, - "hz": 1529484.6289896453, - "ops": "1,529,485", - "rme": "2.37" + "runs": 92, + "hz": 1629494.2140066111, + "ops": "1,629,494", + "rme": "0.68" }, { "name": "set-value", @@ -5603,17 +5208,17 @@ "stat": null, "_contents": null, "history": [ - "/Users/jonschlinkert/dev/js-utils/objects/set-value/benchmark/code/set-value.js" + "/Users/jonschlinkert/dev/js-utils/objects/set-value-master/benchmark/code/set-value.js" ], - "_cwd": "/Users/jonschlinkert/dev/js-utils/objects/set-value", + "_cwd": "/Users/jonschlinkert/dev/js-utils/objects/set-value-master", "_isVinyl": true, "_symlink": null, "key": "set-value" }, "runs": 89, - "hz": 7150920.831749792, - "ops": "7,150,921", - "rme": "1.58" + "hz": 13925947.541034922, + "ops": "13,925,948", + "rme": "0.68" } ], "fastest": [ diff --git a/benchmark/stats.md b/benchmark/stats.md index ac3b1e3..9039bb3 100644 --- a/benchmark/stats.md +++ b/benchmark/stats.md @@ -1,44 +1,41 @@ # deep (194 bytes) - deep-object x 629,744 ops/sec ±0.85% (88 runs sampled) - deep-property x 1,470,427 ops/sec ±0.94% (89 runs sampled) - deep-set x 1,401,089 ops/sec ±1.02% (91 runs sampled) - deephas x 590,005 ops/sec ±1.73% (86 runs sampled) - dot-prop x 1,261,408 ops/sec ±0.94% (90 runs sampled) - dot2val x 1,672,729 ops/sec ±1.12% (89 runs sampled) - es5-dot-prop x 1,313,018 ops/sec ±0.79% (91 runs sampled) - lodash-set x 1,074,464 ops/sec ±0.97% (93 runs sampled) - object-path-set x 961,198 ops/sec ±2.07% (74 runs sampled) - object-set x 258,438 ops/sec ±0.69% (90 runs sampled) - set-value x 1,976,843 ops/sec ±2.07% (89 runs sampled) + deep-object x 879,975 ops/sec ±0.85% (94 runs sampled) + deep-property x 1,746,617 ops/sec ±0.59% (96 runs sampled) + deephas x 792,449 ops/sec ±0.61% (94 runs sampled) + dot-prop x 1,258,403 ops/sec ±0.81% (93 runs sampled) + dot2val x 2,096,518 ops/sec ±0.71% (94 runs sampled) + es5-dot-prop x 1,627,431 ops/sec ±0.57% (94 runs sampled) + lodash-set x 1,100,116 ops/sec ±0.80% (94 runs sampled) + object-path-set x 1,292,062 ops/sec ±0.56% (91 runs sampled) + object-set x 276,868 ops/sec ±0.60% (92 runs sampled) + set-value x 2,587,076 ops/sec ±0.47% (92 runs sampled) - fastest is set-value (by 186% avg) + fastest is set-value (by 210% avg) # medium (98 bytes) - deep-object x 3,249,287 ops/sec ±1.04% (93 runs sampled) - deep-property x 3,409,307 ops/sec ±1.28% (88 runs sampled) - deep-set x 3,240,776 ops/sec ±1.13% (93 runs sampled) - deephas x 960,504 ops/sec ±1.39% (89 runs sampled) - dot-prop x 2,776,388 ops/sec ±0.80% (94 runs sampled) - dot2val x 3,889,791 ops/sec ±1.28% (91 runs sampled) - es5-dot-prop x 2,779,604 ops/sec ±1.32% (91 runs sampled) - lodash-set x 2,791,304 ops/sec ±0.75% (90 runs sampled) - object-path-set x 2,462,084 ops/sec ±1.51% (91 runs sampled) - object-set x 838,569 ops/sec ±0.87% (90 runs sampled) - set-value x 4,767,287 ops/sec ±1.21% (91 runs sampled) + deep-object x 5,823,296 ops/sec ±0.63% (92 runs sampled) + deep-property x 4,045,998 ops/sec ±0.69% (91 runs sampled) + deephas x 1,237,999 ops/sec ±0.56% (92 runs sampled) + dot-prop x 2,833,082 ops/sec ±0.82% (93 runs sampled) + dot2val x 4,669,511 ops/sec ±0.50% (94 runs sampled) + es5-dot-prop x 3,348,092 ops/sec ±0.71% (92 runs sampled) + lodash-set x 3,051,898 ops/sec ±0.61% (94 runs sampled) + object-path-set x 3,867,590 ops/sec ±0.48% (92 runs sampled) + object-set x 888,369 ops/sec ±0.52% (96 runs sampled) + set-value x 8,209,356 ops/sec ±0.68% (91 runs sampled) - fastest is set-value (by 181% avg) + fastest is set-value (by 248% avg) # shallow (101 bytes) - deep-object x 4,793,168 ops/sec ±0.75% (88 runs sampled) - deep-property x 4,669,218 ops/sec ±1.17% (90 runs sampled) - deep-set x 4,648,247 ops/sec ±0.73% (91 runs sampled) - deephas x 1,246,414 ops/sec ±1.67% (92 runs sampled) - dot-prop x 3,913,694 ops/sec ±1.23% (89 runs sampled) - dot2val x 5,428,829 ops/sec ±0.76% (92 runs sampled) - es5-dot-prop x 3,897,931 ops/sec ±1.19% (92 runs sampled) - lodash-set x 6,128,638 ops/sec ±0.95% (87 runs sampled) - object-path-set x 5,429,978 ops/sec ±3.31% (87 runs sampled) - object-set x 1,529,485 ops/sec ±2.37% (89 runs sampled) - set-value x 7,150,921 ops/sec ±1.58% (89 runs sampled) + deep-object x 9,558,659 ops/sec ±0.81% (92 runs sampled) + deep-property x 5,190,792 ops/sec ±0.72% (93 runs sampled) + deephas x 1,395,091 ops/sec ±0.55% (90 runs sampled) + dot-prop x 4,203,222 ops/sec ±0.67% (94 runs sampled) + dot2val x 5,908,936 ops/sec ±0.52% (93 runs sampled) + es5-dot-prop x 4,511,259 ops/sec ±0.65% (94 runs sampled) + lodash-set x 8,624,572 ops/sec ±0.87% (90 runs sampled) + object-path-set x 5,800,121 ops/sec ±0.73% (90 runs sampled) + object-set x 1,629,494 ops/sec ±0.68% (92 runs sampled) + set-value x 13,925,948 ops/sec ±0.68% (89 runs sampled) - fastest is set-value (by 172% avg) + fastest is set-value (by 268% avg) diff --git a/examples.js b/examples.js index 8723d12..b824211 100644 --- a/examples.js +++ b/examples.js @@ -1,22 +1,40 @@ -var set = require('./'); +'use strict'; -console.log(set({}, 'a.b.c', 'd')); -//=> { a: { b: { c: 'd' } } } +const set = require('.'); -console.log(set({}, 'a\\.b.c', 'd')); -//=> { 'a.b': { c: 'd' } } +const data = {}; +const key1 = Symbol('key-1'); +const key2 = Symbol('key-2'); +const key3 = Symbol('key-3'); +const key4 = Symbol('key-4'); -console.log(set({}, 'a\\.b\\.c', 'd')); -//=> { 'a.b.c': 'd' } +set(data, 'a.b.c', true); +set(data, '"a.b".c', true, { split: set.parse }); +set(data, 'foo-bar', true); +set(data, ['one', 'two'], true); +set(data, ['one', key1], true); +set(data, [key2, key3, key4], true); +set(data, key1, true); -console.log(set({}, '"a.b".c', 'd')); -//=> { 'a.b': { c: 'd' } } +console.log(data); -console.log(set({}, "'a.b'.c", "d")); -//=> { 'a.b': { c: 'd' } } +// console.log(set({}, 'a.b.c', 'd')); +// //=> { a: { b: { c: 'd' } } } -console.log(set({}, "{a..b}.c", "d")); -//=> { '{a..b}': { c: 'd' } } +// console.log(set({}, 'a\\.b.c', 'd')); +// //=> { 'a.b': { c: 'd' } } -console.log(set({}, '"this/is/a/.file.path"', 'd')); -//=> { 'this/is/a/.file.path': 'd' } +// console.log(set({}, 'a\\.b\\.c', 'd')); +// //=> { 'a.b.c': 'd' } + +// console.log(set({}, '"a.b".c', 'd')); +// //=> { 'a.b': { c: 'd' } } + +// console.log(set({}, "'a.b'.c", "d")); +// //=> { 'a.b': { c: 'd' } } + +// console.log(set({}, "{a..b}.c", "d")); +// //=> { '{a..b}': { c: 'd' } } + +// console.log(set({}, '"this/is/a/.file.path"', 'd')); +// //=> { 'this/is/a/.file.path': 'd' } diff --git a/index.js b/index.js index fc8761b..d3335b7 100644 --- a/index.js +++ b/index.js @@ -1,118 +1,162 @@ /*! * set-value * - * Copyright (c) 2014-2018, Jon Schlinkert. + * Copyright (c) Jon Schlinkert (https://github.com/jonschlinkert). * Released under the MIT License. */ 'use strict'; -const isPlain = require('is-plain-object'); +const isPlainObject = require('is-plain-object'); -function set(target, path, value, options) { - if (!isObject(target)) { - return target; +const isObject = val => { + return (typeof val === 'object' && val !== null) || typeof val === 'function'; +}; + +const isUnsafeKey = key => { + return key === '__proto__' || key === 'constructor' || key === 'prototype'; +}; + +const validateKey = key => { + if (isUnsafeKey(key)) { + throw new Error(`Cannot set unsafe key: "${key}"`); + } +}; + +const toString = input => { + return Array.isArray(input) ? input.flat().map(String).join(',') : input; +}; + +const createMemoKey = (input, options) => { + if (typeof input !== 'string' || !options) return input; + let key = input + ';'; + if (options.arrays !== undefined) key += `arrays=${options.arrays};`; + if (options.separator !== undefined) key += `separator=${options.separator};`; + if (options.split !== undefined) key += `split=${options.split};`; + if (options.merge !== undefined) key += `merge=${options.merge};`; + if (options.preservePaths !== undefined) key += `preservePaths=${options.preservePaths};`; + return key; +}; + +const memoize = (input, options, fn) => { + const key = toString(options ? createMemoKey(input, options) : input); + validateKey(key); + + const val = setValue.cache.get(key) || fn(); + setValue.cache.set(key, val); + return val; +}; + +const isNumber = value => { + if (value.trim() !== '') { + const number = Number(value); + return { is: Number.isInteger(number), number }; } + return { is: false }; +}; - let opts = options || {}; - const isArray = Array.isArray(path); - if (!isArray && typeof path !== 'string') { - return target; +const splitString = (input, options) => { + const opts = options || {}; + const sep = opts.separator || '.'; + const preserve = sep === '/' ? false : opts.preservePaths; + + if (typeof input === 'symbol') { + return [input]; } - let merge = opts.merge; - if (merge && typeof merge !== 'function') { - merge = Object.assign; + if (typeof opts.split === 'function') { + return opts.split(input); } - const keys = (isArray ? path : split(path, opts)).filter(isValidKey); - const len = keys.length; - const orig = target; + const keys = Array.isArray(input) ? input : input.split(sep); - if (!options && keys.length === 1) { - result(target, keys[0], value, merge); - return target; + if (typeof input === 'string' && preserve !== false && /\//.test(input)) { + return [input]; } - for (let i = 0; i < len; i++) { - let prop = keys[i]; + for (let i = 0; i < keys.length; i++) { + if (typeof keys[i] !== 'string') break; + const { is, number } = isNumber(keys[i]); - if (i < len - 1 && !isNaN(keys[i + 1]) && !target[prop]) { - target[prop] = []; + if (is) { + keys[i] = number; + continue; } - if (!isNaN(prop)) { - target.push({}); + while (keys[i] && i < keys.length && keys[i].endsWith('\\') && typeof keys[i + 1] === 'string') { + keys[i] = keys[i].slice(0, -1) + sep + keys.splice(i + 1, 1); } + } - if (!isObject(target[prop])) { - target[prop] = {}; - } + return keys; +}; - if (i === len - 1) { - result(target, prop, value, merge); - break; - } +const split = (input, options) => { + return memoize(input, options, () => splitString(input, options)); +}; - target = target[prop]; - } +const setProp = (obj, prop, value, options) => { + validateKey(prop); + + // Delete property when "value" is undefined + if (value === undefined) { + delete obj[prop]; - return orig; -} + } else if (options && options.merge) { + const merge = options.merge === true ? Object.assign : options.merge; + + // Only merge plain objects + if (merge && isPlainObject(obj[prop]) && isPlainObject(value)) { + obj[prop] = merge(obj[prop], value); + } else { + obj[prop] = value; + } -function result(target, path, value, merge) { - if (merge && isPlain(target[path]) && isPlain(value)) { - target[path] = merge({}, target[path], value); } else { - target[path] = value; + obj[prop] = value; } -} -function split(path, options) { - const id = createKey(path, options); - if (set.memo[id]) return set.memo[id]; + return obj; +}; - const char = (options && options.separator) ? options.separator : '.'; - let keys = []; - let res = []; +const setValue = (obj, path, value, options) => { + if (!path) return obj; + if (!isObject(obj)) return obj; - if (options && typeof options.split === 'function') { - keys = options.split(path); - } else { - keys = path.split(char); - } + const keys = split(path, options); + const len = keys.length; + const target = obj; - for (let i = 0; i < keys.length; i++) { - let prop = keys[i]; - while (prop && prop.slice(-1) === '\\' && keys[i + 1] != null) { - prop = prop.slice(0, -1) + char + keys[++i]; - } - res.push(prop); - } - set.memo[id] = res; - return res; -} - -function createKey(pattern, options) { - let id = pattern; - if (typeof options === 'undefined') { - return id + ''; - } - const keys = Object.keys(options); - for (let i = 0; i < keys.length; i++) { + for (let i = 0; i < len; i++) { const key = keys[i]; - id += ';' + key + '=' + String(options[key]); + const next = keys[i + 1]; + + validateKey(key); + + if (next === undefined) { + setProp(obj, key, value, options); + break; + } + + if (typeof next === 'number' && !Array.isArray(obj[key])) { + obj[key] = []; + obj = obj[key]; + continue; + } + + if (!isObject(obj[key])) { + obj[key] = {}; + } + + obj = obj[key]; } - return id; -} -function isValidKey(key) { - return key !== '__proto__' && key !== 'constructor' && key !== 'prototype'; -} + return target; +}; -function isObject(val) { - return val !== null && (typeof val === 'object' || typeof val === 'function'); -} +setValue.cache = new Map(); +setValue.clear = () => { + setValue.cache = new Map(); +}; -set.memo = {}; -module.exports = set; \ No newline at end of file +module.exports = setValue; diff --git a/package.json b/package.json index 4499d80..097f968 100644 --- a/package.json +++ b/package.json @@ -1,58 +1,47 @@ { "name": "set-value", - "description": "Create nested values and any intermediaries using dot notation (`'a.b.c'`) paths.", "version": "3.0.2", + "description": "Create nested values and any intermediaries using dot notation (`'a.b.c'`) paths.", + "license": "MIT", + "repository": "jonschlinkert/set-value", "homepage": "https://github.com/jonschlinkert/set-value", - "author": "Jon Schlinkert (https://github.com/jonschlinkert)", + "bugs": "https://github.com/jonschlinkert/set-value/issues", + "author": "Jon Schlinkert (https://github.com/jonschlinkert)", + "funding": [ + "https://github.com/sponsors/jonschlinkert", + "https://paypal.me/jonathanschlinkert", + "https://jonschlinkert.dev/sponsor" + ], "contributors": [ "Jon Schlinkert (http://twitter.com/jonschlinkert)", "(https://github.com/wtgtybhertgeghgtwtg)", "Vadim Demedes (https://vadimdemedes.com)" ], - "repository": "jonschlinkert/set-value", - "bugs": { - "url": "https://github.com/jonschlinkert/set-value/issues" - }, - "license": "MIT", "files": [ "index.js" ], "main": "index.js", "engines": { - "node": ">=6.0" + "node": ">=11.0" }, "scripts": { "test": "mocha" }, "dependencies": { - "is-plain-object": "^2.0.4", - "rxjs": "^6.5.5" + "is-plain-object": "^2.0.4" }, "devDependencies": { - "benchmarked": "^2.0.0", - "deep-object": "^1.0.0", - "deep-property": "^1.1.0", - "deep-set": "^1.0.1", - "deephas": "^1.0.5", - "dot-prop": "^4.2.0", - "dot2val": "^1.2.2", - "es5-dot-prop": "^4.1.1", "gulp-format-md": "^2.0.0", - "lodash.set": "^4.3.2", - "minimist": "^1.2.0", - "mocha": "^3.5.3", - "object-path-set": "^1.0.0", - "object-set": "^1.0.1", - "split-string": "^5.0.4", - "write": "^1.0.3" + "mocha": "^8.3.2", + "split-string": "^6.1.0" }, "keywords": [ "bury", "deep-get-set", "deep-object", "deep-property", - "deep-set", "deep-set-in", + "deep-set", "deephas", "dot-prop", "dot2val", @@ -66,19 +55,22 @@ "lodash.set", "nested", "notation", - "object", - "object-path", "object-path-set", + "object-path", "object-set", + "object", + "patch", "prop", "properties", "property", "props", - "set", - "set-deep", + "put", "set-deep-prop", + "set-deep", "set-nested-prop", + "set", "setvalue", + "split-string", "value", "values" ], diff --git a/test.js b/test.js deleted file mode 100644 index f8b36a4..0000000 --- a/test.js +++ /dev/null @@ -1,300 +0,0 @@ -/*! - * set-value - * - * Copyright (c) 2014-2018, Jon Schlinkert. - * Released under the MIT License. - */ - -'use strict'; - -require('mocha'); -const split = require('split-string'); -const assert = require('assert'); -const set = require('./'); - -describe('set', function() { - it('should return non-objects', function() { - var res = set('foo', 'a.b', 'c'); - assert.equal(res, 'foo'); - res = set(null, 'a.b', 'c'); - assert.equal(res, null); - }); - - it('should create a nested property if it does not already exist', function() { - const o = {}; - set(o, 'a.b', 'c'); - assert.equal(o.a.b, 'c'); - }); - - it('should create a nested array if it does not already exist', function() { - const o = {}; - set(o, 'a.0', 'c'); - set(o, 'a.1', 'd'); - assert(Array.isArray(o.a)); - assert.equal(o.a[0], 'c'); - let actual = ""; - o.a.map(i=> actual +=i); - assert.equal(actual, "cd"); - }); - - it('should merge an existing value with the given value', function() { - var o = {a: {b: {c: 'd'}}}; - set(o, 'a.b', {y: 'z'}, { merge: true }); - assert.deepEqual(o.a.b, {c: 'd', y: 'z'}); - }); - - it('should update an object value', function() { - var o = {}; - set(o, 'a', {b: 'c'}); - set(o, 'a', {c: 'd'}, { merge: true }); - assert.deepEqual(o, {a: {b: 'c', c: 'd'}}); - set(o, 'a', 'b'); - assert.equal(o.a, 'b'); - }); - - it('should extend an array', function() { - const o = {a: []}; - set(o, 'a.0', {y: 'z'}); - assert(Array.isArray(o.a)); - assert.deepEqual(o.a[0], {y: 'z'}); - }); - - it('should extend a function', function() { - function log() {} - const warning = function() {}; - const o = {}; - - set(o, 'helpers.foo', log); - set(o, 'helpers.foo.warning', warning); - assert.equal(typeof o.helpers.foo, 'function'); - assert.equal(typeof o.helpers.foo.warning, 'function'); - }); - - it('should extend an object in an array', function() { - var o = {a: [{}, {}, {}]}; - set(o, 'a.0.a', {y: 'z'}); - set(o, 'a.1.b', {y: 'z'}); - set(o, 'a.2.c', {y: 'z'}); - assert(Array.isArray(o.a)); - assert.deepEqual(o.a[0].a, {y: 'z'}); - assert.deepEqual(o.a[1].b, {y: 'z'}); - assert.deepEqual(o.a[2].c, {y: 'z'}); - }); - - it('should create an array if it does not already exist', function() { - var o = {}; - set(o, 'a.0.a', {y: 'z'}); - set(o, 'a.1.b', {y: 'z'}); - set(o, 'a.2.c', {y: 'z'}); - assert(Array.isArray(o.a)); - assert.deepEqual(o.a[0].a, {y: 'z'}); - assert.deepEqual(o.a[1].b, {y: 'z'}); - assert.deepEqual(o.a[2].c, {y: 'z'}); - }); - - it('should create a deeply nested property if it does not already exist', function() { - var o = {}; - set(o, 'a.b.c.d.e', 'c'); - assert.equal(o.a.b.c.d.e, 'c'); - }); - - it('should not create a nested property if it does already exist', function() { - var first = {name: 'Halle'}; - var o = {a: first }; - set(o, 'a.b', 'c'); - assert.equal(o.a.b, 'c'); - assert.equal(o.a, first); - assert.equal(o.a.name, 'Halle'); - }); - - it('should support immediate properties', function() { - var o = {}; - set(o, 'a', 'b'); - assert.equal(o.a, 'b'); - }); - - it('should use property paths to set nested values from the source object.', function() { - var o = {}; - set(o, 'a.locals.name', {first: 'Brian'}); - set(o, 'b.locals.name', {last: 'Woodward'}); - set(o, 'b.locals.name.last', 'Woodward'); - assert.deepEqual(o, { a: {locals: {name: { first: 'Brian' }} }, b: {locals: {name: { last: 'Woodward' }} }}); - }); - - it('should add the property even if a value is not defined', function() { - var fixture = {}; - assert.deepEqual(set(fixture, 'a.locals.name'), {a: {locals: { name: undefined }}}); - assert.deepEqual(set(fixture, 'b.locals.name'), {b: {locals: { name: undefined }}, a: {locals: { name: undefined }}}); - }); - - it('should set the specified property.', function() { - assert.deepEqual(set({a: 'aaa', b: 'b'}, 'a', 'bbb'), {a: 'bbb', b: 'b'}); - }); - - it('should support passing an array as the key', function() { - var actual = set({a: 'a', b: {c: 'd'}}, ['b', 'c', 'd'], 'eee'); - assert.deepEqual(actual, {a: 'a', b: {c: {d: 'eee'}}}); - }); - - it('should set a deeply nested value.', function() { - var actual = set({a: 'a', b: {c: 'd'}}, 'b.c.d', 'eee'); - assert.deepEqual(actual, {a: 'a', b: {c: {d: 'eee'}}}); - }); - - it('should return the entire object if no property is passed.', function() { - assert.deepEqual(set({a: 'a', b: {c: 'd'}}), {a: 'a', b: {c: 'd'}}); - }); - - it('should set a value only.', function() { - assert.deepEqual(set({a: 'a', b: {c: 'd'}}, 'b.c'), {a: 'a', b: {c: undefined}}); - }); - - it('should set non-plain objects', function(done) { - var o = {}; - - set(o, 'a.b', new Date()); - var firstDate = o.a.b.getTime(); - - setTimeout(function() { - set(o, 'a.b', new Date()); - var secondDate = o.a.b.getTime(); - - assert.notDeepEqual(firstDate, secondDate); - done(); - }, 10); - }); -}); - -describe('escaping', function() { - it('should not split escaped dots', function() { - var o = {}; - set(o, 'a\\.b.c.d.e', 'c', { escape: true }); - assert.equal(o['a.b'].c.d.e, 'c'); - }); - - it('should work with multiple escaped dots', function() { - var obj1 = {}; - set(obj1, 'e\\.f\\.g', 1, { escape: true }); - assert.equal(obj1['e.f.g'], 1); - - var obj2 = {}; - set(obj2, 'e\\.f.g\\.h\\.i.j', 1, { escape: true }); - assert.deepEqual(obj2, { 'e.f': { 'g.h.i': { j: 1 } } }); - }); - - it('should work with escaped dots as the last character', function() { - var o = {}; - set(o, 'a\\.b.c.d\\.e\\.', 'c', { escape: true }); - assert.equal(o['a.b'].c['d.e.'], 'c'); - }); -}); - -describe('options', function() { - const options = { - split: function(segment) { - return split(segment, { separator: '.', brackets: true }); - } - }; - - it('should use a custom function to not split inside double quotes', function() { - var o = {}; - set(o, 'a."b.c.d".e', 'c', options); - assert.equal(o.a['b.c.d'].e, 'c'); - }); - - it('should use a custom function to not split inside single quotes', function() { - var o = {}; - set(o, "a.'b.c.d'.e", 'c', options); - assert.equal(o.a['b.c.d'].e, 'c'); - }); - - it('should use a custom function to not split inside square brackets', function() { - var o = {}; - set(o, 'a.[b.c.d].e', 'c', options); - assert.equal(o.a['[b.c.d]'].e, 'c'); - }); - - it('should use a custom function to not split inside parens', function() { - var o = {}; - set(o, 'a.(b.c.d).e', 'c', options); - assert.equal(o.a['(b.c.d)'].e, 'c'); - }); - - it('should use a custom function to not split inside angle brackets', function() { - var o = {}; - set(o, 'a..e', 'c', options); - assert.equal(o.a[''].e, 'c'); - }); - - it('should use a custom function to not split inside curly braces', function() { - var o = {}; - set(o, 'a.{b.c.d}.e', 'c', options); - assert.equal(o.a['{b.c.d}'].e, 'c'); - }); -}); - -const Rx = require('rxjs'); -const opers = require('rxjs/operators'); - -var _value = 0; -var o = {a: { b: {} } }; -var obs = Rx.from(new Rx.BehaviorSubject()).pipe( - opers.skip(1), -); - -Object.defineProperty(o.a.b, 'c', { - configurable: true, - get() { return _value; }, - set(value) { - _value = value; - obs.next(value); - } -}); - -describe('Setter with Observable', function() { - // const expected = 11; - var received = []; - const noop = () => {}; - it('should only assign/emit once for each call of set', function(done) { - var subs = obs.subscribe( - data => { received.push(data); }, - noop, - () => { - assert.equal(received.length, 1); - done(); - } - ); - set(o, 'a.b.c', 5); - subs.complete(); - }); - - it('should work assignment via setter', function(done) { - received = null; - var subs = obs.subscribe( - data => { received = data; }, - noop, - () => { - assert.equal(received, 10); - done(); - } - ); - set(o, 'a.b.c', 10); - subs.complete(); - }); - - it('should work with merge of object via setter', function(done) { - received = null; - set(o, 'a.b.c', {foo: 'bar'}); - var subs = obs.subscribe( - data => { received = data; }, - noop, - () => { - assert.deepEqual(o.a.b.c, { foo: 'bar', bing: 'bong' }); - done(); - } - ); - set(o, 'a.b.c', { bing: 'bong'}, {merge: true}); - subs.complete(); - }); - -}); diff --git a/test/.eslintrc.json b/test/.eslintrc.json new file mode 100644 index 0000000..fef59e4 --- /dev/null +++ b/test/.eslintrc.json @@ -0,0 +1,8 @@ +{ + "extends": [ + "../.eslintrc.json" + ], + "env": { + "mocha": true + } +} diff --git a/test/test.js b/test/test.js new file mode 100644 index 0000000..fcd08d6 --- /dev/null +++ b/test/test.js @@ -0,0 +1,306 @@ +'use strict'; + +require('mocha'); +const split = require('split-string'); +const assert = require('assert'); +const set = require('..'); + +describe('set-value', () => { + describe('unsafe properties', () => { + it('should not allow setting constructor', () => { + assert.throws(() => set({}, 'a.constructor.b', 'c')); + assert.throws(() => set({}, 'a.constructor', 'c')); + assert.throws(() => set({}, 'constructor', 'c')); + }); + + it('should not allow setting prototype', () => { + assert.throws(() => set({}, 'a.prototype.b', 'c')); + assert.throws(() => set({}, 'a.prototype', 'c')); + assert.throws(() => set({}, 'prototype', 'c')); + }); + + it('should not allow setting __proto__', () => { + assert.throws(() => set({}, 'a.__proto__.b', 'c')); + assert.throws(() => set({}, 'a.__proto__', 'c')); + assert.throws(() => set({}, '__proto__', 'c')); + }); + }); + + describe('set', () => { + it('should return non-objects', () => { + const str = set('foo', 'a.b', 'c'); + assert.equal(str, 'foo'); + const _null = set(null, 'a.b', 'c'); + assert.equal(_null, null); + }); + + it('should set when key is a symbol', () => { + const key = Symbol('foo'); + const obj = {}; + set(obj, key, 'bar'); + assert.equal(obj[key], 'bar'); + }); + + it('should set on the root of the object', () => { + const o = {}; + set(o, 'foo', 'bar'); + assert.equal(o.foo, 'bar'); + }); + + it('should set the specified property.', () => { + assert.deepEqual(set({ a: 'aaa', b: 'b' }, 'a', 'bbb'), { a: 'bbb', b: 'b' }); + }); + + it('should set a nested property', () => { + const o = {}; + set(o, 'a.b', 'c'); + assert.equal(o.a.b, 'c'); + }); + + it('should set a nested property where the last key is a symbol', () => { + const o = {}; + set(o, 'a.b', 'c'); + assert.equal(o.a.b, 'c'); + }); + + it('should support passing an array as the key', () => { + const actual = set({ a: 'a', b: { c: 'd' } }, ['b', 'c', 'd'], 'eee'); + assert.deepEqual(actual, { a: 'a', b: { c: { d: 'eee' } } }); + }); + + it('should set a deeply nested value.', () => { + const actual = set({ a: 'a', b: { c: 'd' } }, 'b.c.d', 'eee'); + assert.deepEqual(actual, { a: 'a', b: { c: { d: 'eee' } } }); + }); + + it('should allow keys to be whitespace', () => { + const o = {}; + set(o, 'a. .a', { y: 'z' }); + assert.deepEqual(o.a[' '].a, { y: 'z' }); + }); + + it('should extend an array', () => { + const o = { a: [] }; + set(o, 'a.0', { y: 'z' }); + assert(Array.isArray(o.a)); + assert.deepEqual(o.a[0], { y: 'z' }); + }); + + it('should create an array if it does not already exist', () => { + const o = {}; + set(o, 'a.0.a', { y: 'z' }); + set(o, 'a.1.b', { y: 'z' }); + set(o, 'a.2.c', { y: 'z' }); + set(o, 'b.0', { y: 'z' }); + set(o, '0', { y: 'z' }); + assert(Array.isArray(o.a)); + assert.deepEqual(o.a[0].a, { y: 'z' }); + assert.deepEqual(o.a[1].b, { y: 'z' }); + assert.deepEqual(o.a[2].c, { y: 'z' }); + assert.deepEqual(o.b, [{ y: 'z' }]); + assert.deepEqual(o['0'], { y: 'z' }); + }); + + it('should extend a function', () => { + const log = () => {}; + const warning = () => {}; + const o = {}; + + set(o, 'helpers.foo', log); + set(o, 'helpers.foo.warning', warning); + assert.equal(typeof o.helpers.foo, 'function'); + assert.equal(typeof o.helpers.foo.warning, 'function'); + }); + + it('should extend an object in an array', () => { + const o = { a: [{}, {}, {}] }; + set(o, 'a.0.a', { y: 'z' }); + set(o, 'a.1.b', { y: 'z' }); + set(o, 'a.2.c', { y: 'z' }); + assert(Array.isArray(o.a)); + assert.deepEqual(o.a[0].a, { y: 'z' }); + assert.deepEqual(o.a[1].b, { y: 'z' }); + assert.deepEqual(o.a[2].c, { y: 'z' }); + }); + + it('should create a deeply nested property if it does not already exist', () => { + const o = {}; + set(o, 'a.b.c.d.e', 'c'); + assert.equal(o.a.b.c.d.e, 'c'); + }); + + it('should not create a nested property if it does already exist', () => { + const first = { name: 'Halle' }; + const o = { a: first }; + set(o, 'a.b', 'c'); + assert.equal(o.a.b, 'c'); + assert.equal(o.a, first); + assert.equal(o.a.name, 'Halle'); + }); + + it('should support immediate properties', () => { + const o = {}; + set(o, 'a', 'b'); + assert.equal(o.a, 'b'); + }); + + it('should use property paths to set nested values from the source object.', () => { + const o = {}; + set(o, 'a.locals.name', { first: 'Brian' }); + set(o, 'b.locals.name', { last: 'Woodward' }); + set(o, 'b.locals.name.last', 'Woodward'); + assert.deepEqual(o, { a: { locals: { name: { first: 'Brian' } } }, b: { locals: { name: { last: 'Woodward' } } } }); + }); + + it('should delete the property when value is undefined', () => { + const fixture = {}; + assert.deepEqual(set(fixture, 'a.locals.name'), { a: { locals: {} } }); + assert.deepEqual(set(fixture, 'b.locals.name'), { b: { locals: {} }, a: { locals: {} } }); + assert.deepEqual(set({ a: 'a', b: { c: 'd' } }, 'b.c'), { a: 'a', b: {} }); + }); + + it('should return the entire object if no property is passed.', () => { + assert.deepEqual(set({ a: 'a', b: { c: 'd' } }), { a: 'a', b: { c: 'd' } }); + }); + + it('should set non-plain objects', done => { + const o = {}; + + set(o, 'a.b', new Date()); + const firstDate = o.a.b.getTime(); + + setTimeout(function() { + set(o, 'a.b', new Date()); + const secondDate = o.a.b.getTime(); + + assert.notDeepEqual(firstDate, secondDate); + done(); + }, 10); + }); + }); + + describe('escaping', () => { + it('should not split escaped dots', () => { + const o = {}; + set(o, 'a\\.b.c.d.e', 'c'); + assert.equal(o['a.b'].c.d.e, 'c'); + }); + + it('should work with multiple escaped dots', () => { + const obj1 = {}; + set(obj1, 'e\\.f\\.g', 1); + assert.equal(obj1['e.f.g'], 1); + + const obj2 = {}; + set(obj2, 'e\\.f.g\\.h\\.i.j', 1); + assert.deepEqual(obj2, { 'e.f': { 'g.h.i': { j: 1 } } }); + }); + + it('should work with multiple escaped dots', () => { + const obj1 = {}; + const key = Symbol('key'); + set(obj1, [key, 'e.f', 'g'], 1); + assert.equal(obj1[key]['e.f'].g, 1); + + const obj2 = {}; + set(obj2, 'e\\.f.g\\.h\\.i.j', 1); + assert.deepEqual(obj2, { 'e.f': { 'g.h.i': { j: 1 } } }); + }); + }); + + describe('options.merge', () => { + it('should merge an existing value with the given value', () => { + const o = { a: { b: { c: 'd' } } }; + set(o, 'a.b', { y: 'z' }, { merge: true }); + assert.deepEqual(o.a.b, { c: 'd', y: 'z' }); + + const obj = { foo: { bar: { baz: 'qux' } } }; + set(obj, 'foo.bar.fez', 'zzz', { merge: true }); + assert.deepEqual(obj, { foo: { bar: { baz: 'qux', fez: 'zzz' } } }); + }); + + it('should update an object by merging values', () => { + const o = {}; + set(o, 'a', { b: 'c' }); + set(o, 'a', { c: 'd' }, { merge: true }); + assert.deepEqual(o, { a: { b: 'c', c: 'd' } }); + set(o, 'a', 'b'); + assert.equal(o.a, 'b'); + }); + }); + + describe('options.preservePaths', () => { + it('should split properties with a forward slash when preservePaths is false', () => { + const obj = {}; + set(obj, 'https://github.com', true, { preservePaths: false }); + + assert.deepEqual(obj, { 'https://github': { com: true } }); + }); + + it('should not split properties with a forward slash', () => { + const obj = {}; + set(obj, 'foo/bar/baz.md', 'c'); + assert.equal(obj['foo/bar/baz.md'], 'c'); + }); + }); + + describe('options.split', () => { + const keep = (value, state) => { + return value !== '"' && value !== '\''; + }; + + const options = { + split(prop) { + return split(prop, { separator: '.', brackets: true, quotes: true, keep }); + } + }; + + it('should use simple String.split() when options.split is not defined', () => { + const o = {}; + set(o, 'a."b.c.d".e', 'c'); + assert.equal(o.a['"b'].c['d"'].e, 'c'); + }); + + it('should take a custom separator', () => { + const o = {}; + set(o, 'a/b/c/d/e', 'c', { separator: '/' }); + assert.equal(o.a.b.c.d.e, 'c'); + }); + + it('should use a custom function to not split inside double quotes', () => { + const o = {}; + set(o, 'a."b.c.d".e', 'c', options); + assert.equal(o.a['b.c.d'].e, 'c'); + }); + + it('should use a custom function to not split inside single quotes', () => { + const o = {}; + set(o, "a.'b.c.d'.e", 'c', options); + assert.equal(o.a['b.c.d'].e, 'c'); + }); + + it('should use a custom function to not split inside square brackets', () => { + const o = {}; + set(o, 'a.[b.c.d].e', 'c', options); + assert.equal(o.a['[b.c.d]'].e, 'c'); + }); + + it('should use a custom function to not split inside parens', () => { + const o = {}; + set(o, 'a.(b.c.d).e', 'c', options); + assert.equal(o.a['(b.c.d)'].e, 'c'); + }); + + it('should use a custom function to not split inside angle brackets', () => { + const o = {}; + set(o, 'a..e', 'c', options); + assert.equal(o.a[''].e, 'c'); + }); + + it('should use a custom function to not split inside curly braces', () => { + const o = {}; + set(o, 'a.{b.c.d }.e', 'c', options); + assert.equal(o.a['{b.c.d }'].e, 'c'); + }); + }); +});