Mercurial > core / lisp/ffi/zstd/pkg.lisp
changeset 155: |
b4bb3c52bc18 |
parent: |
2d1fe1d7b738
|
child: |
757b91ddcb2a |
author: |
ellis <ellis@rwest.io> |
date: |
Sat, 30 Dec 2023 23:53:04 -0500 |
permissions: |
-rw-r--r-- |
description: |
moved external ffi libs |
1 ;;; ffi/zstd/pkg.lisp --- ZSTD FFI 7 zstd, short for Zstandard, is a fast lossless compression algorithm, targeting 8 real-time compression scenarios at zlib-level and better compression ratios. 9 The zstd compression library provides in-memory compression and decompression 12 The library supports regular compression levels from 1 up to ZSTD_maxCLevel(), 13 which is currently 22. Levels >= 20, labeled `--ultra`, should be used with 14 caution, as they require more memory. The library also offers negative 15 compression levels, which extend the range of speed vs. ratio preferences. 16 The lower the level, the faster the speed (at the cost of compression). 18 Compression can be done in: 19 - a single step (described as Simple API) 20 - a single step, reusing a context (described as Explicit context) 21 - unbounded multiple steps (described as Streaming compression) 23 The compression ratio achievable on small data can be highly improved using 24 a dictionary. Dictionary compression can be performed in: 25 - a single step (described as Simple dictionary API) 26 - a single step, reusing a dictionary (described as Bulk-processing 29 Advanced experimental functions can be accessed using 30 `#define ZSTD_STATIC_LINKING_ONLY` before including zstd.h. 32 Advanced experimental APIs should never be used with a dynamically-linked 33 library. They are not "stable"; their definitions or signatures may change in 34 the future. Only static linking is allowed. 44 (define-alien-loader "zstd" t)