diff --git a/docs/manual.md b/docs/manual.md index 06bdc1a..aa61700 100644 --- a/docs/manual.md +++ b/docs/manual.md @@ -1937,7 +1937,7 @@ function gunzip_inflate(zstream, compressed_data, expected_uncompressed_chunk_si * gunzip_init создает и возвращает контекст gzip потока для последующих вызовов других функций. Значение windowBits см. в документации по zlib (по умолчанию 47). * gunzip_end освобождает контекст gzip. может быть освобожден сборщиком мусора, но лучше вызывать явно. * gunzip_inflate разжимает очередную часть зипованных данных. Данные можно скармливать частями. Расжатые части конкатенируются для получения полных данных. Возвращается 2 аргумента : расжатые данные и bool признак конца gzip. В случае испорченных данных или при нехватке памяти возвращается nil. -* expected_uncompressed_chunk_size - необязательный параметр для оптимизации выделения памяти под расжимаемые данные. Если буфера не хватает, вызываются realloc, что влияет на производительность. Размер следует выбирать согласно ожидаемой степени сжатия с небольшим запасом. По умолчанию - трехкратный размер compressed_data, что соответствует степени сжатия текстовых данных. При нехватке буфера выполняется realloc шагами в 16K. +* expected_uncompressed_chunk_size - необязательный параметр для оптимизации выделения памяти под расжимаемые данные. Если буфера не хватает, вызываются realloc, что влияет на производительность. Размер следует выбирать согласно ожидаемой степени сжатия с небольшим запасом. По умолчанию - четырехкратный размер compressed_data. При нехватке буфера выполняется realloc шагами в 16K. #### gzip @@ -1950,7 +1950,7 @@ function gzip_deflate(zstream, uncompressed_data, expected_compressed_chunk_size * gzip_init создает и возвращает контекст gzip потока для последующих вызовов других функций. Значение windowBits см. в документации по zlib (по умолчанию 31). level - уровень сжатия от 1 до 9 (по умолчанию 9), memlevel - допустимый уровень использования памяти от 1 до 8 (по умолчанию 8). * gzip_end освобождает контекст gzip. может быть освобожден сборщиком мусора, но лучше вызывать явно. * gzip_deflate cжимает очередную часть данных. Данные можно скармливать частями. Cжатые части конкатенируются для получения полных данных. Для финализации потока по окончанию скармливания данных функция должна быть вызвана с uncompressed_data=nil или uncompressed_data="". Возвращается 2 аргумента : сжатые данные и bool признак конца gzip. При ошибках gzip или нехватке памяти возвращается nil. -* expected_compressed_chunk_size - необязательный параметр для оптимизации выделения памяти под cжимаемые данные. Если буфера не хватает, вызываются realloc, что влияет на производительность. Размер следует выбирать согласно ожидаемой степени сжатия с небольшим запасом. По умолчанию - треть размера uncompressed_data, что соответствует степени сжатия текстовых данных. При нехватке буфера выполняется realloc шагами в 4K. +* expected_compressed_chunk_size - необязательный параметр для оптимизации выделения памяти под cжимаемые данные. Если буфера не хватает, вызываются realloc, что влияет на производительность. Размер следует выбирать согласно ожидаемой степени сжатия с небольшим запасом. По умолчанию - половина размера uncompressed_data. При нехватке буфера выполняется realloc шагами в 8K. ### Системные функции @@ -3088,17 +3088,19 @@ function is_gzip_file(filename) true, если файл является gzip, иначе false. При ошибке открытия файла вызывается error. ``` -function gunzip_file(filename, read_block_size) +function gunzip_file(filename, expected_ratio, read_block_size) ``` Расжимает файл и возвращает raw string. В случае ошибки открытия или чтения файла вызывается error. При нехватке памяти возвращается nil. read_block_size - частями какого размера читается файл (по умолчанию 16K). +expected_ratio - ожидаемое соотношение длины расжатых данных к длине сжатых данных (по умолчанию 4). ``` -function gzip_file(filename, data, level, memlevel, compress_block_size) +function gzip_file(filename, data, expected_ratio, level, memlevel, compress_block_size) ``` Сжимает raw строку в gzip файл. В случае ошибки открытия или чтения файла вызывается error. При испорченных gzip данных или нехватке памяти возвращается nil. level - уровень сжатия от 1 до 9 (по умолчанию 9), memlevel - допустимый уровень использования памяти от 1 до 8 (по умолчанию 8). compress_block_size - частями какого размера жмется файл (по умолчанию 16K). +expected_ratio - ожидаемое соотношение длины расжатых данных к длине сжатых данных (по умолчанию 2). ## autottl