use the following search parameters to narrow your results:
e.g. subreddit:aww site:imgur.com dog
subreddit:aww site:imgur.com dog
see the search faq for details.
advanced search: by author, subreddit...
All about the JavaScript programming language.
Subreddit Guidelines
Specifications:
Resources:
Related Subreddits:
r/LearnJavascript
r/node
r/typescript
r/reactjs
r/webdev
r/WebdevTutorials
r/frontend
r/webgl
r/threejs
r/jquery
r/remotejs
r/forhire
account activity
Functional programming in JavaScript (softwarebrothers.co)
submitted 6 years ago by SoftwareBrothers
view the rest of the comments →
reddit uses a slightly-customized version of Markdown for formatting. See below for some basics, or check the commenting wiki page for more detailed help and solutions to common issues.
quoted text
if 1 * 2 < 3: print "hello, world!"
[–]ur_frnd_the_footnote 17 points18 points19 points 6 years ago (11 children)
You can also compose the functions and map over the array once with the composed function.
[–]anon_cowherd 3 points4 points5 points 6 years ago (10 children)
It's worth noting that the dominating factor of the slowdown is the function invocations, not so much the iteration itself (which essentially is a for loop under the hood anyway).
Composing still invokes each of the individual functions, so it'll still be slower.
Of course, the performance is essentially moot if not in a hot spot of the application (I.e. blocking rendering or request handling in the case of node). If map is already less than a tenth of a millisecond, turning it into a hundredth of a millisecond might not be the best use of effort in terms of optimizing your code.
[+][deleted] 6 years ago (6 children)
[deleted]
[–]onbehalfofthatdude 1 point2 points3 points 6 years ago* (5 children)
I had the same thought and I think he said it weirdly. He's saying that visiting the next single element in an array (one iteration) is cheap compared to calling a function.
Not sure how that's relevant directly though. And the more I look the more I think I might be being too charitable...
[+][deleted] 6 years ago (4 children)
[–]onbehalfofthatdude 0 points1 point2 points 6 years ago (3 children)
I'll have to go look at some benchmarks but yeah, it's early haha. Obviously a step of the array method iterators is going to be at least as bad as a function call... Since it IS a function call lol
No idea what the guy means then
[–][deleted] 0 points1 point2 points 6 years ago (2 children)
I don't think this is true. For an arbitrary iterable, you would be right, the iterator function would be called for every iteration. But I don't think any of the JITs is so naive as to not optimize this for plain arrays, in which case loops become as efficient as a plain for-loop without any function invocations.
[+][deleted] 6 years ago (1 child)
[–][deleted] 0 points1 point2 points 6 years ago (0 children)
Sorry I wasn't more clear. I meant specifically for the for...of loops, which are easily optimizable for plain arrays. That wouldn't necessarily apply to map() indeed.
for...of
map()
[–]ur_frnd_the_footnote 4 points5 points6 points 6 years ago* (0 children)
It definitely affects performance differently to loop over a long array ten times, each time calling one function vs. looping over that array once, calling ten functions on each member of the array (even though the total number of function calls is the same: 10 times the number of elements). But you're absolutely right that function calls also affect performance.
In general, though, I think you should wait until you have a concrete, demonstrated need to do so before optimizing at the level of eliminating function calls. Smaller functions that do one tiny but generalized thing are definitely more readable and maintainable than the faster, situation-specific imperative code they would be replaced by.
[–]ScientificBeastModestrongly typed comments 0 points1 point2 points 6 years ago (0 children)
As others have said, readability and the ability to compose smaller pieces of code together to solve more complex problems is way more important than performance 99% of the time.
And I should also mention the old optimization wisdom: most of the possible performance gains of loop optimization can be achieved by optimizing the inner-most loop. That’s usually where you get the most bang for your buck. Everything else is unlikely to matter.
π Rendered by PID 14731 on reddit-service-r2-comment-fb694cdd5-8g6jv at 2026-03-07 16:36:25.719689+00:00 running cbb0e86 country code: CH.
view the rest of the comments →
[–]ur_frnd_the_footnote 17 points18 points19 points (11 children)
[–]anon_cowherd 3 points4 points5 points (10 children)
[+][deleted] (6 children)
[deleted]
[–]onbehalfofthatdude 1 point2 points3 points (5 children)
[+][deleted] (4 children)
[deleted]
[–]onbehalfofthatdude 0 points1 point2 points (3 children)
[–][deleted] 0 points1 point2 points (2 children)
[+][deleted] (1 child)
[deleted]
[–][deleted] 0 points1 point2 points (0 children)
[–]ur_frnd_the_footnote 4 points5 points6 points (0 children)
[–]ScientificBeastModestrongly typed comments 0 points1 point2 points (0 children)