3 ms·
JS is cached in its compiled state in modern browsers. There is no download or parsing step for repeated loads.
by manigandham 7y ago
JS is cached in its compiled state in modern browsers. There is no download or parsing step for repeated loads.
- bryanrasmussen 7y agowithout a unique key in the js name/path, or any server action to enable it? If so I would like to read about this particular development - can you point me to an article on how they're doing it?
- manigandham 7y agoYes, Chrome uses V8 which has Isolates (also used by some FaaS platforms like Cloudflare Workers), and adds more optimizations on top like disk-based caching to share across processes. The script is keyed from a hash of its contents. https://v8.dev/blog/code-caching-for-devs https://v8.dev/blog/code-caching-for-devs
- bryanrasmussen 7y agoThanks! I guess will have to see if FF and Safari support same thing. Perhaps in another year can remove cache busting from builds.
- manigandham 7y agoThey do, it's linked in the blog: https://blog.mozilla.org/javascript/2017/12/12/javascript-startup-bytecode-cache/ https://blog.mozilla.org/javascript/2017/12/12/javascript-st... https://bugs.webkit.org/show_bug.cgi?id=192782 https://bugs.webkit.org/show_bug.cgi?id=192782 Also did you mean http caching? Not sure why would want to remove that. It's still important for the browser to get the latest script content before the bytecode caching happens.
- gray_-_wolf 7y agoHow can the download step be skipped then if you are using the hash of the content as a key??
- manigandham 7y agoThat's what HTTP caching is. Browsers use headers and heuristics.