From 22b6ae6095a3e10fbf9e4d2497d9dca1762fca55 Mon Sep 17 00:00:00 2001 From: Guillermo Grau Date: Thu, 9 Nov 2017 09:17:21 +0100 Subject: [PATCH] Update benchmarks (add mergeDeep()) --- CHANGELOG.md | 2 ++ README.md | 2 +- docs/README_TEMPLATE.md | 2 +- docs/benchmarks-osx-20171109-node8.6.png | Bin 0 -> 99774 bytes tools/benchmarks.coffee | 42 +++++++++++++++-------- 5 files changed, 32 insertions(+), 16 deletions(-) create mode 100644 docs/benchmarks-osx-20171109-node8.6.png diff --git a/CHANGELOG.md b/CHANGELOG.md index 380778c..2a2b0c0 100755 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,5 @@ +* Add `mergeDeep()` benchmarks [#16, @dentrado] + ## 1.4.0 (2017-10-25) * Add **mergeDeep()** [#14, @dentrado] diff --git a/README.md b/README.md index 19c7e62..e3210c4 100755 --- a/README.md +++ b/README.md @@ -37,7 +37,7 @@ All four solutions are first verified for consistency (the mutable solution obvi Feel free to run them yourself (download the repo and then `npm install && npm run benchmarks`). These are my results on OS X for 200k iterations (Node v8.6.0): -![Benchmarks](https://github.com/guigrpa/timm/blob/master/docs/benchmarks-osx-20171025-node8.6.png?raw=true) +![Benchmarks](https://github.com/guigrpa/timm/blob/master/docs/benchmarks-osx-20171109-node8.6.png?raw=true) Some conclusions from these benchmarks: diff --git a/docs/README_TEMPLATE.md b/docs/README_TEMPLATE.md index 09a92bc..096232b 100755 --- a/docs/README_TEMPLATE.md +++ b/docs/README_TEMPLATE.md @@ -37,7 +37,7 @@ All four solutions are first verified for consistency (the mutable solution obvi Feel free to run them yourself (download the repo and then `npm install && npm run benchmarks`). These are my results on OS X for 200k iterations (Node v8.6.0): -![Benchmarks](https://github.com/guigrpa/timm/blob/master/docs/benchmarks-osx-20171025-node8.6.png?raw=true) +![Benchmarks](https://github.com/guigrpa/timm/blob/master/docs/benchmarks-osx-20171109-node8.6.png?raw=true) Some conclusions from these benchmarks: diff --git a/docs/benchmarks-osx-20171109-node8.6.png b/docs/benchmarks-osx-20171109-node8.6.png new file mode 100644 index 0000000000000000000000000000000000000000..f3e8a51e92997a9da283e3c8936f1633de55c438 GIT binary patch literal 99774 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 out = out[key] for key in path out -_solMutable = +_mergeDeepInPlace = (obj1, obj2) -> + for key in Object.keys obj2 + val = obj2[key] + if (not val?) + obj1[key] = val + else if (typeof val is 'object') and (val.length?) + obj1[key] = _mergeDeepInPlace [], val + else if (typeof val is 'object') + obj1[key] = _mergeDeepInPlace {}, val + else + obj1[key] = val + obj1 + +_solMutable = init: -> _.cloneDeep INITIAL_OBJECT get: (obj, key) -> obj[key] set: (obj, key, val) -> obj[key] = val; obj getDeep: (obj, key1, key2) -> obj[key1][key2] setDeep: (obj, key1, key2, val) -> obj[key1][key2] = val; obj getIn: _getIn - setIn: (obj, path, val) -> + setIn: (obj, path, val) -> ptr = obj for idx in [0...(path.length - 1)] ptr = ptr[path[idx]] ptr[path[path.length - 1]] = val obj - merge: (obj1, obj2) -> + merge: (obj1, obj2) -> for key in Object.keys obj2 obj1[key] = obj2[key] - mergeDeep: (obj1, obj2) -> _.merge(obj1, obj2) + mergeDeep: (obj1, obj2) -> _mergeDeepInPlace(obj1, obj2) initArr: -> _.cloneDeep INITIAL_ARRAY getAt: (arr, idx) -> arr[idx] setAt: (arr, idx, val) -> arr[idx] = val; arr @@ -172,6 +185,7 @@ _verify = (solution) -> changedPath = ['d', 'd9', 'b', 'a'] unchangedPath = ['d', 'd9', 'b', 'b'] _addResult results, (obj2 isnt obj) + _addResult results, (get(obj2, 'd') isnt get(obj, 'd')) _addResult results, (getIn(obj2, changedPath) is 1) _addResult results, (getIn(obj2, unchangedPath) is getIn(obj, unchangedPath)) _addResult results, (get(obj2, 'c') is 5) @@ -199,38 +213,38 @@ _allTests = (desc, solution) -> console.log chalk.bold desc _verify solution obj = solution.init() - _test "Object: read (x#{N})", -> + _test "Object: read (x#{N})", -> for n in [0...N] val = solution.get(obj, 'toggle') return obj = solution.init() - _test "Object: write (x#{N})", -> + _test "Object: write (x#{N})", -> for n in [0...N] obj2 = solution.set(obj, 'b', n) return obj = solution.init() - _test "Object: deep read (x#{N})", -> + _test "Object: deep read (x#{N})", -> for n in [0...N] val = solution.getDeep(obj, 'd', 'd1') return obj = solution.init() - _test "Object: deep write (x#{N})", -> + _test "Object: deep write (x#{N})", -> for n in [0...N] obj2 = solution.setDeep(obj, 'd', 'd1', n) return obj = solution.init() - _test "Object: very deep read (x#{N})", -> + _test "Object: very deep read (x#{N})", -> for n in [0...N] val = solution.getIn(obj, DEEP_PATH) return obj = solution.init() - _test "Object: very deep write (x#{N})", -> + _test "Object: very deep write (x#{N})", -> for n in [0...N] obj2 = solution.setIn(obj, DEEP_PATH, n) return obj = solution.init() MERGE_OBJ = {c: 5, f: null} - _test "Object: merge (x#{N})", -> + _test "Object: merge (x#{N})", -> for n in [0...N] obj2 = solution.merge(obj, MERGE_OBJ) return @@ -241,12 +255,12 @@ _allTests = (desc, solution) -> obj2 = solution.mergeDeep(obj, MERGE_DEEP_OBJ) return arr = solution.initArr() - _test "Array: read (x#{N})", -> + _test "Array: read (x#{N})", -> for n in [0...N] val = solution.getAt(arr, 1) return arr = solution.initArr() - _test "Array: write (x#{N})", -> + _test "Array: write (x#{N})", -> for n in [0...N] arr2 = solution.setAt(arr, 1, n) return