Hacker News new | past | comments | ask | show | jobs | submit login

(Mostly agreeing, just adding some more)... I suppose theres 3 kinds of blocking really:

1. Network blocking. Requests must wait until the previous one finished. Browsers in 2005 might have done this but not anymore. Even in terrible document.write() scenarios, browsers will still try to do additional work/requests.

2. JS Execution blocking. The difference between [async] and [defer]. Browsers default to executing JS in order, which sucks if an early script takes forever to download. And layout/rendering is typically awaiting all this script to execute anyway.

3. Render blocking. (Or technically, layout blocking). Can the browser try to display pixels before this script has finished downloading or executing? By default, it cannot, but an [async] attribute at least allows the browser to.

#2 and #3 definitely matter, with render blocking behavior usually being the most important. [async] and decreasing script request count are very good.




For #2 it's also worthwhile to remember that stylesheets block scripts, so it's not just scripts blocking other scripts.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: