Elm Radio

037: Performance in Elm


Listen Later

  • elm-review-performance
  • Tail call optimizations
  • 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
...more
View all episodesView all episodes
Download on the App Store

Elm RadioBy Dillon Kearns, Jeroen Engels

  • 5
  • 5
  • 5
  • 5
  • 5

5

16 ratings