Тесты собраны на следующих минификаторах:
Если вам нравится этот проект, отметьте его и подписывайтесь на меня, чтобы увидеть, над какими еще классными проектами я работаю!
Содержание статьи
👟 Методология
- Каждый минификатор выполняется в собственном процессе
- Измеренное время является средним из 10 последовательных прогонов
- Каждая таблица отсортирована по наименьшему уменьшенному размеру в порядке возрастания
- Каждый раз помечается множителем относительно самого быстрого минификатора
- «Размер Minzip» измеряет, насколько хорошо минифицированный файл сжимается с помощью Gzip
- Комментарии не удаляются, потому что не все минификаторы его поддерживают
📋 Результаты
d3 v6.3.1
- Неуминированный размер:
555,8 кБ
- Унифицированный размер Gzip:
130,5 КБ
jquery v3.5.1
- Неуменьшенный размер:
287,6 кБ
- Унифицированный размер Gzip:
84,7 КБ
lodash v4.17.20
- Неуминированный размер:
542,6 кБ
- Унифицированный размер Gzip:
96,8 КБ
момент v2.29.1
- Неуминированный размер:
173,9 кБ
- Унифицированный размер Gzip:
36,5 КБ
реагировать v17.0.1
- Неуминированный размер:
72,1 кБ
- Унифицированный размер Gzip:
19,5 КБ
terser v5.5.1
- Неуминированный размер:
860,3 кБ
- Унифицированный размер Gzip:
173,1 КБ
три v0.124.0
- Неуминированный размер:
1,2 МБ
- Унифицированный размер Gzip:
249,0 кБ
vue v2.6.12
- Неуминированный размер:
223,2 кБ
- Унифицированный размер Gzip:
62,3 КБ
Хотите видеть больше проектов в списке? Приглашаем PR!
🥇 Результаты
Лучшая производительность минификации
UglifyJS занимает первое место по производительности минификации. Это впечатляет, поскольку он не поддерживает и не использует новый и лаконичный синтаксис ES6 + (отсюда и неудачные сокращения для "terser v5.5.1").
Терсер занимает второе место, отставая не более чем на 1%. Terser — это форк uglify-es с поддержкой ES6 +.
Самый быстрый минифигатор
esbuild проходит 10x + круги вокруг всех остальных! Ничто не может сравниться с компилированным минификатором / сборщиком Go.
Минификация esbuild поддерживает передовой синтаксис ESNext и работает очень конкурентоспособно — всего лишь на 2% меньше, чем у UglifyJs.