Upgrade to Pro — share decks privately, control downloads, hide ads and more …

The other JavaScript performance (no one is talking about)

The other JavaScript performance (no one is talking about)

Performance topic is very trendy right now. Chance is you already heard it - use lazy loading, prefetch everything, use partially hydrated server-side rendered static islands. Ship zero bytes of JavaScript! But what if your code is not run in the browser or performance doesn't depend on the HTTP?

This talk will share several (un)conventional tricks you can apply to speed up the application when the size of your data grows. I will show you how to measure performance and squeeze out those last excessive milliseconds.

Learn how "usual bad practices" can become your ally when battling performance.

Miroslav Jonaš

November 29, 2022
Tweet

More Decks by Miroslav Jonaš

Other Decks in Technology

Transcript

  1. MIROSLAV JONAŠ MIROSLAV JONAŠ (no one is talking about) THE

    OTHER JAVASCRIPT PERFORMANCE THE OTHER JAVASCRIPT PERFORMANCE (no one is talking about) ViennaJS, 11/22 ViennaJS, 11/22 @meeroslav @meeroslav
  2. Future of performance tooling High speed web Optimizing X for

    performance
  3. Monorepos Monorepos make things faster as well, you know…

  4. TTI FCP TBT LCP LSD NBA

  5. STATIC WEBSITES STATIC WEBSITES

  6. SSR SSR Server side

  7. LAZY LOADING LAZY LOADING

  8. HYDRATION HYDRATION

  9. PARTIAL HYDRATION PARTIAL HYDRATION

  10. ISLANDS ISLANDS

  11. None
  12. WEBSITE AFTER INITIAL LOAD WEBSITE AFTER INITIAL LOAD

  13. BATTLE TESTED BATTLE TESTED

  14. None
  15. None
  16. 1 2 3 4

  17. MUTATIONS ARE BAD

  18. NOT ALWAYS, THOUGH

  19. None
  20. None
  21. None
  22. Repetitio est mater stu…

  23. ?

  24. None
  25. None
  26. “NO CODE IS 
 ALWAYS FASTER THAN ANY CODE” 


    - ME
  27. ARRAYS VS OBJECTS

  28. A_RAY

  29. None
  30. None
  31. None
  32. None
  33. LOOKUP TABLES

  34. None
  35. None
  36. MAPS VS HASHMAPS MAPS VS HASHMAPS

  37. None
  38. HIGHER ORDER FUNCTIONS HIGHER ORDER FUNCTIONS

  39. None
  40. None
  41. None
  42. None
  43. PERFORMANCE 
 DETECTION PERFORMANCE 
 DETECTION

  44. JSBENCH.ME

  45. None
  46. CONSOLE.TIME 4 THE WIN

  47. THE BUTTERFLY EFFECT: HOW WE GAVE THE LINTER A 100X

    BOOST THE BUTTERFLY EFFECT: HOW WE GAVE THE LINTER A 100X BOOST
  48. KNOW YOUR LOOPS MUTATE WHEN EVER POSSIBLE USE ARRAYS AND

    MAPS SMARTLY AVOID HOF WHEN PERFORMANCE MATTERS SKIP UNNECESSARY DATA
  49. None
  50. MIROSLAV JONAŠ MIROSLAV JONAŠ THE OTHER JAVASCRIPT PERFORMANCE THANK YOU!

    ViennaJS, 11/22 ViennaJS, 11/22 @meeroslav @meeroslav