O projeto TOFFEE
CASADOCUMENTAÇÃOATUALIZAÇÕESVÍDEOSPESQUISADESCARREGARPATROCINADORESCONTATO


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


Tópicos recomendados:

TOFFEE hardware selection guide ↗
Saturday' 13-Mar-2021
When you build a WAN Optimization device with TOFFEE the entire packet processing (data optimization) takes place in software layer or in other words more precisely Operating System kernel space. However if you have any compression or encryption hardware accelerator hardware card the parts of the TOFFEE packet processing modules can be offloaded to hardware layer and thus improving its efficiency.

Demo TOFFEE-DataCenter WAN Optimization packaging feature ↗
Saturday' 13-Mar-2021

TCP Tune-up and Performance Analysis Graphs - Congestion Control - Research - Dos and Don'ts ↗
Saturday' 13-Mar-2021

Amazon Prime video - Video Acceleration No more Buffering Problems - WAN Acceleration ↗
Saturday' 13-Mar-2021

Bufferbloat in a Networking Device or an Appliance ↗
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.

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


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

TOFFEE-Mocha WAN Emulator Jitter Feature ↗
Saturday' 13-Mar-2021

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

Setting up a WAN Emulator within VirtualBox ↗
Saturday' 13-Mar-2021



Featured Educational Video:
Assista no Youtube - [4073//1] 0x1c9 NAS OS | Expert's take on FreeNAS vs UNRAID | My two cents | Best Tips ↗

TOFFEE-DataCenter as a VNF for NFV ↗
Saturday' 13-Mar-2021

My sample Wireshark packet capture files for research ↗
Saturday' 13-Mar-2021
I have a huge repository (or collection) of sample Wireshark packet capture files for reference. I use them extensively for research and development of TOFFEE as well to understand various protocol PDUs and protocol standards. I personally collected various test captures via Wireshark during my test and experimental research setup during the course of TOFFEE development. Say if you are a student and learning Networking and or say VoIP data and VoIP packets, you can analyse my VoIP sample Wireshark captures. Or in other case assume you are doing some quick research (or development) and want to refer few handful of VoIP packets then you can download and analyse my sample packet capture files.

TOFFEE-Butterscotch a TOFFEE for Home/SOHO Internet/WAN bandwidth ↗
Saturday' 13-Mar-2021
TOFFEE-Butterscotch a TOFFEE for Home/SOHO Internet/WAN bandwidth

TOFFEE (and TOFFEE-DataCenter) optimized Wireless Mesh-Networks - B.A.T.M.A.N [open-mesh.org (Open Mesh)] ↗
Saturday' 13-Mar-2021
TOFFEE/TOFFEE-DataCenter can be used to optimize Ad-Hoc Mobile Wireless Mesh-Networks. To learn more about the same here are some references: B.A.T.M.A.N. - https://en.wikipedia.org/wiki/B.A.T.M.A.N. Mobile ad hoc network (MANET) - https://en.wikipedia.org/wiki/Mobile_ad_hoc_network Wireless ad hoc network (WANET) - https://en.wikipedia.org/wiki/Wireless_ad_hoc_network open-mesh.org (Open Mesh) Wiki - https://www.open-mesh.org/projects/open-mesh/wiki




TEST CASES :: TEST RESULTS :: TOFFEE-Mocha-1.0.14 Development version ↗
Saturday' 13-Mar-2021



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 [CDN]


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