Jeroen's blog post on Tail-call optimization in Elm
Evan Czaplicki's chapter on Tail-Call Optimization and how to write optimized code
Lighthouse Elm Radio episode
Ju Liu's Performant Elm blog post series
Avoid memoized state when possible to avoid stale data
Html.Lazy
Elm's html lazy only works when the function and args have the same reference as before. List.map will return a list with a new reference, for example.
Elm has function-level dead code elimination
Referencing a record pulls the whole record in no matter how many fields are used directly
bcp-47-language-tag package
Elm list extra gets split by function, unlike lodash which needs to be split
Elm Core Dict package has O(logn) complexity for operations like insert
JavaScript Objects aren't optimized for removing/adding properties
"What's Up With Monomorphism"
elm-optimize-level-2
elm-explorations/benchmark
Jeroen's list-extra PRs (with reference to the benchmark for it) for functions gatherWith isInfixOf
webpagetest.org (or web.dev performance testing)
Netlify Lighthouse plugin
RSLint - fast version of ESLint, but doesn't have custom rules
Instructions to minify Elm code
Jake and Surma talk about optimizing sites - Setting up a static render in 30 minutes
Jake Archibald's talk explaining JavaScript's event loop and requestAnimationFrame - In The Loop
Jeroen's blog post on Tail-call optimization in Elm
Evan Czaplicki's chapter on Tail-Call Optimization and how to write optimized code
Lighthouse Elm Radio episode
Ju Liu's Performant Elm blog post series
Avoid memoized state when possible to avoid stale data
Html.Lazy
Elm's html lazy only works when the function and args have the same reference as before. List.map will return a list with a new reference, for example.
Elm has function-level dead code elimination
Referencing a record pulls the whole record in no matter how many fields are used directly
bcp-47-language-tag package
Elm list extra gets split by function, unlike lodash which needs to be split
Elm Core Dict package has O(logn) complexity for operations like insert
JavaScript Objects aren't optimized for removing/adding properties
"What's Up With Monomorphism"
elm-optimize-level-2
elm-explorations/benchmark
Jeroen's list-extra PRs (with reference to the benchmark for it) for functions gatherWith isInfixOf
webpagetest.org (or web.dev performance testing)
Netlify Lighthouse plugin
RSLint - fast version of ESLint, but doesn't have custom rules
Instructions to minify Elm code
Jake and Surma talk about optimizing sites - Setting up a static render in 30 minutes
Jake Archibald's talk explaining JavaScript's event loop and requestAnimationFrame - In The Loop