Next: Introduction, Previous: (dir), Up: (dir) [Contents][Index]
This is the snappy Reference Manual, version 0.3, generated automatically by Declt version 3.0 "Montgomery Scott" on Tue Dec 22 15:04:34 2020 GMT+0.
• Introduction | What snappy is all about | |
• Systems | The systems documentation | |
• Files | The files documentation | |
• Packages | The packages documentation | |
• Definitions | The symbols documentation | |
• Indexes | Concepts, functions, variables and data types |
A Common Lisp implementation of Google's Snappy data compression library. The original name for Google's Snappy compression library was Zippy.
Compresses the contents of BUFFER, a vector of (UNSIGNED-BYTE 8), from position
INDEX to position LIMIT. Returns two values, a vector of type (UNSIGNED-BYTE 8)
holding the compressed data and an integer indicating the number of
compressed octets in the vector.
Returns the maximum size a vector of length UNCOMPRESSED-LENGTH may take up
after it is compressed.
Uncompresses BUFFER, a vector of (UNSIGNED-BYTE 8), from position INDEX to
LIMIT. Returns the uncompressed data as a vector of (UNSIGNED-BYTE 8).
Returns the uncompressed length of the compressed data stored in BUFFER from
position INDEX to LIMIT.
For more information, see the documentation strings in snappy.lisp, the example code in snappy-test.lisp, and Google's GitHub Snappy page.
Next: Files, Previous: Introduction, Up: Top [Contents][Index]
The main system appears first, followed by any subsystem dependency.
• The snappy system |
Robert Brown <robert.brown@gmail.com>
New BSD license. See the copyright messages in individual files.
An implementation of Snappy compression.
An implementation of Google’s Snappy compression algorithm, which is designed for speed of compression and decompression.
0.3
com.google.base
snappy.asd (file)
Files are sorted by type and then listed depth-first from the systems components trees.
• Lisp files |
• The snappy.asd file | ||
• The snappy/package.lisp file | ||
• The snappy/snappy.lisp file |
Next: The snappy/package․lisp file, Previous: Lisp files, Up: Lisp files [Contents][Index]
snappy.asd
snappy (system)
Next: The snappy/snappy․lisp file, Previous: The snappy․asd file, Up: Lisp files [Contents][Index]
Previous: The snappy/package․lisp file, Up: Lisp files [Contents][Index]
package.lisp (file)
snappy (system)
snappy.lisp
Next: Definitions, Previous: Files, Up: Top [Contents][Index]
Packages are listed by definition order.
• The snappy package |
An implementation of Google’s Snappy compression algorithm, which is designed for speed of compression and decompression.
package.lisp (file)
Definitions are sorted by export status, category, package, and then by lexicographic order.
• Exported definitions | ||
• Internal definitions |
Next: Internal definitions, Previous: Definitions, Up: Definitions [Contents][Index]
• Exported functions |
Previous: Exported definitions, Up: Exported definitions [Contents][Index]
Compresses the contents of BUFFER, a vector of (UNSIGNED-BYTE 8), from
position INDEX to position LIMIT. Returns two values, a vector of
type (UNSIGNED-BYTE 8) holding the compressed data and an integer indicating
the number of compressed octets in the vector.
snappy.lisp (file)
Returns the maximum size a vector of length UNCOMPRESSED-LENGTH may take up after it is compressed.
snappy.lisp (file)
Uncompresses BUFFER, a vector of (UNSIGNED-BYTE 8), from position INDEX to LIMIT. Returns the uncompressed data as a vector of (UNSIGNED-BYTE 8).
snappy.lisp (file)
Returns the uncompressed length of the compressed data stored in BUFFER from position INDEX to LIMIT.
snappy.lisp (file)
Previous: Exported definitions, Up: Definitions [Contents][Index]
• Internal constants | ||
• Internal macros | ||
• Internal functions | ||
• Internal types |
Next: Internal macros, Previous: Internal definitions, Up: Internal definitions [Contents][Index]
snappy.lisp (file)
snappy.lisp (file)
snappy.lisp (file)
Data stored per entry in lookup table:
Range Bits-used Description
————————————
1..64 0..7 Literal/copy length encoded in opcode byte
0..7 8..10 Copy offset encoded in opcode byte / 256
0..4 11..13 Extra bytes after opcode
We use eight bits for the length even though 7 would have sufficed
because of efficiency reasons:
(1) Extracting a byte is faster than a bit field
(2) It properly aligns copy offset so we do not need a <<8
snappy.lisp (file)
snappy.lisp (file)
snappy.lisp (file)
snappy.lisp (file)
snappy.lisp (file)
Mapping from i in range [0,4] to a mask to extract the bottom 8*i bits.
snappy.lisp (file)
Next: Internal functions, Previous: Internal constants, Up: Internal definitions [Contents][Index]
snappy.lisp (file)
Next: Internal types, Previous: Internal macros, Up: Internal definitions [Contents][Index]
snappy.lisp (file)
snappy.lisp (file)
snappy.lisp (file)
snappy.lisp (file)
snappy.lisp (file)
snappy.lisp (file)
Previous: Internal functions, Up: Internal definitions [Contents][Index]
snappy.lisp (file)
snappy.lisp (file)
snappy.lisp (file)
Previous: Definitions, Up: Top [Contents][Index]
• Concept index | ||
• Function index | ||
• Variable index | ||
• Data type index |
Next: Function index, Previous: Indexes, Up: Indexes [Contents][Index]
Jump to: | F L S |
---|
Jump to: | F L S |
---|
Next: Variable index, Previous: Concept index, Up: Indexes [Contents][Index]
Jump to: | C E F H M P R U |
---|
Jump to: | C E F H M P R U |
---|
Next: Data type index, Previous: Function index, Up: Indexes [Contents][Index]
Jump to: | +
C |
---|
Jump to: | +
C |
---|
Previous: Variable index, Up: Indexes [Contents][Index]
Jump to: | D H P S T |
---|
Jump to: | D H P S T |
---|