Run details:
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.0.0 Safari/537.36
Chrome 102
Windows
Desktop
2 years ago
Test name Executions per second
lodash cloneDeep 1169388.9 Ops/sec
my super deep cloner yeah 976144.8 Ops/sec
HTML Preparation code:
x
 
1
2
<script src='https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.5/lodash.min.js'>
3
const _ = lodash
4
</script>
Tests:
  • lodash cloneDeep

     
    _.cloneDeep({ prop: { subprop: 'value' } })
  • my super deep cloner yeah

     
    const trueclone = (obj) => {
        const cloned = Array.isArray(obj) ? [] : {}
        const keys = Object.keys(obj)
        const values = Object.values(obj)
        const length = keys.length
        for (let i = 0; i < length; i++) {
            if (typeof values[i] === 'object') values[i] = trueclone(values[i])
            cloned[keys[i]] = values[i]
        }
        return cloned
    }
    trueclone({ prop: { subprop: 'value' } })
  • structuredClone

     
    structuredClone({ prop: { subprop: 'value' } })