Dan Shappir

Dan Shappir

Dan Shappir is Staff Engineer and Engineering Manager at Snyk. Previously he was Performance Tech Lead at Wix and at NEXT Insurance. Dan has 30 years of software development experience, and has worked on systems ranging from multiuser games to designing and building large scale Web applications. He is an international keynote speaker at technical conferences, a host on the popular JavaScript Jabber podcast, and an Invited Expert on the W3C Web Performance Working Group. Dan holds an MSc in Computer Science.
Taking a Dump: Using Heap Dumps to Find and Fix NodeJS Memory and CPU Problems
JSNation 2026JSNation 2026
Upcoming
Taking a Dump: Using Heap Dumps to Find and Fix NodeJS Memory and CPU Problems
JavaScript uses Garbage Collection (GC) for memory management. As a result, many developers that use JavaScript based systems, such as NodeJS, assume that they’re free of memory issues. Unfortunately this is incorrect, and many NodeJS-based services suffer from memory management problems such as leaks and excessive GC CPU cost. But finding, understanding, and resolving memory issues can be very challenging, because a problem in any part of the application impacts the application as a whole. Also, they may only manifest under load, in production environments. In this session I will explain how to find and fix such issues using the heap dump feature that is built into NodeJS. And I will show how to use the DevTools memory panel to analyze such dumps.
Taking a Dump: Using Heap Dumps to Find and Fix NodeJS Memory and CPU Problems
Web Engineering Summit 2026Web Engineering Summit 2026
Upcoming
Taking a Dump: Using Heap Dumps to Find and Fix NodeJS Memory and CPU Problems
JavaScript uses Garbage Collection (GC) for memory management. As a result, many developers that use JavaScript based systems, such as NodeJS, assume that they’re free of memory issues. Unfortunately this is incorrect, and many NodeJS-based services suffer from memory management problems such as leaks and excessive GC CPU cost. But finding, understanding, and resolving memory issues can be very challenging, because a problem in any part of the application impacts the application as a whole. Also, they may only manifest under load, in production environments. In this session I will explain how to find and fix such issues using the heap dump feature that is built into NodeJS. And I will show how to use the DevTools memory panel to analyze such dumps.
Comparing JavaScript Frameworks Performance Using Real-World Data
JSNation 2023JSNation 2023
28 min
Comparing JavaScript Frameworks Performance Using Real-World Data
Top Content
Google collects performance information from all sessions on opted-in Chrome browsers into its Chrome User Experience Report (CrUX) database. It then uses this information as a ranking factor for its search engine, but it also makes this information publicly available for everyone to view. I used this data to analyze and compare the performance of the leading JavaScript frameworks. In particular, I looked at the likelihood that websites built using each framework will have good Core Web Vitals (CWV) scores. Along the way I encountered several surprising results, and solved at least one mystery. See how your favorite framework ranks vs all the rest!