Skip to content

Instantly share code, notes, and snippets.

@soyayaos
Created November 28, 2022 21:37
Show Gist options
  • Save soyayaos/eebe010aa7715e84307d9e9aa7e213ad to your computer and use it in GitHub Desktop.
Save soyayaos/eebe010aa7715e84307d9e9aa7e213ad to your computer and use it in GitHub Desktop.
`window` namespace is so large
const max = 1e9
const measure = (f, pref) => {
console.log(pref)
console.time('m')
f()
console.timeEnd('m')
}
console.log('var plain')
console.time('m')
for (var i = 0; i < max; i += 1){}
console.timeEnd('m')
measure(() => {
for (var i = 0; i < max; i += 1){}
}, 'var fn')
console.log('let plain')
console.time('m')
for (let i = 0; i < max; i += 1){}
console.timeEnd('m')
measure(() => {
for (let i = 0; i < max; i += 1){}
}, 'let fn')
//
// browser
//
// var plain
// m: 1703.656005859375 ms
// var fn
// m: 505.61376953125 ms
// let plain
// m: 525.339111328125 ms
// let fn
// m: 505.01611328125 ms
//
// node
//
// var plain
// m: 498.885ms
// var fn
// m: 498.518ms
// let plain
// m: 495.647ms
// let fn
// m: 495.929ms
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment