Toggle navigation
MeasureThat.net
Create a benchmark
Tools
Feedback
FAQ
Register
Log In
dom array initialization: preallocate vs push
(version: 2)
Comparing performance of:
Preallocate vs Push vs FuncCombined
Created:
one year ago
by:
Registered User
Jump to the latest result
Script Preparation code:
let A=(a)=>{return document.createElement(a)} let B=[A('a'),A('div'),A('span'),A('p'),A('input')]; let D=(I,J)=>{const E=B[I].cloneNode();E.className=J;return E;}
Tests:
Preallocate
let C=[B[0].cloneNode(),B[0].cloneNode(),B[2].cloneNode(),B[2].cloneNode(),B[1].cloneNode(),B[4].cloneNode()] C[0].className='a b c' C[1].className='a b c' C[2].className='d e f' C[3].className='d e f' C[4].className='a b c' C[5].className='a b c'
Push
let C = new Array(6); C[0]=B[0].cloneNode() C[0].className='a b c' C[1]=C[0].cloneNode() C[2]=B[2].cloneNode() C[2].className='d e f' C[3]=C[2].cloneNode() C[4]=B[1].cloneNode() C[4].className='a b c' C[5]=B[4].cloneNode() C[5].className='a b c'
FuncCombined
let C=[D(0,'a b c'),D(0,'a b c'),D(2,'d e f'),D(2,'d e f'),D(1,'a b c'),D(4,'a b c')]
Rendered benchmark preparation results:
Suite status:
<idle, ready to run>
Run tests (3)
Previous results
Fork
Test case name
Result
Preallocate
Push
FuncCombined
Fastest:
N/A
Slowest:
N/A
Latest run results:
Run details:
(Test run date:
one year ago
)
User agent:
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.6.1 Safari/605.1.15
Browser/OS:
Safari 15 on Mac OS X 10.15.7
View result in a separate tab
Embed
Embed Benchmark Result
Test name
Executions per second
Preallocate
635346.2 Ops/sec
Push
653404.0 Ops/sec
FuncCombined
609779.1 Ops/sec
Related benchmarks:
Clone node vs create element
clone div vs clone form
Array cloning
createElement vs cloneNode vs innerHTML for multi elements
Create div template
createElement vs cloneNode + querySelector
Create versus clone element
weweewdwr4
cloneNode vs clone function
Comments
Confirm delete:
Do you really want to delete benchmark?