Skip to content

Instantly share code, notes, and snippets.

@pmdartus
Created November 8, 2018 17:13
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save pmdartus/32050a7051b02a2d2c9e3524bf9a98ec to your computer and use it in GitHub Desktop.
Save pmdartus/32050a7051b02a2d2c9e3524bf9a98ec to your computer and use it in GitHub Desktop.
Custom Element implementation performance in jsdom

Environment: Node v8.11.3, Macbook Pro 2015 2.8 GHz 16 GB RAM

Results:

Test Case custom-elements master
dom/compare-document-position/compare ancestor 20,114 ops/sec ±4.17% 19,189 ops/sec ±4.58%
dom/compare-document-position/compare descendant 18,208 ops/sec ±3.29% 17,593 ops/sec ±5.80%
dom/compare-document-position/compare siblings 462,052 ops/sec ±54.01% 542,362 ops/sec ±38.72%
dom/construction/createComment 1,066,817 ops/sec ±2.62% 1,060,437 ops/sec ±1.34%
dom/construction/createDocumentFragment 1,220,469 ops/sec ±2.07% 1,225,856 ops/sec ±1.43%
dom/construction/createElement 85,749 ops/sec ±5.91% 92,046 ops/sec ±4.01%
dom/construction/createEvent 135,971 ops/sec ±5.39% 146,887 ops/sec ±4.15%
dom/construction/createNodeIterator 1,048,329 ops/sec ±2.11% 1,088,152 ops/sec ±1.73%
dom/construction/createProcessingInstruction 327,664 ops/sec ±2.53% 327,018 ops/sec ±2.09%
dom/construction/createTextNode 892,702 ops/sec ±1.78% 960,915 ops/sec ±1.56%
dom/inner-html/tables 0.14 ops/sec ±4.58% 0.16 ops/sec ±4.41%
dom/named-properties/setAttribute(): Remove a named property from window 721 ops/sec ±3.30% 660 ops/sec ±3.10%
dom/tree-modification/appendChild: many parents 10.08 ops/sec ±3.69% 11.14 ops/sec ±6.15%
dom/tree-modification/appendChild: many siblings 187,824 ops/sec ±15.71% 189,830 ops/sec ±13.34%
dom/tree-modification/appendChild: no siblings 122,475 ops/sec ±98.02% 72,057 ops/sec ±65.01%
dom/tree-modification/insertBefore: many siblings 78,978 ops/sec ±119.23% 115,606 ops/sec ±78.76%
dom/tree-modification/removeChild: many parents 36.05 ops/sec ±48.72% 58.67 ops/sec ±5.38%
dom/tree-modification/removeChild: many siblings 46,054 ops/sec ±13.05% 47,063 ops/sec ±8.10%
dom/tree-modification/removeChild: no siblings 6,396 ops/sec ±55.76% 44,928 ops/sec ±3.19%
jsdom/api/new JSDOM() defaults 156 ops/sec ±58.70% 490 ops/sec ±4.17%
jsdom/api/new JSDOM() with many elements 2.82 ops/sec ±77.16% 14.67 ops/sec ±5.26%
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment