On Wed, 26 Oct 2011 16:15:11 -0700 Caleb Gray <ca...@calebgray.com> wrote:
> @Dmitry Chestnykh: > I just wrote a script for testing the speed and size difference > between the different compressions available, find the results here: > http://uploads.calebgray.com/contributions/compression/index.html Thanks! I grepped a bit, and found out that Fossil uses 9 level for deflate, which seem to me _not_ a good balance; and LZMA 1 level outperforms it in both compression ratio and speed. Plus I've heard that xz is for some reason slower than 7zip: http://ck-hack.blogspot.com/2011/04/quick-lrzip-comparison.html BTW, how LZMA performs for tiny files? I ask because most blobs in Fossil in normal operation (source code) are tiny due to delta compression. > As far as I know, memory usage depends entirely on dictionary size... > so shouldn't DEFLATE and LZMA use the same amount of memory if > configured correctly? Not sure, but I thought a good part of why LZMA is so good is that it has a large dictionary size. Though, maybe low compression levels don't require a lot of memory. > I'm used to 500KiB/s download speed, but my only choice at home is > Clearwire (which is true, I'm sure, for more than just myself). > Unfortunately, it's not rare for me to get 20KiB/s download speeds on > it, if the Fossil releases were UPX compressed, that would have saved > me ~5 seconds over the ZIP. Obviously, this isn't doesn't seem like a > big deal, but keep in mind that the people in Australia/New Zealand > have to pay for their bandwidth. It's not just time we're saving > people, it's money too, in the long run. Sure, I understand. When I lived in Russia, the first Ethernet connection I got was pretty expensive: $0.15 per megabyte or so (with average income in Moscow ~$500 at that time). Today a lot of places in the world have expensive mobile internet. Still, 500 KB difference in a world of torrents, 500 MB text editors, and 2 GB software updates? Come on! :-) > UPX has zero effect on memory usage, and would probably add a > millisecond or two to each request, leaving CPU as the only truly > impacted factor... I suppose that if a Pentium 133 uncompressed at > ~10MB/s as they claim on their homepage... then if you're getting 10 > requests a second on a 1MB executable... your server would begin > seeing the performance impact of Fossil being compressed using UPX. > Anyway, I'm not a huge proponent to the idea, it was just a thought. UPX works by allocating a buffer of original executable size, then uncompressing the file to it, and executing this buffer. The statically compiled fossil running on my server (amd64) is ~5 MB. This means that on each request, if I packed it with UPX, I'd get 5 MB allocation -- not good for my little VPS :-) -- Dmitry Chestnykh http://www.codingrobots.com _______________________________________________ fossil-users mailing list fossil-users@lists.fossil-scm.org http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users