The TOFFEE Project
HOMEDOCUMENTATIONUPDATESVIDEOSRESEARCHDOWNLOADSPONSORSCONTACT


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


Recommended Topics:

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

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

PiPG - Raspberry Pi Network Packet Generator ↗
Saturday' 13-Mar-2021
PiPG is a powerful and yet simple Raspberry Pi Network Packet Generator. With PiPG you can now fabricate custom network packets and send via any Network Interface. Supports all kinds of standard Network Ports (Linux Kernel driver generated) such as Physical Network Interface ports, and an array of virtual ports such as loopback, tun/tap, bridge, etc. indispensable tool for: Network Debugging, Testing and Performance analysis Network Administrators Students Network R&D Protocol Analysis and Study Network Software Development Compliance Testing Ethical Hackers you can generate the following test traffic: L2-Bridging/Slow protocols: STP, LACP, OAM, LLDP, EAP, etc Routing protocols: RIPv1, RIPv2, IGMPv1, IGMPv2, OSPF, IS-IS, EIGRP, HSRP, VRRP, etc Proprietary protocols: CISCO, etc Generic: IPv4 TCP/UDP, etc Malformed random packets

Moon Base and Space Colonization - First we need fast InterPlanetary Internet ↗
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.

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 iPhone and Android - Mobile App ↗
Saturday' 13-Mar-2021

First TOFFEE-Butterscotch Code Release ↗
Saturday' 13-Mar-2021
TOFFEE-Butterscotch is a variant of TOFFEE can be used to save and optimize your Home/SOHO Internet/WAN bandwidth. Unlike TOFFEE (and TOFFEE-DataCenter) TOFFEE-Butterscotch is a non peer-to-peer (and asymmetric) network optimization solution. This makes TOFFEE-Butterscotch an ideal tool for all Home and SOHO users.

TOFFEE (and TOFFEE-DataCenter) optimized Satellite (inflight/marine/defense) ISP Networks ↗
Saturday' 13-Mar-2021
TOFFEE Optimized Satellite ISP Network: TOFFEE/TOFFEE-DataCenter can be used to optimize Satellite Networks (Satellite based Internet Networks, VoIP, Data, private leased-links) as shown. Ground station transponders can be connected via array of TOFFEE Devices and in the remote CPE can have dedicated or inbuilt TOFFEE with which you can establish a WAN Optimized Satellite Network Tunnel as shown.

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



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

Recording Lab Monthly off-grid power-consumption readings for research ↗
Saturday' 13-Mar-2021

Recording Lab Monthly power-consumption readings for Research ↗
Saturday' 13-Mar-2021
Here is my home lab monthly power-consumption readings for research. This will help to measure and monitor the overall power usage and assess the power requirements. This will help me in future purchases such as UPS, battery upgrades and so on. And as well remove replace old obsolete hardware with new less power-consuming devices.

TOFFEE-Mocha WAN Emulation software development - Update: 17-June-2016 ↗
Saturday' 13-Mar-2021
Now I supported and finished complete GUI support of these parameters so that you can configure, store, reboot and the same will restore upon reboot. Besides I complete the TOFFEE-Mocha Big-Picture page. The Big picture is an interface where you can find all the configuration (or settings) of the TOFFEE-Mocha. This is almost similar to CISCO device show all command but in graphical representation. Sometimes a network admin can also print the Big Picture page and paste it near to the device to refer its settings.

TOFFEE-Mocha Documentation :: TOFFEE-Mocha-1.0.14-1-rpi2 - Raspberry Pi WAN Emulator ↗
Saturday' 13-Mar-2021



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

My Lab HDD and SSD logs for research ↗
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


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