VkOpt/VkOpt — pull request #12 by Pmmlabs (2014-08-25 13:12:31+00:00)
Title: Минификация исходников

Предлагаю сжимать исходники перед сборкой расширений. Концепцию открытого исходного кода это не нарушает, т.к. любой может сам собрать расширение из несжатых исходников. А комментарии и красивые отступы в сборках как-то не очень нужны.
Например, предлагаю использовать [Google Closure Compiler](https://github.com/google/closure-compiler) - это популярный архиватор JS с открытым исходным кодом.
Я провёл небольшой тест. Открыл новости, прокрутил вниз, так чтобы два раза подгрузились еще записи (3 порции новостей) и обновил страницу. вывод DebugBox-а записал в блокнотик. Потом открыл Диалоги и обновил страницу. Потом открыл в диалогах 5 человек, обновил страницу и переключился на другого человека. Логи записывал. Потом проделал всё то же самое с расширением, собранным из минифицированных исходников. И сравнил логи через программу Meld. Справа - обычные исходники, слева - минифицированные

![Скриншот](https://cloud.githubusercontent.com/assets/2682026/4029961/112f863e-2c57-11e4-9c32-17b0f823eabe.png)
Тестировал на Windows 7 x64, Firefox 29.0.1.
Как видно, почти везде есть небольшое, но ускорение. Особенно живописно смотрится функция ProcessNodeLite в диалогах (7мс против 20мс) и vklastfm в новостях (там вообще в ноль превратилось время).
Размер самих исходников меняется следующим образом:
![тут типа картинка с файлами](https://cloud.githubusercontent.com/assets/2682026/4030056/6c10659a-2c58-11e4-933e-f33def963e15.png)
Размер собранных расширений для Firefox: 534 986 байт (несжато) против 451 652 б.