https://bugzilla.wikimedia.org/show_bug.cgi?id=26791
--- Comment #8 from Trevor Parscal <tpars...@wikimedia.org> 2011-01-19 00:32:23 UTC --- As Chad mentioned, JSMin is now in includes/libs/JSMin.php - ResourceLoader uses it. We can either request special permission from the author, or use something else entirely. I did some benchmarking with JSMin, Tim's modified JSMin, and some GPL friendly alternatives. Tests were run on the development version of jQuery 1.4.4. ------------------+-----------+-----------------+------------------ Library Time (sec) Minified (bytes) Compressed (bytes) ------------------+-----------+-----------------+------------------ JSMin (Original) 3.50 100221 27983 JSMin (MediaWiki) 1.71 105990 29087 JavaScriptPacker 1.36 54886 26327 JSMinPlus 5.47 98382 27636 ------------------+-----------+-----------------+------------------ As you can see, Tim's changes to JSMin got the cost of running it down a bit. JavaScriptPacker is still the fastest, but it does some really scary things to try and get the minified size down, which are pretty much done in vein since the gzipped version is so similar in size as all the other minifiers which output much more sane and reliable code. JSMinPlus is really expensive to run, but I'm sure we could optimize it - at least it's a GPL compatible starting point. The alternative is of course, we write something of our own. I ended up doing just that for CSS minification since we wanted to do some really particular things that other libraries did not do or did not do well enough for our needs, such as data URI embedding and URL remapping. But the most compelling reason was that all the CSS minifiers out there were way too complex, and caused a lot of problems when CSS hacks were introduced. Furthermore, the difference between running the text through about 5 regular expression replacements and parsing the CSS into a structure and spitting it back out was negligable. This may or may not prove to be the case with JavaScript, but it's something to consider. If we could have something incredibly simple and 80% effective and support hooking into things like Google ClosureCompiler or the JSMin PHP extension on our own cluster, we will be in the clear license-wise and still be able to get the final 20% in our own production environments. -- Configure bugmail: https://bugzilla.wikimedia.org/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug. You are on the CC list for the bug. _______________________________________________ Wikibugs-l mailing list Wikibugs-l@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/wikibugs-l