Elm Weekly - Issue #164
Prompted by the release of the elm-review-performance rule that checks for tail call optimisation (see announcement below), this issue is mostly about getting more performance out of your Elm code.
Articles and Discussion
Evan Czaplicki describes how tail-call optimisation works in JavaScript and Elm.
Jeroen Engels explains tail-call optimisation and announces the release of elm-review-performance rule for elm-review which checks if functions are tail-call optimised.
Ju Liu has written a three-part series about Elm performance, Html.Keyed, and Html.Lazy.
In a post that appeared in Elm Weekly last month, Kasper Andersen describes his experience with improving performance of the dasch/levenshtein package that computes Levenshtein distance between strings.
In this Discourse post, James Carlson wrote up a performance optimization primer based on an example from his project, with more great optimization tips in the replies.
While we're on the topic of performance, it's worth mentioning Jan Jelínek's trick for getting better function names in the profiler recordings.
Tools and Projects
elm-optimize-level-2 is a tool by Matthew Griffith and Simon Korzunov which may produce JavaScript output with better performance than elm --optimize.
This package allows you to generate microbenchmarks in Elm.
IntDict is an optimized version of a Dict with Int as key type and the same API.
Talks and Podcasts
Roman Potasovs gave a talk about Elm performance for games:
That's it for this week!
If you would like to support my work on Elm Weekly and other Elm projects , please buy my book Practical Elm or sponsor me on GitHub .
To submit an Elm post, video or project for an upcoming issue of Elm Weekly, please tweet @elmweekly with a link or just reply to this email.