Toggle navigation
MeasureThat.net
Create a benchmark
Tools
Feedback
FAQ
Register
Log In
Bench array/object
(version: 0)
Compare the new ES6 spread operator with the traditional concat() method and push
Comparing performance of:
array.push vs spread operator
Created:
5 years ago
by:
Guest
Jump to the latest result
Script Preparation code:
var json = { "40100":695, "40101":2, "40102":1, "40103":1, "40104":1, "40105":1, "40106":1, "40107":1, "40108":1, "40109":1, "40110":72, "40111":770, "40112":770, "40113":1, "40114":1, "40115":0, "40116":1, "40117":1, "40118":1, "40119":1, "40120":7, "40121":0, "40122":0, "40123":1, "40124":0, "40125":0, "40126":0, "40127":0, "40128":0, "40129":0, "40130":0, "40131":0, "40132":0, "40133":0, "40134":0, "40135":0, "40136":0, "40137":0, "40138":0, "40139":0, "40150":0, "40151":0, "40152":0, "40153":0, "40154":0, "40155":0, "40156":0, "40157":0, "40158":0, "40159":0, "40160":0, "40161":0, "40162":0, "40163":0, "40300":159, "40301":158, "40302":152, "40303":80, "40304":80, "40305":150, "40306":172, "40307":172, "40308":90, "40309":90, "40310":100, "40311":120, "40312":560, "40313":30, "40314":70, "40315":4284, "40316":1602, "40317":1653, "40318":115, "40319":135, "40320":0, "40321":150, "40322":250, "40323":0, "40324":0, "40325":0, "40326":0, "40327":0, "40328":2257, "40329":0, "40330":650, "40331":650, "40332":650, "40333":650, "40334":650, "40335":650, "40336":650, "40337":650, "40338":650, "40339":650, "40340":0, "40341":0, "40342":0, "40343":0, "40344":0, "40345":0, "40346":0, "40347":0, "40348":0, "40349":0, "40350":0, "40351":0, "40352":0, "40353":0, "40354":0, "40355":0, "40356":0, "40357":0, "40358":0, "40359":0, "40360":0, "40361":2543, "40362":0, "40363":0, "40364":0, "40365":0, "40366":0, "40367":0, "40368":0, "40500":0, "40501":155, "40502":153, "40503":150, "40504":148, "40505":146, "40506":157, "40507":153, "40508":150, "40509":127, "40510":150, "40511":151, "40512":153, "40513":115, "40514":154, "40515":154, "40516":156, "40517":0, "40518":0, "40519":0, "40520":0, "40521":0, "40522":0, "40523":0, "40524":0, "40525":0, "40526":0, "40527":0, "40528":0, "40529":0, "40530":0, "40531":0, "40532":0, "40533":0, "40534":0, "40535":0, "40600":0, "40601":650, "40602":650, "40603":700, "40604":650, "40605":650, "40606":650, "40607":700, "40608":650, "40609":650, "40610":650, "40611":750, "40612":750, "40613":650, "40614":650, "40615":750, "40616":750, "40617":0, "40618":0, "40619":0, "40620":0, "40621":0, "40622":0, "40623":0, "40624":0, "40625":0, "40626":0, "40627":0, "40628":0, "40629":0, "40630":0, "40631":0, "40632":0, "40633":0, "40634":0, "40635":0 }; var modbusMap = { 40162: { name: "Inhibition sonde inférieure", desc: "", divider: 1 }, 40163: { name: "Inhibition sonde supérieure", desc: "", divider: 1 }, 40300: { name: "Température brûleur inf.", desc: "", divider: 10 }, 40301: { name: "Température brûleur sup.", desc: "", divider: 10 }, 40302: { name: "Température grain", desc: "", divider: 10 }, 40303: { name: "Consigne grille extraction", desc: "", divider: 100 }, 40304: { name: "Consigne grille n°2", desc: "", divider: 100 }, 40305: { name: "Consigne minuterie", desc: "", divider: 1 }, 40306: { name: "Consigne minuterie calculée", desc: "", divider: 1 }, 40307: { name: "Décompte intervalle extraction", desc: "", divider: 1 }, 40308: { name: "Consigne ventilation retardée", desc: "", divider: 1 }, 40309: { name: "Décompte ventilation retardée", desc: "", divider: 1 }, 40310: { name: "Consigne brûleur inférieur", desc: "", divider: 1 }, 40311: { name: "Consigne brûleur supérieur", desc: "", divider: 1 }, 40312: { name: "Consigne température grain", desc: "", divider: 10 }, 40313: { name: "Coefficient de régulation", desc: "", divider: 10 }, 40314: { name: "Temps fermeture volet après extraction", desc: "", divider: 10 }, 40315: { name: "Compteur extractions journalier", desc: "", divider: 1 }, 40316: { name: "Durée fonctionnement brûleur inférieur", desc: "", divider: 1 }, 40317: { name: "Durée fonctionnement brûleur supérieur", desc: "", divider: 1 }, 40318: { name: "Seuil défaut brûleur inférieur", desc: "", divider: 1 }, 40319: { name: "Seuil défaut brûleur supérieur", desc: "", divider: 1 }, 40320: { name: "Cellule de destination", desc: "", divider: 1 }, 40321: { name: "Humidité de sortie", desc: "", divider: 10 }, 40322: { name: "Humidité d'entrée", desc: "", divider: 10 }, 40323: { name: "", desc: "", divider: 1 }, 40324: { name: "", desc: "", divider: 1 }, 40325: { name: "", desc: "", divider: 1 }, 40326: { name: "", desc: "", divider: 1 }, 40327: { name: "", desc: "", divider: 1 }, 40328: { name: "Compteur extractions total", desc: "", divider: 1 }, 40329: { name: "", desc: "", divider: 1 }, 40330: { name: "", desc: "", divider: 10 }, 40331: { name: "", desc: "", divider: 10 }, 40500: { name: "", desc: "", divider: 10 }, 40501: { name: "Sonde n°1", desc: "Valeur sonde air usé n°1", divider: 10 }, 40502: { name: "Sonde n°2", desc: "Valeur sonde air usé n°2", divider: 10 }, 40503: { name: "Sonde n°3", desc: "Valeur sonde air usé n°3", divider: 10 }, 40504: { name: "Sonde n°4", desc: "Valeur sonde air usé n°4", divider: 10 }, 40505: { name: "Sonde n°5", desc: "Valeur sonde air usé n°5", divider: 10 }, 40506: { name: "Sonde n°6", desc: "Valeur sonde air usé n°6", divider: 10 }, 40507: { name: "Sonde n°7", desc: "Valeur sonde air usé n°7", divider: 10 }, 40508: { name: "Sonde n°8", desc: "Valeur sonde air usé n°8", divider: 10 }, 40509: { name: "Sonde n°9", desc: "Valeur sonde air usé n°9", divider: 10 }, 40510: { name: "Sonde n°10", desc: "Valeur sonde air usé n°10", divider: 10 }, 40511: { name: "Sonde n°11", desc: "Valeur sonde air usé n°11", divider: 10 }, 40512: { name: "Sonde n°12", desc: "Valeur sonde air usé n°12", divider: 10 }, 40513: { name: "Sonde n°13", desc: "Valeur sonde air usé n°13", divider: 10 }, 40514: { name: "Sonde n°14", desc: "Valeur sonde air usé n°14", divider: 10 }, 40515: { name: "Sonde n°15", desc: "Valeur sonde air usé n°15", divider: 10 }, 40516: { name: "Sonde n°16", desc: "Valeur sonde air usé n°16", divider: 10 }, 40517: { name: "Sonde n°17", desc: "Valeur sonde air usé n°17", divider: 10 }, 40518: { name: "Sonde n°18", desc: "Valeur sonde air usé n°18", divider: 10 }, 40519: { name: "Sonde n°19", desc: "Valeur sonde air usé n°19", divider: 10 }, 40520: { name: "Sonde n°20", desc: "Valeur sonde air usé n°20", divider: 10 }, 40521: { name: "Sonde n°21", desc: "Valeur sonde air usé n°21", divider: 10 }, 40522: { name: "Sonde n°22", desc: "Valeur sonde air usé n°22", divider: 10 }, 40523: { name: "Sonde n°23", desc: "Valeur sonde air usé n°23", divider: 10 }, 40524: { name: "Sonde n°24", desc: "Valeur sonde air usé n°24", divider: 10 }, 40525: { name: "Sonde n°25", desc: "Valeur sonde air usé n°25", divider: 10 }, 40526: { name: "Sonde n°26", desc: "Valeur sonde air usé n°26", divider: 10 }, 40527: { name: "Sonde n°27", desc: "Valeur sonde air usé n°27", divider: 10 }, 40528: { name: "Sonde n°28", desc: "Valeur sonde air usé n°28", divider: 10 }, 40529: { name: "Sonde n°29", desc: "Valeur sonde air usé n°29", divider: 10 }, 40530: { name: "Sonde n°30", desc: "Valeur sonde air usé n°30", divider: 10 }, 40531: { name: "Sonde n°31", desc: "Valeur sonde air usé n°31", divider: 10 }, 40532: { name: "Sonde n°32", desc: "Valeur sonde air usé n°32", divider: 10 }, 40533: { name: "Sonde n°33", desc: "Valeur sonde air usé n°33", divider: 10 }, 40534: { name: "Sonde n°34", desc: "Valeur sonde air usé n°34", divider: 10 }, 40535: { name: "Sonde n°35", desc: "Valeur sonde air usé n°35", divider: 10 }, 40600: { name: "", desc: "", divider: 10 }, 40601: { name: "Consigne sonde air usé n°1", desc: "", divider: 10 }, 40602: { name: "Consigne sonde air usé n°2", desc: "", divider: 10 }, 40603: { name: "Consigne sonde air usé n°3", desc: "", divider: 10 }, 40604: { name: "Consigne sonde air usé n°4", desc: "", divider: 10 }, 40605: { name: "Consigne sonde air usé n°5", desc: "", divider: 10 }, 40606: { name: "Consigne sonde air usé n°6", desc: "", divider: 10 }, 40607: { name: "Consigne sonde air usé n°7", desc: "", divider: 10 }, 40608: { name: "Consigne sonde air usé n°8", desc: "", divider: 10 }, 40609: { name: "Consigne sonde air usé n°9", desc: "", divider: 10 }, 40610: { name: "Consigne sonde air usé n°10", desc: "", divider: 10 }, 40611: { name: "Consigne sonde air usé n°11", desc: "", divider: 10 }, 40612: { name: "Consigne sonde air usé n°12", desc: "", divider: 10 }, 40613: { name: "Consigne sonde air usé n°13", desc: "", divider: 10 }, 40614: { name: "Consigne sonde air usé n°14", desc: "", divider: 10 }, 40615: { name: "Consigne sonde air usé n°15", desc: "", divider: 10 }, 40616: { name: "Consigne sonde air usé n°16", desc: "", divider: 10 }, 40617: { name: "Consigne sonde air usé n°17", desc: "", divider: 10 }, 40618: { name: "Consigne sonde air usé n°18", desc: "", divider: 10 }, 40619: { name: "Consigne sonde air usé n°19", desc: "", divider: 10 }, 40620: { name: "Consigne sonde air usé n°20", desc: "", divider: 10 }, 40621: { name: "Consigne sonde air usé n°21", desc: "", divider: 10 }, 40622: { name: "Consigne sonde air usé n°22", desc: "", divider: 10 }, 40623: { name: "Consigne sonde air usé n°23", desc: "", divider: 10 }, 40624: { name: "Consigne sonde air usé n°24", desc: "", divider: 10 }, 40625: { name: "Consigne sonde air usé n°25", desc: "", divider: 10 }, 40626: { name: "Consigne sonde air usé n°26", desc: "", divider: 10 }, 40627: { name: "Consigne sonde air usé n°27", desc: "", divider: 10 }, 40628: { name: "Consigne sonde air usé n°28", desc: "", divider: 10 }, 40629: { name: "Consigne sonde air usé n°29", desc: "", divider: 10 }, 40630: { name: "Consigne sonde air usé n°30", desc: "", divider: 10 }, 40631: { name: "Consigne sonde air usé n°31", desc: "", divider: 10 }, 40632: { name: "Consigne sonde air usé n°32", desc: "", divider: 10 }, 40633: { name: "Consigne sonde air usé n°33", desc: "", divider: 10 }, 40634: { name: "Consigne sonde air usé n°34", desc: "", divider: 10 }, 40635: { name: "Consigne sonde air usé n°35", desc: "", divider: 10 }, };
Tests:
array.push
var arr = []; var name = ""; var divider = 1; var key = null; // for each key in json for (key in json) { // ensure 'key' is an object property if (Object.prototype.hasOwnProperty.call(json, key)) { name = "no name"; divider = 1; if (typeof modbusMap[key] !== "undefined") { name = modbusMap[key].name; divider = modbusMap[key].divider; } arr.push({ id: key, value: json[key] / divider, name: name }); } }
spread operator
var arr = {}; var name = ""; var divider = 1; var key = null; // for each key in json for (key in json) { // ensure 'key' is an object property if (Object.prototype.hasOwnProperty.call(json, key)) { name = "no name"; divider = 1; if (typeof modbusMap[key] !== "undefined") { name = modbusMap[key].name; divider = modbusMap[key].divider; } arr[key] = { value: json[key] / divider, name: name }; } }
Rendered benchmark preparation results:
Suite status:
<idle, ready to run>
Run tests (2)
Previous results
Fork
Test case name
Result
array.push
spread operator
Fastest:
N/A
Slowest:
N/A
Latest run results:
No previous run results
This benchmark does not have any results yet. Be the first one
to run it!
Autogenerated LLM Summary
(model
llama3.2:3b
, generated one year ago):
I'm ready to help! What's the problem or question you'd like me to assist with?
Related benchmarks:
Array.prototype.concat vs spread operator
concat vs spread operator vs push 200
Array concat vs spread operator vs for each push - Huge arrays
Array.prototype.concat vs spread operator vs push (10000 iterations)
Array concat vs spread operator vs push (100 elements each)
Comments
Confirm delete:
Do you really want to delete benchmark?