16:16
<Mathieu Hofman>
Function.call.bind(Function.call) has more . than f=>f(), so I don't get it
We've also noticed significant performance improvements with the latter for our uncurryThis when going from fn => (thisArg, ...args) => apply(fn, thisArg, args); to bind.bind(bind.call);
20:16
<TabAtkins>
I mean it doesn't surprise me with that level of indirection and temporary object creation
20:27
<shu>
bound functions have special representation that's cheaper, and also special calling stubs i think
20:32
<snek>
nodejs's movement to primordials drove a lot of improvements in v8 there
20:32
<snek>
cuz it uses lots of super ugly .bind hacks
20:32
<snek>
and reflect.call/construct
20:33
<littledan>
I think web uses of .bind were also part of what drove improvements
20:34
<littledan>
there was a weird period of time when microbenchmarks showed you should switch from .bind to arrow functions, and then I guess the two constructs were racing for a time