tedious / JShrink

Javascript Minifier built in PHP
http://www.tedivm.com
BSD 3-Clause "New" or "Revised" License
751 stars 152 forks source link

More performance tweaks #91

Closed andrey-legayev closed 5 years ago

andrey-legayev commented 5 years ago

Hi,

I've tried to go deeper into performance tweaks. Please review series of changes which I've prepared.

I've bench-marked every improvement separately before deciding whether to add it.

As a test I've run new and old version on JS library for 3D rendering (threejs-lib) which consists of 352 JavaScript files, 11MB. I compared MD5 of minified content for new and current-master versions of JShink - no changes found.

Current master: real 0m10,164s user 0m10,118s sys 0m0,036s

New version: real 0m9,469s user 0m9,454s sys 0m0,008s

New version is 0.695 sec faster, 6.8% improvement (on this specific JS lib). IMO not bad :-)

Andrey.

tedivm commented 5 years ago

Once the PR is ready to merge please tag me and I'll take a look.

Thanks for the contributions!

andrey-legayev commented 5 years ago

All tests are passed. @tedivm it's ready for review

andrey-legayev commented 5 years ago

@tedivm PR is ready to merge