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 qim to benchmark #265

Closed nlepage closed 6 years ago

nlepage commented 6 years ago

fix #233

Holy s**t it's fast

    Update small todos list (1000 items):
      ES2015 destructuring: ~11948ops/s (0.08ms/op) on 16667ops
      immutable 3.8.2 (w/o conversion to plain JS objects): ~4690ops/s (0.21ms/op) on 16667ops
      immutable 3.8.2 (w/ conversion to plain JS objects): ~96ops/s (10.38ms/op) on 964ops
      immer 1.1.3 (proxy implementation w/o autofreeze): ~1088ops/s (0.92ms/op) on 10915ops
      immer 1.1.3 (ES5 implementation w/o autofreeze): ~396ops/s (2.52ms/op) on 4013ops
      qim 0.0.52: ~8861ops/s (0.11ms/op) on 16667ops
      immutad●t 1.0.0: ~1954ops/s (0.51ms/op) on 16667ops

    Update medium todos list (10000 items):
      ES2015 destructuring: ~1264ops/s (0.79ms/op) on 1667ops
      immutable 3.8.2 (w/o conversion to plain JS objects): ~439ops/s (2.28ms/op) on 1667ops
      immutable 3.8.2 (w/ conversion to plain JS objects): ~9ops/s (105.55ms/op) on 96ops
      immer 1.1.3 (proxy implementation w/o autofreeze): ~165ops/s (6.05ms/op) on 1654ops
      immer 1.1.3 (ES5 implementation w/o autofreeze): ~39ops/s (25.88ms/op) on 387ops
      qim 0.0.52: ~908ops/s (1.10ms/op) on 1667ops
      immutad●t 1.0.0: ~192ops/s (5.21ms/op) on 1667ops

    Update large todos list (100000 items):
      ES2015 destructuring: ~84ops/s (11.88ms/op) on 167ops
      immutable 3.8.2 (w/o conversion to plain JS objects): ~42ops/s (23.96ms/op) on 167ops
      immutable 3.8.2 (w/ conversion to plain JS objects): ~1ops/s (1076.30ms/op) on 10ops
      immer 1.1.3 (proxy implementation w/o autofreeze): ~14ops/s (73.28ms/op) on 137ops
      immer 1.1.3 (ES5 implementation w/o autofreeze): ~3ops/s (348.28ms/op) on 29ops
      qim 0.0.52: ~69ops/s (14.51ms/op) on 167ops
      immutad●t 1.0.0: ~17ops/s (58.50ms/op) on 167ops
codecov-io commented 6 years ago

Codecov Report

Merging #265 into master will not change coverage. The diff coverage is n/a.

Impacted file tree graph

@@          Coverage Diff          @@
##           master   #265   +/-   ##
=====================================
  Coverage     100%   100%           
=====================================
  Files          95     95           
  Lines         276    276           
=====================================
  Hits          276    276

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 0cdf522...175635f. Read the comment docs.