If website loading times can't keep up with your browsing speed like your typing can't keep up with your thoughts, hope is on the horizon, thanks to a new code called Polaris that reportedly makes websites load 34 percent faster in any browser.
How, I hear you ask? Developed by a team at MIT, the code has been programmed to gather up and evaluate all the background files of a particular website, including image files, HTML files, and Javascript source code, way more efficiently than current systems.
"As pages increase in complexity, they often require multiple trips that create delays that really add up," says one of the team, Ravi Netravali. "Our approach minimises the number of round trips so that we can substantially speed up a page's load-time."
You're not the only one who gets frustrated by a site that doesn't instantly load - pretty much everyone feels your pain, and are quite happy to drop a page like a sack of oranges if it's going to keep them waiting. According to Amazon, every 100-millisecond delay in website loading time cuts their profits by 1 percent.
If you're not familiar with the nuts and bolts of getting a website to display on a browser, it goes like this. To load a page, your browser has to connect to the network and fetch 'objects' such as HTML files, image files, and JavaScript source code. Each object has to be evaluated before it can be added to the display.
The problem is that each of these objects is likely to be dependent on another object - called dependencies - so every time the browser wants to evaluate one object, it has to go and fetch its dependencies, which will also have their own dependencies, and so on. "As an example, a browser might have to execute a file's JavaScript code in order to discover more images to fetch and render," the team explains.
That's not so bad, but where things get slowed down is when browsers can't actually see all the dependencies, so end up making multiple trips through the network to fetch and evaluate everything.
What the Polaris code does to address this problem is automatically track every single interaction between objects and their dependencies on a particular site, to creates a 'dependency graph' that allows the browser to make more efficient trips through the network.
While this isn't the first dependency-tracker to be developed, the team says this is the only one that's able to capture the most subtle dependencies that exist on a page, which allows it to achieve such impressive speeds. Another benefit is that it can be written in JavaScript, which means it can work with any website.
The team hopes that the system will be integrated with browsers in the future, so every page you load on a particular browser will appear that much faster.
According to Jamie Condliffe at Gizmodo, Polaris has so far been tested on 200 different websites, including ESPN, Weather.com, and Wikipedia, and was able to load web pages 34 percent faster, on average.
Their research has not yet been published or peer-reviewed, so keep that in mind, but the results of their work will be presented later this week at the USENIX Symposium on Networked Systems Design and Implementation in California, which means they're ready for it to be scrutinised for publication.
"Tracking fine-grained dependencies has the potential to greatly reduce page-load times, especially for low-bandwidth or high-latency connections," Mark Marron, a senior research software development engineer at Microsoft, who was not involved in the research, told Gizmodo.
"On top of that, the availability of detailed dependence information has a wide range of possible applications, such as tracking the source statement of an unexpected value that led to a crash at runtime."
We are so ready for this. And if they can figure out how to speed up gif loading times on mobile, our lives would be complete.