]> git.ipfire.org Git - thirdparty/zstd.git/log
thirdparty/zstd.git
12 months agoupdated compression results
Yann Collet [Tue, 22 Oct 2024 23:33:55 +0000 (16:33 -0700)] 
updated compression results

due to integration of `sample5` strategy, leading to better compression ratios on a range of levels

12 months agofixes static state allocation check
Yann Collet [Tue, 22 Oct 2024 23:25:44 +0000 (16:25 -0700)] 
fixes static state allocation check

detected by @felixhandte

12 months agorewrote ZSTD_cwksp_initialAllocStart() to be easier to read
Yann Collet [Tue, 22 Oct 2024 23:22:17 +0000 (16:22 -0700)] 
rewrote ZSTD_cwksp_initialAllocStart() to be easier to read

following a discussion with @felixhandte

12 months agorewrite penalty update
Yann Collet [Tue, 22 Oct 2024 23:06:07 +0000 (16:06 -0700)] 
rewrite penalty update

suggested by @terrelln

12 months agochanged loop exit condition so that there is no need to assert() within the loop.
Yann Collet [Tue, 22 Oct 2024 23:03:19 +0000 (16:03 -0700)] 
changed loop exit condition so that there is no need to assert() within the loop.

12 months agorenamed: FingerPrint => Fingerprint
Yann Collet [Tue, 22 Oct 2024 22:32:11 +0000 (15:32 -0700)] 
renamed: FingerPrint => Fingerprint

suggested by @terrelln

12 months agoconservatively estimate over-splitting in presence of incompressible loss
Yann Collet [Tue, 22 Oct 2024 22:25:45 +0000 (15:25 -0700)] 
conservatively estimate over-splitting in presence of incompressible loss

ensure data can never be expanded by more than 3 bytes per full block.

12 months agoensure `lastBlock` is correctly determined
Yann Collet [Tue, 22 Oct 2024 22:19:06 +0000 (15:19 -0700)] 
ensure `lastBlock` is correctly determined

reported by @terrelln

12 months agomade ZSTD_isPower2() an inline function
Yann Collet [Tue, 22 Oct 2024 22:12:46 +0000 (15:12 -0700)] 
made ZSTD_isPower2() an inline function

12 months agoadded a faster block splitter variant
Yann Collet [Mon, 21 Oct 2024 21:56:43 +0000 (14:56 -0700)] 
added a faster block splitter variant

that samples 1 in 5 positions.

This variant is fast enough for lazy2 and btlazy2,
but it's less good in combination with post-splitter at higher levels (>= btopt).

12 months agominor split optimization
Yann Collet [Mon, 21 Oct 2024 00:16:17 +0000 (17:16 -0700)] 
minor split optimization

let's fill the initial stats directly into target fingerprint

12 months agoupdated regression test results
Yann Collet [Mon, 21 Oct 2024 00:07:43 +0000 (17:07 -0700)] 
updated regression test results

12 months agofixed workspace alignment on non 64-bit systems
Yann Collet [Fri, 18 Oct 2024 23:47:41 +0000 (16:47 -0700)] 
fixed workspace alignment on non 64-bit systems

12 months agosplitter workspace is now provided by ZSTD_CCtx*
Yann Collet [Fri, 18 Oct 2024 23:00:36 +0000 (16:00 -0700)] 
splitter workspace is now provided by ZSTD_CCtx*

12 months agofix alignment test
Yann Collet [Fri, 18 Oct 2024 18:20:54 +0000 (11:20 -0700)] 
fix alignment test

for non 64-bit systems

12 months agofixed minor conversion warnings on Visual
Yann Collet [Fri, 18 Oct 2024 18:16:49 +0000 (11:16 -0700)] 
fixed minor conversion warnings on Visual

12 months agoZSTD_splitBlock_4k() uses externally provided workspace
Yann Collet [Fri, 18 Oct 2024 01:40:47 +0000 (18:40 -0700)] 
ZSTD_splitBlock_4k() uses externally provided workspace

ideally, this workspace would be provided from the ZSTD_CCtx* state

12 months agoreplaced uasan32 test by asan32 test
Yann Collet [Fri, 18 Oct 2024 00:05:17 +0000 (17:05 -0700)] 
replaced uasan32 test by asan32 test

12 months agofixing minor formatting issue in 32-bit mode with logs enabled
Yann Collet [Thu, 17 Oct 2024 23:23:05 +0000 (16:23 -0700)] 
fixing minor formatting issue in 32-bit mode with logs enabled

12 months agofixed VS2010 solution
Yann Collet [Thu, 17 Oct 2024 22:44:51 +0000 (15:44 -0700)] 
fixed VS2010 solution

12 months agonew Makefile target mesonbuild
Yann Collet [Thu, 17 Oct 2024 22:42:02 +0000 (15:42 -0700)] 
new Makefile target mesonbuild

for easier local testing

12 months agofixed meson build
Yann Collet [Thu, 17 Oct 2024 22:35:56 +0000 (15:35 -0700)] 
fixed meson build

12 months agofixed zstreamtest
Yann Collet [Thu, 17 Oct 2024 22:16:57 +0000 (15:16 -0700)] 
fixed zstreamtest

12 months agofixed c90 comment style
Yann Collet [Thu, 17 Oct 2024 21:52:49 +0000 (14:52 -0700)] 
fixed c90 comment style

12 months agofix assert
Yann Collet [Thu, 17 Oct 2024 21:50:46 +0000 (14:50 -0700)] 
fix assert

12 months agoonly split full blocks
Yann Collet [Thu, 17 Oct 2024 21:46:47 +0000 (14:46 -0700)] 
only split full blocks

short term simplification

12 months agofixed single-library build
Yann Collet [Thu, 17 Oct 2024 21:41:26 +0000 (14:41 -0700)] 
fixed single-library build

12 months agofixed kernel build
Yann Collet [Thu, 17 Oct 2024 20:26:57 +0000 (13:26 -0700)] 
fixed kernel build

12 months agofixed RLE detection test
Yann Collet [Thu, 17 Oct 2024 20:21:55 +0000 (13:21 -0700)] 
fixed RLE detection test

12 months agofix overlap write scenario in presence of incompressible data
Yann Collet [Thu, 17 Oct 2024 19:55:08 +0000 (12:55 -0700)] 
fix overlap write scenario in presence of incompressible data

12 months agomore ZSTD_memset() to apply
Yann Collet [Tue, 3 Sep 2024 23:59:06 +0000 (16:59 -0700)] 
more ZSTD_memset() to apply

12 months agominor C++-ism
Yann Collet [Tue, 3 Sep 2024 23:54:36 +0000 (16:54 -0700)] 
minor C++-ism

though I really wonder if this is a property worth maintaining.

12 months agouse ZSTD_memset()
Yann Collet [Tue, 3 Sep 2024 23:52:10 +0000 (16:52 -0700)] 
use ZSTD_memset()

for better portability on Linux kernel

12 months agodo not use `new` as variable name
Yann Collet [Tue, 3 Sep 2024 23:48:52 +0000 (16:48 -0700)] 
do not use `new` as variable name

12 months agofixed strict C90 semantic
Yann Collet [Tue, 3 Sep 2024 23:44:30 +0000 (16:44 -0700)] 
fixed strict C90 semantic

12 months agoXP: add a pre-splitter
Yann Collet [Tue, 3 Sep 2024 21:35:29 +0000 (14:35 -0700)] 
XP: add a pre-splitter

instead of ingesting only full blocks, make an analysis of data, and infer where to split.

12 months agoMerge pull request #4174 from facebook/bench_loadOnce
Yann Collet [Wed, 23 Oct 2024 18:14:05 +0000 (11:14 -0700)] 
Merge pull request #4174 from facebook/bench_loadOnce

Modify benchmark to load sources only once

12 months agoimprove man page on benchmark mode 4174/head
Yann Collet [Wed, 23 Oct 2024 06:53:56 +0000 (23:53 -0700)] 
improve man page on benchmark mode

update the man page in troff format,
and the README with latest `--help` content and complementary details about benchmark mode.

also: display level 0 when doing decompression benchmark

12 months agoModify benchmark to only load sources once
Yann Collet [Tue, 22 Oct 2024 09:18:48 +0000 (02:18 -0700)] 
Modify benchmark to only load sources once

After a regrettable update,
the benchmark module ended up reloading sources for every compression level.

While the delay itself is likely torelable,
the main issue is that the `--quiet` mode now also displays a loading summary between each compression line.
This wasn't the original intention, which is to produce a compact view of all compressions.

This is fixed in this version,
where sources are loaded only once, for all compression levels,
and loading summary is only displayed once.

12 months agoMerge pull request #4171 from facebook/lvl3_ratio+
Yann Collet [Thu, 17 Oct 2024 18:39:41 +0000 (11:39 -0700)] 
Merge pull request #4171 from facebook/lvl3_ratio+

Improve compression ratio of levels 3 & 4

12 months agoupdated regression tests results 4171/head
Yann Collet [Thu, 17 Oct 2024 17:50:28 +0000 (10:50 -0700)] 
updated regression tests results

12 months agoenable regression tests at pull request time
Yann Collet [Thu, 17 Oct 2024 16:45:16 +0000 (09:45 -0700)] 
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.

12 months agorewrite code in the manner suggested by @terrelln
Yann Collet [Thu, 17 Oct 2024 16:36:56 +0000 (09:36 -0700)] 
rewrite code in the manner suggested by @terrelln

12 months agofix test
Yann Collet [Wed, 16 Oct 2024 19:55:52 +0000 (12:55 -0700)] 
fix test

a margin of 4 is insufficient to guarantee compression success.

12 months agoslightly improved compression ratio at levels 3 & 4
Yann Collet [Wed, 16 Oct 2024 19:13:57 +0000 (12:13 -0700)] 
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%.

12 months agoMerge pull request #4170 from facebook/dict_cSpeed
Yann Collet [Thu, 17 Oct 2024 00:36:49 +0000 (17:36 -0700)] 
Merge pull request #4170 from facebook/dict_cSpeed

Improve dictionary compression speed

12 months agofix test 4170/head
Yann Collet [Wed, 16 Oct 2024 01:44:40 +0000 (18:44 -0700)] 
fix test

12 months agominor improvement to level 3 dictionary compression ratio
Yann Collet [Wed, 16 Oct 2024 00:58:33 +0000 (17:58 -0700)] 
minor improvement to level 3 dictionary compression ratio

12 months agosmall dictionary compression speed improvement
Yann Collet [Wed, 16 Oct 2024 00:46:01 +0000 (17:46 -0700)] 
small dictionary compression speed improvement

not as good as small-blocks improvement,
but generally positive.

12 months agoMerge pull request #4167 from facebook/ci_m32test_faster
Yann Collet [Sat, 12 Oct 2024 08:57:55 +0000 (01:57 -0700)] 
Merge pull request #4167 from facebook/ci_m32test_faster

attempt to make 32-bit tests faster

12 months agoattempt parallel test running with -j 4167/head
Yann Collet [Sat, 12 Oct 2024 01:01:28 +0000 (18:01 -0700)] 
attempt parallel test running with -j

12 months agomeasure if -O2 makes the test complete faster
Yann Collet [Sat, 12 Oct 2024 00:30:55 +0000 (17:30 -0700)] 
measure if -O2 makes the test complete faster

12 months agoattempt to make 32-bit tests faster
Yann Collet [Fri, 11 Oct 2024 23:24:25 +0000 (16:24 -0700)] 
attempt to make 32-bit tests faster

this is the longest CI test, reaching ~40mn on last PR

12 months agoMerge pull request #4165 from facebook/cspeed_cmov
Yann Collet [Fri, 11 Oct 2024 23:20:19 +0000 (16:20 -0700)] 
Merge pull request #4165 from facebook/cspeed_cmov

Improve compression speed on small blocks

12 months agorename variable name 4165/head
Yann Collet [Fri, 11 Oct 2024 22:38:12 +0000 (15:38 -0700)] 
rename variable name

findMatch -> matchFound
since it's a test, as opposed to an active search operation.
suggested by @terrelln

12 months agofixed parameter ordering in `dfast`
Yann Collet [Fri, 11 Oct 2024 22:36:15 +0000 (15:36 -0700)] 
fixed parameter ordering in `dfast`

noticed by @terrelln

12 months agoMerge pull request #4164 from facebook/spec_043
Yann Collet [Thu, 10 Oct 2024 23:56:02 +0000 (16:56 -0700)] 
Merge pull request #4164 from facebook/spec_043

spec update: huffman prefix code paragraph

12 months agominor: better variable naming
Yann Collet [Thu, 10 Oct 2024 23:07:20 +0000 (16:07 -0700)] 
minor: better variable naming

12 months agoadded ascending order example 4164/head
Yann Collet [Wed, 9 Oct 2024 08:06:24 +0000 (01:06 -0700)] 
added ascending order example

12 months agomake __asm__ a __GNUC__ specific
Yann Collet [Tue, 8 Oct 2024 23:38:35 +0000 (16:38 -0700)] 
make __asm__ a __GNUC__ specific

12 months agostore dummy bytes within ZSTD_match4Found_cmov()
Yann Collet [Tue, 8 Oct 2024 23:02:54 +0000 (16:02 -0700)] 
store dummy bytes within ZSTD_match4Found_cmov()

feels more logical, better contained

12 months agointroduce memory barrier to force test order
Yann Collet [Tue, 8 Oct 2024 22:54:48 +0000 (15:54 -0700)] 
introduce memory barrier to force test order

suggested by @terrelln

12 months agomade search strategy switchable
Yann Collet [Tue, 8 Oct 2024 18:43:07 +0000 (11:43 -0700)] 
made search strategy switchable

between cmov and branch
and use a simple heuristic based on wlog to select between them.

note: performance is not good on clang (yet)

12 months agorefactor search into an inline function
Yann Collet [Tue, 8 Oct 2024 18:10:48 +0000 (11:10 -0700)] 
refactor search into an inline function

for easier swapping with a parameter

12 months agorefactor huffman prefix code paragraph
Yann Collet [Tue, 8 Oct 2024 00:15:07 +0000 (17:15 -0700)] 
refactor huffman prefix code paragraph

12 months agominor refactor zstd_fast
Yann Collet [Mon, 7 Oct 2024 18:22:40 +0000 (11:22 -0700)] 
minor refactor zstd_fast

make hot variables more local

12 months agoMerge pull request #4160 from facebook/fix_nightly
Yann Collet [Fri, 4 Oct 2024 04:02:39 +0000 (21:02 -0700)] 
Merge pull request #4160 from facebook/fix_nightly

fix dependency for nightly github actions tests

12 months agofix dependency for nightly github actions tests 4160/head
Yann Collet [Thu, 3 Oct 2024 22:10:16 +0000 (15:10 -0700)] 
fix dependency for nightly github actions tests

12 months agoMerge pull request #4159 from facebook/spec_refactor_fse
Yann Collet [Thu, 3 Oct 2024 21:54:16 +0000 (14:54 -0700)] 
Merge pull request #4159 from facebook/spec_refactor_fse

specification update

12 months agorefactor documentation of the FSE decoding table build process 4159/head
Yann Collet [Thu, 3 Oct 2024 05:57:36 +0000 (22:57 -0700)] 
refactor documentation of the FSE decoding table build process

12 months agoMerge pull request #4153 from artem/fix-meson-includes
Yann Collet [Wed, 2 Oct 2024 23:51:44 +0000 (16:51 -0700)] 
Merge pull request #4153 from artem/fix-meson-includes

meson: Do not export private headers in libzstd_dep to avoid name clash

12 months agoMerge pull request #4156 from facebook/rm_circleci
Yann Collet [Wed, 2 Oct 2024 23:51:15 +0000 (16:51 -0700)] 
Merge pull request #4156 from facebook/rm_circleci

removing nightly tests built on circleci

12 months agoMerge pull request #4157 from facebook/fix_result_c
Yann Collet [Wed, 2 Oct 2024 23:50:45 +0000 (16:50 -0700)] 
Merge pull request #4157 from facebook/fix_result_c

fix incorrect pointer manipulation

12 months agoMerge pull request #4158 from facebook/benchzstd_fclose
Yann Collet [Wed, 2 Oct 2024 23:49:43 +0000 (16:49 -0700)] 
Merge pull request #4158 from facebook/benchzstd_fclose

fix missing fclose()

12 months agofix missing fclose() 4158/head
Yann Collet [Tue, 1 Oct 2024 16:52:45 +0000 (09:52 -0700)] 
fix missing fclose()

fix #4151

12 months agofix incorrect pointer manipulation 4157/head
Yann Collet [Tue, 1 Oct 2024 16:25:26 +0000 (09:25 -0700)] 
fix incorrect pointer manipulation

fix #4155

12 months agoremoving nightly tests built on circleci 4156/head
Yann Collet [Tue, 1 Oct 2024 04:38:29 +0000 (21:38 -0700)] 
removing nightly tests built on circleci

12 months agoMerge pull request #4154 from dearblue/freebsd-14.1
Yann Collet [Mon, 30 Sep 2024 18:54:32 +0000 (11:54 -0700)] 
Merge pull request #4154 from dearblue/freebsd-14.1

Update FreeBSD VM image to 14.1

12 months agomeson: Fix contrib and tests build 4153/head
Artem Labazov [Mon, 30 Sep 2024 15:05:57 +0000 (18:05 +0300)] 
meson: Fix contrib and tests build

12 months agomeson: Do not export private headers in libzstd_dep to avoid name clash
Artem Labazov [Mon, 30 Sep 2024 14:00:42 +0000 (17:00 +0300)] 
meson: Do not export private headers in libzstd_dep to avoid name clash

This way libzstd_dep does not override, for instance, <xxhash.h>

12 months agoUpdate FreeBSD VM image to 14.1 4154/head
dearblue [Mon, 30 Sep 2024 13:45:17 +0000 (22:45 +0900)] 
Update FreeBSD VM image to 14.1

FreeBSD 14.0 will reach the end of life on 2024-09-30.
The updated 14.1 is scheduled to end-of-life on 2025-03-31.

ref. https://www.freebsd.org/releases/14.2R/schedule/

13 months agoMerge pull request #4146 from facebook/dictBench_Doc
Yann Collet [Fri, 27 Sep 2024 20:44:42 +0000 (13:44 -0700)] 
Merge pull request #4146 from facebook/dictBench_Doc

update documentation: specify that Dictionary can be used for benchmark

13 months agoMerge pull request #4013 from elasota/spec-clarify-offset-code-overflow
Yann Collet [Fri, 27 Sep 2024 20:42:32 +0000 (13:42 -0700)] 
Merge pull request #4013 from elasota/spec-clarify-offset-code-overflow

Specify that decoders may reject non-zero probabilities for larger offset codes than implementation supports

13 months agoupdate documentation to specify that Dictionary can be used for benchmark 4146/head
Yann Collet [Wed, 25 Sep 2024 23:56:01 +0000 (16:56 -0700)] 
update documentation to specify that Dictionary can be used for benchmark

fix #4139

13 months agoIncluded suggestion from @neheb
inventor500 [Wed, 25 Sep 2024 15:21:20 +0000 (10:21 -0500)] 
Included suggestion from @neheb

13 months agoFixed warning when compiling pzstd with CPPFLAGS=-Wunused-result and CXXFLAGS=-std...
inventor500 [Sat, 31 Aug 2024 12:23:51 +0000 (07:23 -0500)] 
Fixed warning when compiling pzstd with CPPFLAGS=-Wunused-result and CXXFLAGS=-std=c++17

13 months agoMerge pull request #4119 from xionghul/dev
Yann Collet [Wed, 25 Sep 2024 00:55:43 +0000 (17:55 -0700)] 
Merge pull request #4119 from xionghul/dev

Fix zstd-pgo run error

13 months agoMerge pull request #4143 from facebook/fix_dictsizemin_dic
Yann Collet [Wed, 25 Sep 2024 00:55:25 +0000 (17:55 -0700)] 
Merge pull request #4143 from facebook/fix_dictsizemin_dic

fix doc nit: ZDICT_DICTSIZE_MIN

13 months agoOptimize compression by avoiding unpredictable branches 4144/head
Ilya Tokar [Wed, 18 Sep 2024 21:36:37 +0000 (17:36 -0400)] 
Optimize compression by avoiding unpredictable branches

Avoid unpredictable branch. Use conditional move to generate the address
that is guaranteed to be safe and compare unconditionally.
Instead of

if (idx < limit && x[idx] == val ) // mispredicted idx < limit branch

Do

addr = cmov(safe,x+idx)
if (*addr == val && idx < limit) // almost always false so well predicted

Using microbenchmarks from https://github.com/google/fleetbench,
I get about ~10% speed-up:

name                                                                                          old cpu/op   new cpu/op    delta
BM_ZSTD_COMPRESS_Fleet/compression_level:-7/window_log:15                                     1.46ns ± 3%   1.31ns ± 7%   -9.88%  (p=0.000 n=35+38)
BM_ZSTD_COMPRESS_Fleet/compression_level:-7/window_log:16                                     1.41ns ± 3%   1.28ns ± 3%   -9.56%  (p=0.000 n=36+39)
BM_ZSTD_COMPRESS_Fleet/compression_level:-5/window_log:15                                     1.61ns ± 1%   1.43ns ± 3%  -10.70%  (p=0.000 n=30+39)
BM_ZSTD_COMPRESS_Fleet/compression_level:-5/window_log:16                                     1.54ns ± 2%   1.39ns ± 3%   -9.21%  (p=0.000 n=37+39)
BM_ZSTD_COMPRESS_Fleet/compression_level:-3/window_log:15                                     1.82ns ± 2%   1.61ns ± 3%  -11.31%  (p=0.000 n=37+40)
BM_ZSTD_COMPRESS_Fleet/compression_level:-3/window_log:16                                     1.73ns ± 3%   1.56ns ± 3%   -9.50%  (p=0.000 n=38+39)
BM_ZSTD_COMPRESS_Fleet/compression_level:-1/window_log:15                                     2.12ns ± 2%   1.79ns ± 3%  -15.55%  (p=0.000 n=34+39)
BM_ZSTD_COMPRESS_Fleet/compression_level:-1/window_log:16                                     1.99ns ± 3%   1.72ns ± 3%  -13.70%  (p=0.000 n=38+38)
BM_ZSTD_COMPRESS_Fleet/compression_level:0/window_log:15                                      3.22ns ± 3%   2.94ns ± 3%   -8.67%  (p=0.000 n=38+40)
BM_ZSTD_COMPRESS_Fleet/compression_level:0/window_log:16                                      3.19ns ± 4%   2.86ns ± 4%  -10.55%  (p=0.000 n=40+38)
BM_ZSTD_COMPRESS_Fleet/compression_level:1/window_log:15                                      2.60ns ± 3%   2.22ns ± 3%  -14.53%  (p=0.000 n=40+39)
BM_ZSTD_COMPRESS_Fleet/compression_level:1/window_log:16                                      2.46ns ± 3%   2.13ns ± 2%  -13.67%  (p=0.000 n=39+36)
BM_ZSTD_COMPRESS_Fleet/compression_level:2/window_log:15                                      2.69ns ± 3%   2.46ns ± 3%   -8.63%  (p=0.000 n=37+39)
BM_ZSTD_COMPRESS_Fleet/compression_level:2/window_log:16                                      2.63ns ± 3%   2.36ns ± 3%  -10.47%  (p=0.000 n=40+40)
BM_ZSTD_COMPRESS_Fleet/compression_level:3/window_log:15                                      3.20ns ± 2%   2.95ns ± 3%   -7.94%  (p=0.000 n=35+40)
BM_ZSTD_COMPRESS_Fleet/compression_level:3/window_log:16                                      3.20ns ± 4%   2.87ns ± 4%  -10.33%  (p=0.000 n=40+40)

I've also measured the impact on internal workloads and saw similar
~10% improvement in performance, measured by cpu usage/byte of data.

13 months agofix doc nit: ZDICT_DICTSIZE_MIN 4143/head
Yann Collet [Thu, 19 Sep 2024 16:50:30 +0000 (09:50 -0700)] 
fix doc nit: ZDICT_DICTSIZE_MIN

fix #4142

14 months agoMerge pull request #4129 from facebook/mitigate_32bit
Yann Collet [Thu, 22 Aug 2024 18:00:50 +0000 (11:00 -0700)] 
Merge pull request #4129 from facebook/mitigate_32bit

Limit range of operations on Indexes in 32-bit mode

14 months agoLimit range of operations on Indexes in 32-bit mode 4129/head
Yann Collet [Wed, 21 Aug 2024 17:53:25 +0000 (10:53 -0700)] 
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.

14 months agoMerge pull request #4128 from facebook/dependabot/github_actions/github/codeql-action...
Yann Collet [Mon, 19 Aug 2024 20:54:06 +0000 (13:54 -0700)] 
Merge pull request #4128 from facebook/dependabot/github_actions/github/codeql-action-3.26.2

Bump github/codeql-action from 3.25.1 to 3.26.2

14 months agoBump github/codeql-action from 3.25.1 to 3.26.2 4128/head
dependabot[bot] [Mon, 19 Aug 2024 05:37:33 +0000 (05:37 +0000)] 
Bump github/codeql-action from 3.25.1 to 3.26.2

Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.25.1 to 3.26.2.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/c7f9125735019aa87cfc361530512d50ea439c71...429e1977040da7a23b6822b13c129cd1ba93dbb2)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
14 months agoMerge pull request #4122 from facebook/dependabot/github_actions/actions/setup-java-4
Yann Collet [Mon, 12 Aug 2024 06:07:43 +0000 (23:07 -0700)] 
Merge pull request #4122 from facebook/dependabot/github_actions/actions/setup-java-4

Bump actions/setup-java from 3 to 4

14 months agoBump actions/setup-java from 3 to 4 4122/head
dependabot[bot] [Mon, 12 Aug 2024 05:16:05 +0000 (05:16 +0000)] 
Bump actions/setup-java from 3 to 4

Bumps [actions/setup-java](https://github.com/actions/setup-java) from 3 to 4.
- [Release notes](https://github.com/actions/setup-java/releases)
- [Commits](https://github.com/actions/setup-java/compare/v3...v4)

---
updated-dependencies:
- dependency-name: actions/setup-java
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
14 months agoMerge pull request #4115 from Adenilson/leak01
Yann Collet [Fri, 9 Aug 2024 21:09:17 +0000 (14:09 -0700)] 
Merge pull request #4115 from Adenilson/leak01

[zstd][leak] Avoid memory leak on early return of ZSTD_generateSequence

14 months agoMerge pull request #4114 from Adenilson/trace01
Yann Collet [Fri, 9 Aug 2024 21:08:57 +0000 (14:08 -0700)] 
Merge pull request #4114 from Adenilson/trace01

[riscv] Enable support for weak symbols

14 months agoMerge pull request #4113 from facebook/fix4110
Yann Collet [Fri, 9 Aug 2024 00:19:08 +0000 (17:19 -0700)] 
Merge pull request #4113 from facebook/fix4110

formatString_u() can display numbers > 100

14 months agoFix zstd-pgo run error 4119/head
Xionghu Luo [Thu, 8 Aug 2024 07:13:27 +0000 (15:13 +0800)] 
Fix zstd-pgo run error

The -Werror=missing-profile caused thread/zlib/lzma/lz4 detection failure
when build with profile-use, thus caused ZSTD_MULTITHREAD etc. is not
defined for profile-use, then there will be many profile mismatch information
in output and the final binary reports run error sometimes as below:

Error : ZSTD_CCtx_setParameter(ctx, ZSTD_c_nbWorkers, adv->nbWorkers) failed : Unsupported parameter

Signed-off-by: Xionghu Luo <xionghuluo@tencent.com>