Tune in to the tools and techniques in the Elm ecosystem.
037: Performance in Elm
      
        August 16, 2021
      
      
        1:08:16
      
      
        
          65.57 MB
        
      
      
        Downloads: 0
      
    
    
      - 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.mapwill 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-tagpackage
- 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 gatherWithisInfixOf
- 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
