Spade shape with cobalt blue background

Performance Newsletter

Archives
Calibre Monitoring
Free Speed Tools
Log in
Subscribe
12 July 2022

⚡ 105: Why cached JavaScript is still slow

͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏
 
Performance Newsletter
[issue 105]()
 
#### Editor’s note
 

Optimising the delivery of assets is one of the first steps in ensuring good web performance. It’s essential to employ aggressive compression,  effective caching policies and monitor Time to First Byte and asset size.

However, those assets must be parsed by the browser, and that’s where JavaScript can cause significant user experience headaches. We should focus on efficiently delivering assets and executing scripts to achieve good web performance.

This is where the term ”front-end web performance” gets murky, as web performance encompasses infrastructure, database choices and deep knowledge of how browsers work on top of what we categorise as front-end. Instead of classifying in realms of front and back-end performance, we should treat speed holistically.

Ask yourself: **in an asset’s lifetime, when could it be faster?**

 
Karolina
 
 
 
 
#### What’s Performance newsletter?
 

Performance Newsletter is a fortnightly mailing by [Calibre](https://calibreapp.com), featuring web performance tools, talks and resources.

Don’t worry—we don’t spam. If you’d like to leave, [unsubscribe]() at any time. Suggest content [here](mailto:[email protected]).

 
 
 
# Articles  
 
A diagram overviewing the process of loading a script from disk cache
 
### [Why Your Cached JavaScript Is Still Slow and Incurs Performance Overhead](https://www.webperf.tips/tip/cached-js-misconceptions/)
 
[Joe Liccini](https://github.com/josephliccini)
While caching is essential in optimising network overhead, we must also focus on reducing computational overhead. Find out the most common misconceptions about caching and how to find webperf issues in JavaScript!
 
Google Fonts usage link side-by-side with a preview of a typeface in different sizes
 
### [An API for fast, beautiful web fonts](https://web.dev/api-for-fast-beautiful-web-fonts/)
 
[Jimmy Mooney](https://twitter.com/jimmy0x52)
Using Google Fonts? Learn about the Google Fonts CSS API that can help optimise the delivery and size of font files!
 
### [SPAs: theory versus practice](https://nolanlawson.com/2022/06/27/spas-theory-versus-practice/)
 
[Nolan Lawson](https://toot.cafe/@nolan)
Whether SPAs are the modern application saviour or destroyer is an ongoing debate. Here are a few considered arguments for the single versus multi-page apps discussion.
 
### [Frontend Web Performance Essentials: How To Not Block The Browser](https://medium.com/@matthew.costello/frontend-web-performance-the-essentials-1-cb6513e1c3a1)
 
[Matthew Costello](https://www.linkedin.com/in/matthew-costello-dev/?originalSubdomain=de)
Can we optimise speed without understanding how browsers work? Kind of. Understand the Event Loop, Web Workers, yielding to the browser, and how you can use asynchronous scheduling—a few vital concepts to front-end performance.
 
 
 
# Tools  
 
Server-side rendering React (HTTP requests per second on Linux) showing Bun being markedly faster (48,936) than node (16,288) and deno (15,786)
 
### [Bun: a fast all-in-one JavaScript runtime](https://bun.sh/)
 
[Jarred Sumner](https://twitter.com/jarredsumner) & [contributors](https://github.com/oven-sh/bun/graphs/contributors)
We featured Bun some time ago, but now it’s ready to be used by the wider public! Bun is a new JavaScript runtime with a built-in native bundler, transpiler, task runner and npm client. It’s also built with performance in mind.
 
 
 
# Courses, Talks & Podcasts  
 
Chrome Developer Tools showing the Performance profiling tab
 
### [Setting up DevTools for Performance Testing](https://csswizardry.gumroad.com/l/perfect-devtools/PERFEMAIL15)
 
[Harry Roberts](https://twitter.com/csswizardry/)
Developer tooling within browsers is more powerful than ever, but with that power comes the usage complexity. This video course will teach you how to set up your DevTools for performance auditing. Use the **PERFEMAIL15** code for 15% discount!
 
 
Calibre
 
This email is brought to you by the team at [Calibre](https://calibreapp.com). We automate web performance testing, reporting and alerting, so you don’t have to.
 
 

Performance Newsletter is sent from the traditional lands of the Wurundjeri people of the Kulin nation. We acknowledge that sovereignty was never ceded and pay respects to the Elders past, present and emerging.

Send your suggestions, links and feedback to [[email protected]](mailto:[email protected]).

[View or share this email →]()
[Quickly unsubscribe →]()
[Browse older issues →]()

**Sent by**
<a style='border-collapse: collapse;mso-line-height-rule: exactly;font-family: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";text-decoration: none;font-weight: normal;margin: 0;padding: 0;mso-effects-shadow-color: #2B2B2B;color: #ffffff;'>Calibre Analytics<br/><br/>149A Brunswick Street<br/>Ngár-go<br/>Fitzroy VIC 3065<br/>Australia</a>

 
Don't miss what's next. Subscribe to Performance Newsletter:
← Newer ⚡ 106: Can SVG symbols affect performance? Older → ⚡ 104: Benchmarking style performance
perf.email
Bluesky
LinkedIn