News for hackers. Stuff that matters.
Re:In defense of coding interviews by zepolen on Sunday May 29, 2022 @03:58AM (#31547323)
> For an array of 5-10 items the performance hit of foreach is worth it for readability

As always it depends, maybe that component is being called 500 times on the page making it actually 5,000 invocations.

I'd FULLY expect a candidate to understand the difference and would ask in a whiteboard session. There is a lot of bloated slow javascript libraries out there and they almost always stem from the fact that most devs don't realize how much overhead function calls introduce.

For the interview, there is no discussion necessary, the correct answer is simply:

"I used a foreach for readability, because performance doesn't matter in this case because X."

or

"I used a for because performance matters in this case because Y"

End of story.

Re:In defense of coding interviews by aulin on Sunday May 29, 2022 @04:28AM (#31547460)
one could argue that it's a job for the compiler to make sure two equivalent language constructs (map and for loop) perform similarly...
Re:In defense of coding interviews by barrkel on Sunday May 29, 2022 @06:06AM (#31547940)
Foreach with functions being passed being slower is an implementation detail. You don't see it in Rust, where the block body is inlined like a generic, and it's perfectly feasible for a dynamic runtime to specialize the pattern and inline based on it being a common practice, never mind polymorphic inline caches which in principle permit inlining in this case.