Toggle navigation
MeasureThat.net
Create a benchmark
Tools
Feedback
FAQ
Register
Log In
Object creation
(version: 1)
Comparing performance of:
Object spread vs Object.assign vs _.extend vs immutable record vs Babelified spread
Created:
7 years ago
by:
Registered User
Jump to the latest result
HTML Preparation code:
<script src='https://cdnjs.cloudflare.com/ajax/libs/immutable/4.0.0-rc.12/immutable.min.js'></script> <script src='https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.5/lodash.min.js'></script>
Script Preparation code:
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
Tests:
Object spread
const obj1 = {mamka: 'big', jopa: 'fat'} const obj2 = {...obj1}
Object.assign
const obj1 = {mamka: 'big', jopa: 'fat'} const obj2 = Object.assign({}, obj1)
_.extend
const obj1 = {mamka: 'big', jopa: 'fat'} const obj2 = _.extend({}, obj1)
immutable record
const rec1 = Immutable.Record({mamka: 'big', jopa: 'fat'}); const rec2 = rec1({mamka: 'small', jopa: 'thin'})
Babelified spread
var obj1 = { mamka: 'big', jopa: 'fat' }; var obj2 = _objectSpread({}, obj1);
Rendered benchmark preparation results:
Suite status:
<idle, ready to run>
Run tests (5)
Previous results
Fork
Test case name
Result
Object spread
Object.assign
_.extend
immutable record
Babelified spread
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!
Related benchmarks:
Object assign vs polyfill
JavaScript spread vs Object.assign performance vs native spread
Object creation 2
Object creation 3
Comments
Confirm delete:
Do you really want to delete benchmark?