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-2elm-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