| Commit message (Collapse) | Author | Age | Files | Lines |
|\ |
|
| |\
| | |
| | | |
v1.8.1.2
|
| | | |
|
| | | |
|
| | | |
|
| | |\
| | | |
| | | | |
Fix lz4 version
|
| | |/ |
|
| | | |
|
| |\ \
| | |/
| | | |
LZ4 v1.8.1
|
| | | |
|
| | |\
| | | |
| | | | |
[lz4io] Fix decompression file stat with --rm
|
| | | | |
|
| | | | |
|
| | |\ \
| | | | |
| | | | | |
[lz4f] Skip memcpy() on empty dictionary
|
| | | |/ |
|
| | |\ \
| | | | |
| | | | | |
Add Option to Make lz4frame_static.h Functions Visible in Shared Objects
|
| | |/ /
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
In some contexts, *cough*like at facebook*cough*, dynamic linking is used in
contexts which aren't truly dynamic. That is, the guarantee is maintained that
a program will only ever execute against the library version it was compiled
to interact with.
For those situations, introduce a compile-time flag that overrides hiding
these unstable APIs in shared objects.
|
| | |\ \
| | | | |
| | | | | |
conditional pattern analysis
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Pattern analysis (currently limited to long ranges of identical bytes)
is actually detrimental to performance
when `nbSearches` is low.
Reason is : `nbSearches` provides a built-in protection for these cases.
The problem with patterns is that they dramatically increase the number of candidates to visit.
But with a low nbSearches, the match finder just aborts early.
In such cases, pattern analysis adds some complexity without reducing total nb of candidates.
It actually increases compression ratio a little bit, by filtering only "good" candidates,
but at a measurable speed cost, so it's not a good trade-off.
This patch makes pattern analysis optional.
It's enabled for levels 8+ only.
|
| | |\ \ \
| | | |_|/
| | |/| | |
lz4opt is now compatible with _destSize variant
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
object files created from /tests are compiled with specific flags (`-g -DLZ4_DEBUG=1`)
which are not welcomed in release binary.
`lib/*.o` files created from /tests are now stored in /tests, to avoid unintentional mix.
|
| | | | |
| | | | |
| | | | |
| | | | | |
no longer limited to level 9
|
| | | |/
| | | |
| | | |
| | | | |
to enable assert() within /lib
|
| | |\ \
| | | | |
| | | | | |
Docs: describe behavior under nohup
|
| | | |/ |
|
| | |\ \
| | | |/
| | |/| |
Grammar: "to silent" -> "to silence"
|
| | |/ |
|
| | |\
| | | |
| | | | |
new level 10
|
| | |/
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
lz4opt is only competitive vs lz4hc level 10.
Below that level, it doesn't match the speed / compression effectiveness of regular hc parser.
This patch propose to extend lz4opt to levels 10-12.
The new level 10 tend to compress a bit better and a bit faster than previous one (mileage vary depending on file)
The only downside is that `limitedDestSize` mode is now limited to max level 9 (vs 10),
since it's only compatible with regular HC parser.
(Note : I suspect it's possible to convert lz4opt to support it too, but haven't spent time into it).
|
| | |\
| | | |
| | | | |
remove `register` keyword
|
| | | |
| | | |
| | | |
| | | |
| | | | |
deprecated in newer C++ versions,
and dubious utility
|
| | |\ \
| | | |/
| | |/| |
Msbuild properties #423
|
| | |/ |
|
| | |\
| | | |
| | | | |
Fix cli sometimes calling UTIL_setFileStat on /dev/null
|
| | |/
| | |
| | |
| | | |
running as root
|
| | |
| | |
| | |
| | | |
see https://github.com/lz4/lz4/commit/810e2ca27b3561e0f6bfa7a88e0fde6faf807064#commitcomment-25810887
|
| | |
| | |
| | |
| | |
| | | |
updated relevant doc.
This patch has no impact on ABI/API, nor on binary generation.
|
| | | |
|
| | |\
| | | |
| | | | |
Improve Optimal parser
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | | |
which is more explicit than its value `3`.
reported by @terrelln
|
| | | | |
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | | |
for multi-bytes patterns
(which is not useful for the time being)
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
The first byte used to be skipped
to avoid a infinite self-comparison.
This is no longer necessary, since init() ensures that index starts at 64K.
The first byte is also useless to search when each block is independent,
but it's no longer the case when blocks are linked.
Removing the first-byte-skip saves
about 10 bytes / MB on files compressed with -BD4 (linked blocks 64Kb),
which feels correct as each MB has 16 blocks of 64KB.
|
| | | | |
|
| | | | |
|
| | | |
| | | |
| | | |
| | | | |
as reported by @terrelln
|
| | | |
| | | |
| | | |
| | | |
| | | | |
works for any repetitive pattern of length 1, 2 or 4 (but not 3!)
works for any endianess
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
- works with byte values other than `0`
- works for any repetitive pattern of length 1, 2 or 4 (but not 3!)
- works for little and big endian systems
- preserve speed of previous implementation
|