| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
and created target cxx17build
|
|
|
|
| |
as suggested by @sloutsky in #671
|
|
|
|
|
|
|
|
|
|
|
| |
between lz4.c and lz4hc.c .
was left in a strange state after the "amalgamation" patch.
Now only 3 directives remain,
same name across both implementations,
single definition place.
Might allow some light simplification due to reduced nb of states possible.
|
|
|
|
|
|
| |
yet some overly cautious overflow risk flag,
while it's actually impossible, due to previous test just one line above.
Changing the cast position, just to be please the thing.
|
|
|
|
|
|
|
|
|
|
| |
make it possible to generate LZ4-compressed block
with a controlled maximum offset (necessarily <= 65535).
This could be useful for compatibility with decoders
using a very limited memory budget (<64 KB).
Answer #154
|
|
|
|
|
| |
by making a full initialization
instead of a fast reset.
|
|
|
|
|
| |
it is now a pure initializer, for statically allocated states.
It can initialize any memory area, and because of this, requires size.
|
| |
|
|
|
|
|
|
|
|
| |
- promoted LZ4_resetStreamHC_fast() to stable
- moved LZ4_resetStreamHC() to deprecated (but do not generate a warning yet)
- Updated doc, to highlight difference between init and reset
- switched all invocations of LZ4_resetStreamHC() onto LZ4_initStreamHC()
- misc: ensure `make all` also builds /tests
|
|
|
|
| |
are changed by the function call
|
|
|
| |
Every 0xff byte in the compressed block corresponds to a length of 255 (not 256) in the input data. For long repeating sequences, using (length >> 8) may generate bad compressed blocks.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
as detected in #485 by @JoachimSchneider.
Refactored the c_standards tests
so that these issues get automatically detected in CI tests.
|
|
|
|
| |
which is not correct when using LZ4_HC with dictionary and starting from a low address (<0x10000).
|
|
|
|
|
|
|
| |
it was a fairly complex scenario,
involving source files > 64K
and some extraordinary conditions related to specific layout of ranges of zeroes.
and only on level 9.
|
| |
|
| |
|
|
|
|
|
| |
which measurably improves speed
on levels 9+
|
|
|
|
|
|
| |
also :
reserved PA for levels 9+ (instead of 8+).
In most cases, speed is lower, and compression benefit is not worth.
|
|
|
|
|
| |
the trade off is not good for regular HC parser :
compression is a little bit better, but speed cost is too large in comparison.
|
|
|
|
|
|
|
|
| |
Only enabled when searching forward.
note : it slighly improves compression ratio,
but measurably decreases speed.
Trade-off to analyse.
|
|
|
|
| |
when combining both PA and CS optimizations
|
|
|
|
|
|
|
| |
slower than expected
Pattern analyzer and Chain Swapper
work slower when both activated.
Reasons unclear.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
greatly improves speed compared to non-accelerated,
especially for slower files.
On my laptop, -b12 :
```
calgary.tar : 4.3 MB/s => 9.0 MB/s
enwik7 : 10.2 MB/s => 13.3 MB/s
silesia.tar : 4.0 MB/s => 8.7 MB/s
```
Note : this is the simplified version,
without handling dictionaries, external buffer, nor pattern analyzer.
Current `dev` branch on these samples gives :
```
calgary.tar : 4.2 MB/s
enwik7 : 9.7 MB/s
silesia.tar : 3.5 MB/s
```
interestingly, it's slower,
presumably due to handling of dictionaries.
|
|
|
|
|
|
| |
simplified match finder
only searching forward and within current buffer,
for easier testing of optimizations.
|
|
|
|
| |
shaves one more kilobyte from silesia.tar
|
|\
| |
| | |
fix lz4hc -BD non-determinism
|
| |
| |
| |
| | |
lowLimit -> lowestMatchIndex
|
| |
| |
| |
| |
| | |
to reduce confusion
dictLowLimit => dictStart
|
| |\ |
|
| | |
| | |
| | |
| | | |
related to chain table update
|
| | | |
|
|\ \ \
| |_|/
|/| | |
Minor Fixes to Dictionary Preparation in LZ4 Frame
|
| |/ |
|
| |
| |
| |
| |
| |
| |
| | |
also :
- fix a potential malloc error
- proper use of ALLOC macro inside lz4hc
- update html API doc
|
| | |
|
| | |
|
| |
| |
| |
| | |
and lz4hc.
|
|/
|
|
|
|
|
| |
triggered through an enum.
Now, it's still necessary to properly expose this capability
all the way up to the cli.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|