Hi Everyone!
I am pleased to announce version 1.5.0 of cookfs.
This is an attempt to revive this amazing project. Its original
homepage in only available via webarchive:
http://web.archive.org/web/20150619084055/http://www.endorser.org/en/blog/tcl/cookfs
and the last public release 1.3.1 was in 2011 at https://sourceforge.net/projects/cookit/files/cookfs/
Original description:
Cookfs is a Tcl virtual filesystem using a compressed archive format to
allow embedding multiple files in an archive that Tcl scripts can
access directly.
It is optimized for storing Tcl packages (allowing around 10%-20%
smaller sizes ratio than mk4vfs while still using zlib compression),
small, fast and integrated with Tcl.
It is designed only for use as Tcl VFS and provides multiple
optimizations especially for delivering Tcl based standalone
applications.
Supported compression methods are: none, zlib, bzip2 (not enabled by default), lzma2(xz)
Also, there are 2 versions for almost all features: C code or Tcl code.
Major changes since the last public release 1.3.1:
* Add support for xz(lzma2) compression and use it by default
* Add a smart cache feature
* Bugfixes
Homepage and downloads are on github: https://github.com/chpock/cookfs
On Sun, 5 May 2024 11:22:52 +0200
Harald Oehlmann <wortkarg3@yahoo.com> wrote:
Am 04.05.2024 um 23:52 schrieb Konstantin Kushnir:
I am pleased to announce version 1.5.0 of cookfs.Just to double check. Are you aware that zip virtual file system is now
included in TCL 9.0?
Thank you for the headup! I saw this information briefly, but have
already forgotten.
Unfortunatelly, I need better compression and lzma is the best choice
in 2024. Cookfs also offers the option to further improve compression
by using the solid achive mode. And it is not just a solid mode, but
a compromise between solid archive benefits and random data access
within archive.
Another killer feature of Cookfs is the parameters (compression, page
size, etc.) for different parts of file. The ability to use your own
commands for compression/decompression also adds flexibility.
I haven't dug into asynchronous mode enough yet, where further pages
are decompressed in the background and the application doesn't have to
wait for new data to be decompressed when it needs it. It seems that
this mode is now not working as the developers had planned. It will be
a nice performance boost if it works.
Thus, zipfs in core is a nice feature for combining multiple files into
a single file with a small compression bonus. But it can't be
considered a true compressed archive when other formats like
lzma/zstd/bzip2 available, and the zip format is more about portability
but not flexibility.
Is there anything in cookfs, what is not included in TCL 9 core ?
Then, we may port it to TCL ...
I am not sure about this. A feature of combining multiple files into
one is not something that many scripts require. Zipfs looks like a
sufficient tool to fulfill some basic possible requests, such as
creating a data package.
Cookfs contains advanced features for creating and working with data packages. This is more interesting for specialized applications such as tclkit systems. Thus, it is better to be as a module, rather than
taking up space in all the built interpreters.
Hi Everyone!
I am pleased to announce version 1.5.0 of cookfs.
This is an attempt to revive this amazing project. Its original
homepage in only available via webarchive:
and the last public release 1.3.1 was in 2011 at https://sourceforge.net/projects/cookit/files/cookfs/
Original description:
Cookfs is a Tcl virtual filesystem using a compressed archive format to
allow embedding multiple files in an archive that Tcl scripts can
access directly.
It is optimized for storing Tcl packages (allowing around 10%-20%
smaller sizes ratio than mk4vfs while still using zlib compression),
small, fast and integrated with Tcl.
It is designed only for use as Tcl VFS and provides multiple
optimizations especially for delivering Tcl based standalone
applications.
Supported compression methods are: none, zlib, bzip2 (not enabled by default), lzma2(xz)
Also, there are 2 versions for almost all features: C code or Tcl code.
Major changes since the last public release 1.3.1:
* Add support for xz(lzma2) compression and use it by default
* Add a smart cache feature
* Bugfixes
Homepage and downloads are on github: https://github.com/chpock/cookfs
Sysop: | Keyop |
---|---|
Location: | Huddersfield, West Yorkshire, UK |
Users: | 485 |
Nodes: | 16 (2 / 14) |
Uptime: | 131:57:31 |
Calls: | 9,655 |
Calls today: | 3 |
Files: | 13,707 |
Messages: | 6,166,577 |