Jamie Balfour

Welcome to my personal website.

Find out more about me, my personal projects, reviews, courses and much more here.

Jamie Balfour'sPersonal blog

Jamie Balfour'sPersonal blog

This day in 2018 was the most significant in the history of my website.

The plan was formulated in late 2017 to refurbish my website performance in a huge way.

The first step was to replace DragonScript 3 with a much faster version called DragonScript IV. DragonScript IV allowed my website to handle up to 6 times more requests simultaneously (up to around 1 million requests).

The second step was inline optimisation and caching. My caching system is substantial across my website and relies on several different technologies, such as cron jobs used to clear and freshen caches, automated scripts to generate cached data and my analytics system to determine what needs to be cached. The inline optimisation feature is similar to the caching system on my website, and it's what ensures that all data transferred is compressed before it is sent. If you take a look at my gallery on my website, you'll see that all photos are watermarked. The watermarking is preprocessed and cached and then reread when it is needed. 

The third and final part of this was a bit more manual and required me to optimise other images and content across my website. 

The result was that my website went from loading in 100 milliseconds to around 10 milliseconds. 

YES! That's what I shouted when I made a breakthrough with LAME that improved its performance (retrospectively named X1) by a whopping 2 to 5 times. The new version of LAME, LAME X2, will come to ZPE throughout the year. The theoretical improvement comes from compiler optimisations that improve LAME performance so much by reducing the number of iterations needed on a mathematical or logical expression.

In LAME X1, mathematical expressions were processed up to four times before the result was generated. With LAME X2, a mathematical expression needs to be processed precisely once. Assume you have k expressions within that expression; version X1 must process all expressions up to four times, leading to a worst-case computational time of O(4k + 1). LAME X1 is fast, but LAME X2 is faster.

With LAME X2, the worst-case scenario with k expressions is O(k + 1). 

Another improvement coming this year is the Zenith Parsing Engine version 1.5. 1.5 will bring some performance improvements, although I am not quite sure how substantial these will be yet. 

Powered by DASH 2.0