4 ms·
Cash's maintainer here. I really don't think anybody can squeeze 50% out of the 6kb min+gzip code that make up Cash, quite a bit of thought went into squeezing
by fabiospampinato 5y ago
Cash's maintainer here. I really don't think anybody can squeeze 50% out of the 6kb min+gzip code that make up Cash, quite a bit of thought went into squeezing as many bytes as possible out of it. (while still preserving a large degree of compatibility with jQuery, support for many methods and support for partial compilation)
Your comparison isn't quite fair, our toggleClass function does a lot more than a simple addClass, and writing it this way lowers in fact the total min+gzip size.
I'd be pretty impressed if you can shave just 1kb out of those 6kb to be honest.
- franciscop 5y agoAgreed! Not a fair comparison either way; if I compare Cash' addClass then it doesn't really "do anything" besides call the other method, so I'd say the toggleClass is representative of _the 3 methods together_, so 1/3rd? It's nice code :) Shaving off 1kb out of 6kb of optimized GZIP code is probably impossible unless you missed something important. I also went deep into optimizing Umbrella JS, it does a lot less than Cash so hence it's a lot smaller as well; but I went so far as comparing the GZIP output of calling `for ()` vs `forEach`, etc: https://medium.com/@fpresencia/understanding-gzip-size-836c74b66c0b https://medium.com/@fpresencia/understanding-gzip-size-836c7... That's why I am not concerned of repeating e.g. `function() {}` (instead of the, back then, experimental () => {}) many times, since with gzip in my experience that gets all totally abstracted out. Edit: edited the original, explaining that Cash it's doing it nicely!
- 22c 5y ago> but I went so far as comparing the GZIP output of calling `for ()` vs `forEach`, etc AFAIK Google Closure Compiler [1] does similar things automagically. [1] https://github.com/google/closure-compiler https://github.com/google/closure-compiler