TOFFEEプロジェクト
ホームドキュメンテーション更新ビデオ研究ダウンロードスポンサー接触


RESEARCH 》 Building my own CDN - Minify Script files - Update: 23-July-2016

One of the suggestions Google PageSpeed Insights tool suggested for The TOFFEE Project website is to minify the css and java script files (as discussed in my earlier update on 22-July-2016. You can read the same HERE).

Minify Script files: When you read online about minification of your web script files, often they highlight file size savings and thus resulting faster download time and better website performance. This is true to an extent. But these days we get faster networks and the websites are already getting bulky loaded with lots of image files. So saving few kilobytes by minification of these script files sometimes hardly matter. But being myself a systems architect I can see there are other advantages in a systems point of view.

Assume users are accessing your website(s) via Mobile devices and mini-PC hardware platforms. In these cases the CPU and memory resources in these devices are limited. In that case the scripting language interpreters such as Javascript/CSS/HTML (existing within your browsers) will have less preprocessing work to do if the script files are minified. When these interpreters parse a text based script file it needs to skip comments and various white spaces. This causes unwanted CPU overhead. So minified script files are lot more interpreter parser optimized. In other words, if you minify php files, you server (such as your Apache web-server in your hosting site) processing overhead will reduce, if you minify Javascripts, CSS, HTML your client (Browser) processing overhead will reduce.

In the case of C/C++ programs, programmers compile and generate machine readable binary output in offline. This is a passive operation where a developer builds and publishes/releases his compiled binaries. But in the case of script files, the interpreters have to parse these files in real-time and this is a CPU bound operation in real-time. And hence it makes sense to minify the script files.

Here is my Joomla protostar template main css file. As you can see below this is neatly formatted and human readable. But for the reasons discussed above, this needs minification.
joomla original protostar_css template file

To minify the same, I can use various online tools. But there is a risk in using the same sometimes. Since there are various levels of minification one can do. Such as removal of comments, removal of white spaces and as well refinements in code so that it can produce the same browsing experience. Since this file is a very large file I decided to manually minify the same. And I am afraid using online tools as they may introduce any bugs into the same.

So I started manually minify the same in various stages. I can maintain several snapshots (versions of the script file) so that if something goes wrong I can safely roll back to a previous version which is working flawless.
joomla minify protostar_css template file

And here is the screenshot of the original Joomla protostar template css file which is around 7500 lines.
joomla original protostar_css template file number of lines

So I am sure minification of these script files will boost my run-time website performance. As I explained before I am not bothered about the file download time, but instead I want to optimize its real-time rendering performance in a browser. This is my next yet another baby step towards building my own private CDN Network.

Here is my live video log of the same:



Suggested Topics:


Generic CDN


Building my own CDN

💎 TOFFEE-MOCHA new bootable ISO: Download
💎 TOFFEE Data-Center Big picture and Overview: Download PDF


おすすめトピック:

CDN Hosting ↗
Saturday' 13-Mar-2021
It is quite interesting that there are few web hosting firms are offering direct CDN based hosting services. Since it is a direct CDN based hosting, it is cheap, extremely easy or transparent CDN service. It is transparent, since each time you publish your content in the hosting web-server (origin server), it is immediately is in sync automatically in the user-serving CDN caching machines. Since the hosting vendor and the CDN vendor are all the same, it is also easy to use their services. There is no incompatibility issues, interoperability issues, and better integrated analytics, are all the benefits of CDN Hosting services.

TOFFEE-Mocha WAN Emulation software development - Update: 16-June-2016 ↗
Saturday' 13-Mar-2021
I started TOFFEE-Mocha WAN Emulation software development on 1-June-2016. I took the existing TOFFEE components as a base. Although the TOFFEE-Mocha is entirely an independent fresh Open-Source WAN Emulation solution. Ever since I am in the process of defining and inventing features. So far I come up with the most important feature which is expected to be present in any WAN Emulation software is the packet delay option.

Network Packet Queue or Buffer - Packet Flow Control, Fragmentation and MTU ↗
Saturday' 13-Mar-2021
Network Packet Queue or Buffer - Packet Flow Control, Fragmentation and MTU

Communication data network standards and data transfer speeds :: Chart ↗
Saturday' 13-Mar-2021
Here is a complete chart comprising popular communication data network standards and their respective transfer rates. I hope this reference chart will help network engineers and network software developers while performing networking tests and experiments, building WAN/network products, building WAN simulated networks of a specific standard and so on. This may also helps us to track technological advancements of communication data networks.

TOFFEE-Mocha WAN Emulation software development - Update: 19-July-2016 ↗
Saturday' 13-Mar-2021
Today I refined the first page consolidated report graphs. TOFFEE-Mocha (unlike TOFFEE) is a WAN Emulator, so the graphs are supposed to highlight this purpose and should display the overall network activity. Unlike TOFFEE, the TOFFEE-Mocha report should contain in general what is received versus what is sent across the wire. In case if the packet drop feature is enabled, you should see few missing bytes and packets. Similarly in future I may support packet duplication feature, in that case you may see more packets/bytes sent versus the packets/bytes actually received.

WAN Optimization - Animated demo of Packet Optimization in TOFFEE-DataCenter ↗
Saturday' 13-Mar-2021



Live demo - Data Transfer - High bandwidth to Low bandwidth ↗
Saturday' 13-Mar-2021
I always wanted to do some real experiments and research on packet flow patterns from High-bandwidth to Low-bandwidth networks via networking devices. This is something can be analyzed via capturing Network stack buffer data and other parameters, bench-marking, and so on. But eventually the data-transfer nature and other aspects is often contaminated due to the underlying OS and the way Network stack is implemented. So to understand the nature of packet flow from Higher to Lower bandwidth and vice-versa such as Lower to higher bandwidth, I thought I experiment with various tools and things which physically we can observe this phenomena.

IP Header Compression in WAN Links and TOFFEE-DataCenter WAN Optimization ↗
Saturday' 13-Mar-2021

TOFFEE-Mocha Documentation :: TOFFEE-Mocha - Jitter feature ↗
Saturday' 13-Mar-2021

Power consumption of my Home Lab devices for research ↗
Saturday' 13-Mar-2021
Here is my power-consumption measurements of various devices deployed within my home lab. I measured via my kill-a-watt sort of power-meter which is fairly reliable and accurate. I checked its accuracy with various standard load such as Philips LED laps and other constant power-consuming devices to make sure that the power-meter is precise.



Featured Educational Video:
Youtubeで見る - [89//1] B.E and M.E Final Year Projects - Form your Team ↗

WAN Optimization iPhone and Android - Mobile App ↗
Saturday' 13-Mar-2021

TOFFEE (and TOFFEE-DataCenter) optimized Mobile Wireless Backhaul Networks ↗
Saturday' 13-Mar-2021
TOFFEE can be used to optimize expensive Wireless backhaul network infrastructure. TOFFEE can be deployed over existing slow or often outdated old backhaul networks too. This will leverage mobile ISPs and network service providers to reduce their bulk IT CapEx and OpEx Costs.

Network Latency and Bandwidth Assessment - for Network Admins and Infrastructure Architects ↗
Saturday' 13-Mar-2021

TOFFEE-DataCenter :: Features Supported ↗
Saturday' 13-Mar-2021
Here is a list of TOFFEE-DataCenter features supported. TOFFEE-DataCenter currently supports some of the important features such as loss-less network data compression, Packet Deduplication (protocols/applications supported), Application Acceleration, TCP Acceleration, dynamic MTU optimization, data packaging, hardware offload support, etc.



Youtubeで見る - [466//1] 158 VLOG - TOFFEE WAN Optimization Software Development live update - 6-Nov-2016 ↗

Internet optimization through TOFFEE-DataCenter WAN Optimization Demo ↗
Saturday' 13-Mar-2021
Internet optimization through TOFFEE-DataCenter WAN Optimization Demo



Research :: Optimization of network data (WAN Optimization) at various levels:
Network File level network data WAN Optimization


Learn Linux Systems Software and Kernel Programming:
Linux, Kernel, Networking and Systems-Software online classes [CDN]


Hardware Compression and Decompression Accelerator Cards:
TOFFEE Architecture with Compression and Decompression Accelerator Card


TOFFEE-DataCenter on a Dell Server - Intel Xeon E5645 CPU:
TOFFEE-DataCenter screenshots on a Dual CPU - Intel(R) Xeon(R) CPU E5645 @ 2.40GHz - Dell Server