Comments on: Deciding on a compression format
In my prior blog I proposed a compressed format for REBOL code/data.
Yes, normally, we don't want do that, because we want to keep the source file humanly readable.
However, there are cases where it becomes important for the file to be as small as possible. The example I gave was the R3 Chat app, which currently downloads via HTTP each time you run it. It is already compressed today. But, I want to make it a module too (rather than the object context wrapper it is now using.)
If you want to comment on that concept go to the prior blog.
--Now, regarding compression formats...
There have been many discussions, examples, and reblets about how to do this. In 2000 (or 1999?), we released RIP as one standard method, a ZIP method for multiple REBOL code/data files.
For R3, let's agree on how we want to proceed with this. We can make a few small changes to the compression method if needed (but, they must be very small changes at this date.) Also, we can include a built-in mezzanine function (or modify existing functions) to support the method, if someone wants to do that.
But, let's not try to solve every related problem or desire. Solve just one or two main requirements first, to prevent too many ideas and chaos that would result in no progress at all.
One thing that was brought up in the prior blog was compression in the HTTP scheme. That would need support for incremental (de)compression, GZIP-format, straight deflate support. As far as I know, the (de)compress functions work on the whole thing at once, and I don't know whether incrementalism is possible.
I have heard - but never seen demonstrated - that there was a compress port in R2. Don't mean to push some radical change, but on a practical level, transport-level compression will likely be more important, whatever the actual compression algorithm. File-level compression can be implemented with mezzanines if need be, as long as the underlying infrastructure is there.
Post a Comment:
You can post a comment here. Keep it on-topic.