I have used TZIPForge for a long time now. Now I would like to change to JEDI JCL Compress.
With TZIPForge I can decide whether it compressed fully in memory or whether it writes to disk directly while compressing.
JEDI JCL seems to compress fully in memory which can cause problems with very big files. How is it possible to write directly to disk instead?
AFAIR Jedi CodeLib today is a wrapper over 7-zip DLL API ( www.7-zip.org ) and thus is a bit overkill if you only need creating simplified old-school ZIPs ( such as Java JARs or Office OpenDocument or OpenXML files ).
Indeed, there is a difference, when the compression takes place - some libraries compress every particular file immediately when given data. And then committing the archive is only writing the end-directory of the zip. Some libraries though keep ALL the uncompressed content in memory and only compress it when committing.
Check ZeZippy*.pas files at https://github.com/Avemey/zexmlss/tree/master/zexmlss/src
This is implementing creation of ODS/XLSX zips with different engines. XE2 RTL and ZipMaster and Jedi CodeLib interfaces supported, you just can match their micro-implementations to see differences.
PS. AFAIR I also wanted to add Windows XP implementation, but seems got diverted from it :-) https://github.com/the-Arioch/avemey.com/blob/master/zexmlss/src/zeZippyXP.txt