Yann Collet
31d48e9ffa
fixing minor formatting issue in 32-bit mode with logs enabled
2024-10-23 11:50:56 -07:00
Yann Collet
76ad1d6903
fixed VS2010 solution
2024-10-23 11:50:56 -07:00
Yann Collet
cdddcaaec9
new Makefile target mesonbuild
...
for easier local testing
2024-10-23 11:50:56 -07:00
Yann Collet
6939235f01
fixed meson build
2024-10-23 11:50:56 -07:00
Yann Collet
80a912dec1
fixed zstreamtest
2024-10-23 11:50:56 -07:00
Yann Collet
6dc52122e6
fixed c90 comment style
2024-10-23 11:50:56 -07:00
Yann Collet
20c3d176cd
fix assert
2024-10-23 11:50:56 -07:00
Yann Collet
0d4b520657
only split full blocks
...
short term simplification
2024-10-23 11:50:56 -07:00
Yann Collet
dd38c677eb
fixed single-library build
2024-10-23 11:50:56 -07:00
Yann Collet
8b3887f579
fixed kernel build
2024-10-23 11:50:56 -07:00
Yann Collet
f83ed087f6
fixed RLE detection test
2024-10-23 11:50:56 -07:00
Yann Collet
83a3402a92
fix overlap write scenario in presence of incompressible data
2024-10-23 11:50:56 -07:00
Yann Collet
fa147cbb4d
more ZSTD_memset() to apply
2024-10-23 11:50:56 -07:00
Yann Collet
6021b6663a
minor C++-ism
...
though I really wonder if this is a property worth maintaining.
2024-10-23 11:50:56 -07:00
Yann Collet
e2d7d08888
use ZSTD_memset()
...
for better portability on Linux kernel
2024-10-23 11:50:56 -07:00
Yann Collet
586ca96fec
do not use new as variable name
2024-10-23 11:50:56 -07:00
Yann Collet
9e52789962
fixed strict C90 semantic
2024-10-23 11:50:56 -07:00
Yann Collet
a5bce4ae84
XP: add a pre-splitter
...
instead of ingesting only full blocks, make an analysis of data, and infer where to split.
2024-10-23 11:50:56 -07:00
Yann Collet
41d870fbbf
updated regression tests results
2024-10-17 11:06:26 -07:00
Yann Collet
ff8e98bebe
enable regression tests at pull request time
...
was transferred from circleci,
but was only triggered on push into dev,
i.e. after pull request is merged.
2024-10-17 09:45:16 -07:00
Yann Collet
47d4f5662d
rewrite code in the manner suggested by @terrelln
2024-10-17 09:37:23 -07:00
Yann Collet
61d08b0e42
fix test
...
a margin of 4 is insufficient to guarantee compression success.
2024-10-17 09:37:23 -07:00
Yann Collet
6326775166
slightly improved compression ratio at levels 3 & 4
...
The compression ratio benefits are small but consistent, i.e. always positive.
On `silesia.tar` corpus, this modification saves ~75 KB at level 3.
The measured speed cost is negligible, i.e. below noise level, between 0 and -1%.
2024-10-17 09:37:23 -07:00
Yann Collet
730d2dce41
fix test
2024-10-15 18:44:40 -07:00
Yann Collet
c2abfc5ba4
minor improvement to level 3 dictionary compression ratio
2024-10-15 17:58:33 -07:00
Yann Collet
e63896eb58
small dictionary compression speed improvement
...
not as good as small-blocks improvement,
but generally positive.
2024-10-15 17:48:35 -07:00
Yann Collet
e6740355e3
attempt parallel test running with -j
2024-10-11 18:01:28 -07:00
Yann Collet
6f2e29a234
measure if -O2 makes the test complete faster
2024-10-11 17:30:55 -07:00
Yann Collet
1024aa9252
attempt to make 32-bit tests faster
...
this is the longest CI test, reaching ~40mn on last PR
2024-10-11 16:24:25 -07:00
Yann Collet
8e5823b65c
rename variable name
...
findMatch -> matchFound
since it's a test, as opposed to an active search operation.
suggested by @terrelln
2024-10-11 15:38:12 -07:00
Yann Collet
83de00316c
fixed parameter ordering in dfast
...
noticed by @terrelln
2024-10-11 15:36:15 -07:00
Yann Collet
3b343dcfb1
refactor huffman prefix code paragraph
2024-10-07 17:15:07 -07:00
Yann Collet
b84653fc83
fix dependency for nightly github actions tests
2024-10-03 15:10:16 -07:00
Yann Collet
a8b86d024a
refactor documentation of the FSE decoding table build process
2024-10-02 23:09:06 -07:00
Yann Collet
de6cc98e07
fix incorrect pointer manipulation
...
fix #4155
2024-10-01 09:25:26 -07:00
Yann Collet
3d5d3f5630
removing nightly tests built on circleci
2024-09-30 21:38:29 -07:00
Yann Collet
039f404faa
update documentation to specify that Dictionary can be used for benchmark
...
fix #4139
2024-09-25 16:56:01 -07:00
Yann Collet
7a48dc230c
fix doc nit: ZDICT_DICTSIZE_MIN
...
fix #4142
2024-09-19 09:50:30 -07:00
Yann Collet
09cb37cbb1
Limit range of operations on Indexes in 32-bit mode
...
and use unsigned type.
This reduce risks that an operation produces a negative number when crossing the 2 GB limit.
2024-08-21 11:03:43 -07:00
Yann Collet
14b8d398fd
fix c90 comment style
2024-08-06 12:47:30 -07:00
Yann Collet
89451cafbd
formatString_u() can display numbers > 100
...
fixes #4110
2024-08-06 11:44:37 -07:00
Yann Collet
cb784edf5d
added android-ndk-build
2024-07-30 11:34:49 -07:00
Yann Collet
80170f6aad
fix macos build
...
weird: after replacing the UNAME line with an identical one,
it does work properly now(??).
Possibly a case of hidden special character?
2024-06-18 20:24:00 -07:00
Yann Collet
d7a84a683f
added cygwin install test
2024-06-12 10:57:15 -07:00
Yann Collet
2acf90431a
minor:doc: specify decompression behavior in presence of multiple concatenated frames
...
directly at ZSTD_decompress() level.
2024-06-03 18:30:23 -07:00
Yann Collet
a86f5f3f33
update documentation of ZSTD_decompressStream()
...
slightly more precise, by recommending to check the return value.
fix #4030
2024-04-23 09:31:35 -07:00
Yann Collet
ff7a151f2e
update test name
2024-04-21 10:44:50 -07:00
Yann Collet
a2f145f059
decompression errors always display the full origin filename
...
instead of the truncated size-limited version.
2024-04-01 11:49:21 -07:00
Yann Collet
e0ee0fccf8
updated benchmarks for v1.5.6
2024-03-27 18:19:31 -07:00
Yann Collet
ebf24b7b77
fix nodejs deprecation warning
...
by updating msys2 action
2024-03-27 16:10:15 -07:00
Yann Collet
273d1279ca
try to silence some scorecard warnings
2024-03-21 13:25:48 -07:00
Yann Collet
6f1215b874
fix ZSTD_TARGETCBLOCKSIZE_MIN test
...
when requested CBlockSize is too low,
bound it to the minimum
instead of returning an error.
2024-03-18 14:10:08 -07:00
Yann Collet
c5da438dc0
fix typo
2024-03-18 12:33:22 -07:00
Yann Collet
3d18d9a9ce
updated API manual
2024-03-18 12:30:54 -07:00
Yann Collet
902c7ec1fe
add doc on CCtx UB state
2024-03-18 12:30:35 -07:00
Yann Collet
5d82c2b57c
add a paragraph on UB DCtx state after error
2024-03-18 12:17:41 -07:00
Yann Collet
f5728da365
update targetCBlockSize documentation
2024-03-18 12:04:02 -07:00
Yann Collet
351498b932
update CHANGELOG for v1.5.6
2024-03-14 17:01:34 -07:00
Yann Collet
686e7e4b4b
updated version to v1.5.6
2024-03-14 15:38:14 -07:00
Yann Collet
9cc3304614
add line number to debug traces
2024-03-14 12:11:11 -07:00
Yann Collet
c8ab027227
reduce the amount of includes in "cover.h"
2024-03-13 11:29:28 -07:00
Yann Collet
ff6713fd72
fix duplicated paragraph
...
reported by @zougloub
2024-03-12 13:09:10 -07:00
Yann Collet
5473b72a05
updated documentation
...
following recommendations by @zougloub at #3698
2024-03-12 12:27:33 -07:00
Yann Collet
83ec3d0164
no longer truncate file name in verbose mode
...
fix #3702
2024-03-12 11:27:42 -07:00
Yann Collet
37ff4f91eb
removed golden-decompression/.gitignore
...
replaced by an exclusion rule in tests/.gitignore
2024-03-12 10:47:27 -07:00
Yann Collet
0ae98ba215
add same .gitignore rule in golden-decompression/
...
as requested by @embg
2024-03-12 09:47:54 -07:00
Yann Collet
b39c76765b
Add the zeroSeq sample
...
that should have been part of #3674
2024-03-12 09:28:25 -07:00
Yann Collet
74e856a195
add tests inspired from #2927
...
centered around -T# and --fast=# arguments
2024-03-11 17:57:57 -07:00
Yann Collet
f6039f3d5f
cmake refactor: move HP-UX specific logic into its own function
...
reduce visual clutter of corner case configuration.
2024-03-11 16:22:13 -07:00
Yann Collet
1362699e87
minor man page clarification
2024-03-11 12:23:37 -07:00
Yann Collet
fbd9e628ae
added tests
2024-03-11 12:17:34 -07:00
Yann Collet
c610a01d7d
fix #3719
...
only disable `--rm` at end of command line parsing,
so that `-c` only disables `--rm` if it's effectively selected,
and not if it's overriden by a later `-o FILE` command.
2024-03-11 11:38:55 -07:00
Yann Collet
eb5f7a7fa2
produced golden sample for the offset==0 decoder test
...
is correctly detected as corrupted by new version,
and is accepted (changed into offset==1) by older version.
updated documentation accordingly, with an hexadecimal representation.
2024-03-09 00:33:44 -08:00
Yann Collet
d2f56ba442
update documentation
2024-03-08 15:55:30 -08:00
Yann Collet
a9fb8d4c41
new method to deal with offset==0
...
in this new method, when an `offset==0` is detected,
it's converted into (size_t)(-1), instead of 1.
The logic is that (size_t)(-1) is effectively an extremely large positive number,
which will not pass the offset distance test at next stage (`execSequence()`).
Checked the source code, and offset is always checked (as it should),
using a formula which is not vulnerable to arithmetic overflow:
```
RETURN_ERROR_IF(sequence.offset > (size_t)(oLitEnd - virtualStart),
```
The benefit is that such a case (offset==0) is always detected as corrupted data
as opposed to relying on the checksum to detect the error.
2024-03-08 15:26:06 -08:00
Yann Collet
aed172a8fe
minor: fix incorrect debug level
2024-03-08 14:29:44 -08:00
Yann Collet
ad590275b4
added RISC-V emulation tests on Github CI
2024-03-07 16:54:44 -08:00
Yann Collet
007cda88ca
prevent XXH64 from being autovectorized by XXH512 by default
...
backport fix https://github.com/Cyan4973/xxHash/pull/924 from libxxhash
2024-03-07 16:43:13 -08:00
Yann Collet
2abe8d63e0
fix LLU->ULL
...
LLU is a correct prefix according to C99 & C11 standards (but not C90).
However, older versions of Visual Studio do not work with it.
Replace by ULL, which doesn't have this issue.
Fixes https://github.com/facebook/zstd/issues/3647
2024-03-04 00:16:01 -08:00
Yann Collet
4fb0a77314
update -V documentation
...
to answer #3727 comment
2024-03-03 23:24:40 -08:00
Yann Collet
bb4f85db42
fix version of actions/checkout
2024-03-03 18:47:08 -08:00
Yann Collet
8d31e8ec42
sizeBlockSequences() also tracks uncompressed size
...
and only defines a sub-block boundary when
it believes that it is compressible.
It's effectively an optimization,
avoiding a compression cycle to reach the same conclusion.
2024-02-26 14:31:12 -08:00
Yann Collet
d23b95d21d
minor refactor for clarity
...
since we can ensure that nbSubBlocks>0
2024-02-26 14:06:34 -08:00
Yann Collet
86db60752d
optimization: bail out faster in presence of incompressible data
2024-02-26 13:27:59 -08:00
Yann Collet
ef82b214ad
nit: comment indentation
...
as reported by @terrelln
2024-02-26 13:23:59 -08:00
Yann Collet
aa8592c532
minor: reformulate nbSubBlocks assignment
2024-02-26 13:21:14 -08:00
Yann Collet
e0412c2062
fix extraneous semicolon ';'
...
as reported by @terrelln
2024-02-26 12:26:54 -08:00
Yann Collet
1fafd0c4ae
fix minor visual static analyzer warning
...
it's a false positive,
but change the code nonetheless to make it more obvious to the static analyzer.
2024-02-25 19:45:32 -08:00
Yann Collet
038a8a906b
targetCBlockSize: modified splitting strategy to generate blocks of more regular size
...
notably avoiding to feature a larger first block
2024-02-25 17:39:29 -08:00
Yann Collet
4d2bf7f0f2
removed sprintf usage from zstdcli.c
...
some static analyzers flag this standard C90 function as unsafe.
2024-02-24 23:03:40 -08:00
Yann Collet
f8372191f5
reduced minimum compressed block size
...
with the intention to match the transport layer size,
such as Ethernet and 4G mobile networks.
2024-02-24 01:59:16 -08:00
Yann Collet
f77f634d41
update API documentation
2024-02-24 01:28:17 -08:00
Yann Collet
4b51526412
fix partial block uncompressed
2024-02-24 01:24:58 -08:00
Yann Collet
6719794379
fixed some regressionTests
...
but not all
2024-02-23 18:48:29 -08:00
Yann Collet
0591e7eea1
minor: fix overly cautious conversion warning
2024-02-23 16:05:09 -08:00
Yann Collet
3b40100058
fix long sequences (> 64 KB)
2024-02-23 15:35:12 -08:00
Yann Collet
6b11fc436c
fix issue with incompressible sections
2024-02-23 14:53:56 -08:00
Yann Collet
cc4530924b
speed optimized version of targetCBlockSize
...
note that the size of individual compressed blocks will vary more wildly with this modification.
But it seems good enough for a first test, and fix the speed regression issue.
Further refinements can be attempted later.
2024-02-23 14:03:26 -08:00
Yann Collet
68a232c591
benchmark more can test targetCBlockSize
2024-02-23 13:13:03 -08:00
Yann Collet
b34517a440
fix cmake build
2024-02-20 20:20:40 -08:00