getting a Binary module into the standard libs
Simon Marlow
simonmar@microsoft.com
Thu, 19 Dec 2002 09:49:06 -0000
> I tend to agree with Alastair. I just reran the experiments=20
> with BinIOs
> instead of BinMems to see if there was a greater difference=20
> (I expect a
> much smaller difference, in fact, due to the high disk=20
> overhead and the
> fact that putChar is slow). I didn't both with -O0, but with=20
> -O2, we get:
>=20
> bits read 2156
> write 2639
>=20
> bytes read 1617
> write 2078
>=20
> frankly, this shocks me. reading using bits is 33% slower; writing is
> about 27% slower. i actually expected the bits version to be *faster*
> (relatively, of course) here, due to the fact that we have=20
> much smaller
> files (the byte-based file is 4200000 bytes while the=20
> bit-based file is
> 3325000 bytes). With a 33% difference, I think I might want separate
> instances again :).
Try profiling. It's hard to tell where the speed is going without
seeing the code - would you like to put it up somewhere so we can take a
look? =20
Remember that putByte and friends have been carefully tuned, I suspect
we'll need to take a close look at the compiler output for your bit
versions and tweak a few things.
Cheers,
Simon