On 17/02/2016 01:14, Matthew Fernandez wrote:
On 16/02/16 00:12, David Matthews wrote:
> From a quick look at the code the main effect that child states have
is that StateLoader::LoadFile needs to seek
> within the saved state file to get the name of the parent file. That
has to be loaded before the child because the
> child may, almost certainly will, overwrite some of the parent data.
That may affect how you compact the data.
> How well do the compression libraries cope with seeking within the file?
Admittedly this is not something I had thought to look for, and now that
I do I note there are seeks performed during state *saving* as well
where Poly/ML overwrites data at the start of the stream. A cursory
glance at the LZO API makes it seem like a requirement to seek the
stream may well be a deal breaker... Rafal Kolanski, can you comment any
more on this?
It may be possible to rework the code to avoid the seeks. Perhaps it
would be easier to compact each section of the data separately rather
than process the file as a whole, if that's possible. The seeks are
just to move between sections.
Of more concern is that LZO is licensed under GPL rather than LGPL.
Poly/ML is licensed under LGPL and that means that it cannot include or
even link to LZO without coming under GPL. That doesn't preclude
experimenting with it but for distribution I'd prefer a library that
didn't have these problems.
David
_______________________________________________
polyml mailing list
[email protected]
http://lists.inf.ed.ac.uk/mailman/listinfo/polyml