Skip to content

lib: use Object.create(null) directly

Since v8/v8@532c16eca071df3ec8eed394dcebb932ef584ee6 (included in v5.6), using Object.create(null) directly is now faster than using a constructor.

Refs: https://github.com/emberjs/ember.js/issues/15001 Refs: https://crrev.com/532c16eca071df3ec8eed394dcebb932ef584ee6

/cc @nodejs/v8

querystring
                                                                 improvement confidence      p.value
 querystring/querystring-parse.js n=100000 type="altspaces"           5.40 %          * 1.400406e-02
 querystring/querystring-parse.js n=100000 type="encodefake"          5.70 %            6.377693e-02
 querystring/querystring-parse.js n=100000 type="encodelast"          3.49 %            1.214386e-01
 querystring/querystring-parse.js n=100000 type="encodemany"          5.08 %          * 1.427018e-02
 querystring/querystring-parse.js n=100000 type="manyblankpairs"     -7.21 %         ** 1.152391e-03
 querystring/querystring-parse.js n=100000 type="manypairs"           8.53 %        *** 6.779383e-10
 querystring/querystring-parse.js n=100000 type="multicharsep"        6.11 %         ** 8.321237e-03
 querystring/querystring-parse.js n=100000 type="multivalue"         12.44 %         ** 1.668042e-03
 querystring/querystring-parse.js n=100000 type="multivaluemany"     19.43 %        *** 1.919249e-09
 querystring/querystring-parse.js n=100000 type="noencode"            6.23 %        *** 2.348627e-04
map-bench
es/map-bench.js millions=3 method="object": 0.39794620430879774
es/map-bench.js millions=3 method="nullProtoObject": 0.41138972726767054
es/map-bench.js millions=3 method="nullProtoLiteralObject": 0.37403618701313923
es/map-bench.js millions=3 method="storageObject": 0.39906914551802625
es/map-bench.js millions=3 method="fakeMap": 0.3576056060343219
es/map-bench.js millions=3 method="map": 0.5858516350899148
Checklist
  • make -j4 test (UNIX), or vcbuild test (Windows) passes
  • commit message follows commit guidelines
Affected core subsystem(s)

lib

Merge request reports

Loading