[gambit-list] Binary serializer/deserializer
Marc Feeley
feeley at iro.umontreal.ca
Mon Jun 13 21:11:28 EDT 2005
I have just completed a first implementation of the binary serializer/
deserializer. The interface is
(object->u8vector obj)
(u8vector->object u8vect)
The space used is typically 30%-50% of the space used by the textual
serializer (if you assume 1 character = 1 octet).
Here are the results of running the calculator web-continuation
example with the new procedures. I have run the example two ways:
with everything compiled, and with web-server.scm interpreted. This
is on a 400 MHz PowerBook and without -D___SINGLE_HOST.
compiled interpreted
size of continuation after
serialization and base64
encoding (octets) 840 38900
(u8vector->object cont) secs 0.000 0.021
(object->u8vector k) secs 0.003 0.042
base64 encoding/decoding secs 0.000 0.028
As you can see, the compiled version is really very fast, and you can
barely see a delay in the browser. The interpreted version is slower
but still acceptable, less than 1/10 of a second CPU time per
interaction and about 2 seconds per interaction real-time when using
Safari (I assume Safari spends most of this time processing the long
URLs, which must be displayed in the address box... must be a dumb
algorithm).
The binary serializer/deserializer and the updated web-server example
will be part of the next beta release.
Marc
More information about the Gambit-list
mailing list