[OLPC-devel] just verified: 2306 + olpc + linux kernel works.
Carl-Daniel Hailfinger
c-d.hailfinger.devel.2006 at gmx.net
Thu May 25 20:33:53 EDT 2006
David Woodhouse wrote:
> On Fri, 2006-05-26 at 01:29 +0200, Carl-Daniel Hailfinger wrote:
>> For us, the uncompressed figures are a bit more menaingful because
>> we plan to compress everything with lzma and thus, start with elfImage
>> instead of bzImage.
>> Could you also upload the uncompressed binaries so we can check
>> how big the real-life savings by using lzma are?
>
> Hm... lzma. Should I consider using it as a compressor for JFFS2?
>
> How does it fare in terms of memory usage and speed, and compression
> ratio on blocks of 4KiB of typical file system data? Or 16KiB I suppose,
> once I get round to that part of my TODO list...
Compression is slow, memory intensive, engineered for a bigger block
size and only available as C++ code AFAIR. Just the kind of thing you
want for write-once-read-many media like ROM, but I doubt you want it
for a writable file system.
Following numbers are for compression:
Speed is about 1/3 of bzip2 in max compression mode.
Memory requirements are about 10 times those of bzip2.
And usually compression numbers get more and more impressive if
the block size rises, but I don't have real hard numbers here.
Just took libgcj as an example:
# time gzip -9 libgcj.so.7.0.0; stat -c%s libgcj.so.7.0.0.gz
real 0m10.749s
6224169 libgcj.so.7.0.0.gz
# time bzip2 -9 libgcj.so.7.0.0; stat -c%s libgcj.so.7.0.0.bz2
real 0m9.775s
6197749 libgcj.so.7.0.0.bz2
# time lzmaencode libgcj.so.7.0.0; stat -c%S libgcj.so.7.0.0.lzma
real 0m32.917s
4339070 libgcj.so.7.0.0.lzma
These numbers are much more impressive than what I see with small
files, but that might also be due to the fact that the small files
I tested are different in structure. Hm. I splitted libgcj in 4k
sized chunks and reran the compression test.
7571810 libgcj.so.7.0.0.gz.4kchunks
8043146 libgcj.so.7.0.0.bz2.4kchunks
6477839 libgcj.so.7.0.0.lzma.4kchunks
Ran it again with 16k sized chunks:
6693730 libgcj.so.7.0.0.gz.16kchunks
6608000 libgcj.so.7.0.0.bz2.16kchunks
5451594 libgcj.so.7.0.0.lzma.16kchunks
Hmmm... strange results indeed. I'll leave it to you to interpret
them.
Regards,
Carl-Daniel
--
http://www.hailfinger.org/
More information about the Devel
mailing list