Toggle navigation
MeasureThat.net
Create a benchmark
Tools
Feedback
FAQ
Register
Log In
Run results for:
Lodash pick vs Object.entries
Go to the benchmark
Embed
Embed Benchmark Result
Run details:
User agent:
Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:146.0) Gecko/20100101 Firefox/146.0
Browser:
Firefox 146
Operating system:
Ubuntu
Device Platform:
Desktop
Date tested:
4 months ago
Test name
Executions per second
Lodash
793166.5 Ops/sec
Native
3055613.5 Ops/sec
HTML Preparation code:
<script src="https://cdn.jsdelivr.net/npm/es-toolkit@%5E1"></script> <script> window.estoolkit = window._; </script> <script src='https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.21/lodash.min.js'></script> <script> window.lodash = window._; </script> <script src='https://cdnjs.cloudflare.com/ajax/libs/radash/12.1.1/radash.min.js'></script> <script> window.radash = window._; </script>
Script Preparation code:
const props = { a: 1, b: { c: "foo", d: "bar", }, e: 3, f: 7, g: "test", h: { i: { j: 123, }, }, } const keys = ['a', 'e', 'f', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v']
Tests:
Lodash
const spacing = lodash.pick(props, keys)
Native 1
const entries = Object.entries(props) const spacingEntries = entries.filter(([key]) => keys.includes(key)) const spacing = Object.fromEntries(spacingEntries)
ES Toolkit
const spacing = estoolkit.pick(props, keys)
Native 2
const spacing = keys.reduce((obj, key) => { if (props && props.hasOwnProperty(key)) { obj[key] = props[key]; } return obj; }, {});