zenika-open-source / immutadot

immutadot is a JavaScript library to deal with nested immutable structures.
https://immutadot.zenika.com
MIT License
178 stars 5 forks source link

Add setDeepProp in benchmark #324

Closed nlepage closed 5 years ago

codecov-io commented 5 years ago

Codecov Report

Merging #324 into dev will not change coverage. The diff coverage is n/a.

Impacted file tree graph

@@           Coverage Diff           @@
##              dev     #324   +/-   ##
=======================================
  Coverage   97.06%   97.06%           
=======================================
  Files         105      105           
  Lines         375      375           
=======================================
  Hits          364      364           
  Misses         11       11

Continue to review full report at Codecov.

Legend - Click here to learn more Δ = absolute <relative> (impact), ø = not affected, ? = missing data Powered by Codecov. Last update 27f9a05...bd84baa. Read the comment docs.

nlepage commented 5 years ago

Improved the benchmark "framework":

New results:

ES2015 destructuring immutable 4.0.0-rc.12 seamless-immutable 7.1.3 immer 1.8.0 qim 0.0.52 immutad●t 2.0.0 qim 0.0.52 curried immutad●t 2.0.0 curried
Set a property 6265665ops/s (160ns/op) 168348ops/s (5.94µs/op) 65270ops/s (15.3µs/op) 215294ops/s (4.64µs/op) 781006ops/s (1.28µs/op) 943753ops/s (1.06µs/op) 754148ops/s (1.33µs/op) 874432ops/s (1.14µs/op)
Set a deeply nested property 958405ops/s (1.04µs/op) 23181ops/s (43.1µs/op) 5906ops/s (169µs/op) 18939ops/s (52.8µs/op) 120080ops/s (8.33µs/op) 74560ops/s (13.4µs/op) 118606ops/s (8.43µs/op) 74787ops/s (13.4µs/op)
Update small todos list (1000 items) 74076ops/s (13.5µs/op) 1856ops/s (539µs/op) 506ops/s (1.97ms/op) 2825ops/s (354µs/op) 15919ops/s (62.8µs/op) 24051ops/s (41.6µs/op) 16011ops/s (62.5µs/op) 22800ops/s (43.9µs/op)
Update medium todos list (10000 items) 7155ops/s (140µs/op) 182ops/s (5.48ms/op) 51ops/s (19.5ms/op) 283ops/s (3.53ms/op) 1698ops/s (589µs/op) 3087ops/s (324µs/op) 1706ops/s (586µs/op) 3036ops/s (329µs/op)
Update large todos list (100000 items) 266ops/s (3.77ms/op) 18ops/s (55.6ms/op) 5ops/s (204ms/op) 27ops/s (37.7ms/op) 127ops/s (7.87ms/op) 177ops/s (5.66ms/op) 128ops/s (7.84ms/op) 189ops/s (5.30ms/op)
Final score 100 3 1 5 24 33 24 33