5 ms·
The last paragraph that should be on top: "If you’re looking to speed up page load times in your own projects, start by profiling. Then identify the hotspots a
by JBiserkov 15y ago
The last paragraph that should be on top:
"If you’re looking to speed up page load times in your own projects, start by profiling. Then identify the hotspots and defer them until the furthest point of intent — where you know the user is about to perform the action you need to set up."
- newman314 15y agoIt's too bad that the article did not measure how long it takes for the action to fire when the user does perform the action after refactoring. I would think that it's a bad user experience to experience a big pause right when they want to do something. Sure the page loads faster but a noticeable pause after a click would be tremendously annoying and contribute to the "laggy" feel.
- sstephenson 15y agoAt that point it's much more about feel than a hard time measurement. After implementing deferred initialization I asked myself "does reordering feel laggy?" and the answer was no. If it had felt laggy then I'd have started profiling again.
- joshuacc 15y agoExcellent article. Do you mind going into what tools/techniques you used to do the profiling?
- sstephenson 15y agoSure thing. For high-level measurements I use good old "new Date().getTime()". One call before, one call after, subtract the former from the latter and log it to the console. When I want to dig deeper, I go to the WebKit Inspector's Profile tab. You can turn it on or off through the UI, or use console.profile()/console.profileEnd() in your code to control it programmatically.
- masklinn 15y ago>For high-level measurements I use good old "new Date().getTime()". One call before, one call after, subtract the former from the latter and log it to the console. Why not use `console.time` and `console.timeEnd` for that? They probably have the same resolution as the underlying date object and they're significantly less of a hassle.
- sstephenson 15y agoBecause I didn't know about it :) Great tip!
- smickie 15y agoWhat tools do you use to profile js on a webpage?
- timothya 15y agoProfiling is built into the developer tools in Google Chrome.