How Twitter is improving performance site-wide

Shawn Knight

Posts: 15,284   +192
Staff member

Twitter has announced multiple changes to their site designed with speed and performance in mind. Engineering manager for the web core team Dan Webb published a post on the official Twitter engineering blog outlining the changes.

The first step in improving overall performance was to bring the UI rendering and logic back to their servers. When the new Twitter was launched in September 2010, this task was pushed to JavaScript running on the user’s browser. Webb claims that bringing this function back to Twitter servers resulted in initial page load times that dropped to 1/5th of what they once were.

Furthermore, the company optimized the JavaScript that is sent to the client. This included making the overall payload smaller to only display precisely what was needed for the page to work and arranging all of the code as CommonJS modules.

There’s also a new modular JavaScript application that is said to provide the framework to rapidly deploy new features across the site and take advantage of new browser technology as it becomes available. This technology has already been applied to the Tweet permalink page and the company expects a continued rollout over the coming weeks.

Another change that’s taken place is the removal of the hashbang (#!) in permalink URLs, again to improve page load performance. The author points out that using hashbang URLs required the browser to download an HTML page, download and execute some JavaScript, recognize the path then collect and display the content for the URL. Doing away with the hashbang URL eliminates many of these steps, thus speeding up the entire process.

Once Twitter completes the new architecture rollout, they plan to add additional improvements such as implementing the History API to allow for partial page reloads. Feel free to check out the full blog post for a complete rundown of the site changes or better yet, visit the team at the Fluent Conference next week.

Permalink to story.

 
Back