LZMA Compression
Передвигает всю логику обработки данных из файлов в память и обратно в отдельный файл (catfile.c
, catfile.h
).
Файлы, генерируемые в результате CAT_FinalizeSimulator и CAT_FinalizePreprocessor теперь используют LZMA сжатие.
Пока нет нормального способа передавать опции для препроцессора и симулятора, метод сжатия прибит гвоздями (новый enum COMPRESSIONTYPE
, прибит LZMA
); но если в заголовке указан UNCOMPRESSED, то тоже работает.
На примере diff_bool_asynch (поле 300х300), без сжатия выходные файлы по 89кб, с сжатием: ~1.4кб.
(хотел удалить обработку CRC потому что нет смысла поддерживать т.к. всё равно никто либу не использовал пока что, но, наверное, в другом коммите как нить без PR сделаю)