1
0
mirror of https://github.com/facebook/zstd.git synced 2025-10-31 08:37:43 +02:00

11384 Commits

Author SHA1 Message Date
Yann Collet
a25c1fc96f Merge pull request #4519 from facebook/dependabot/github_actions/actions/upload-artifact-5
Bump actions/upload-artifact from 4 to 5
2025-10-27 06:15:00 -08:00
dependabot[bot]
129769d04c Bump actions/upload-artifact from 4 to 5
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 4 to 5.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/v4...v5)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-version: '5'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-27 05:18:47 +00:00
Yann Collet
711e17da98 Merge pull request #4491 from facebook/cmake_root
[cmake] propose a root wrapper
2025-10-26 13:40:00 -08:00
Yann Collet
57d4949098 Merge pull request #4517 from Cyan4973/asyncio_revisit
Remove asyncio from the compression path
2025-10-26 13:39:25 -08:00
Yann Collet
7a3c940e7f syncio interface only enabled when compression is enabled 2025-10-26 09:48:45 -07:00
Yann Collet
41f2673acd changed name to syncIO for clarity 2025-10-25 11:23:16 -07:00
Yann Collet
ccadc33a59 minor: use init/destroy pair naming convention 2025-10-25 11:11:48 -07:00
Yann Collet
d1dd7e1481 removed asyncio completely for compression path
this does not provide speed benefits,
since most of the leverage happens internally within the library,
and can even become detrimental in certain scenario, due to complex and wasteful memory management.
At a minimum, it makes the logic simpler, easier to debug, at essentially the same performance.
2025-10-25 11:02:51 -07:00
Yann Collet
44cd3c8451 disable asyncio during compression
it's not helpful for performance, and can in some times be detrimental.
the synchronous mode is also much easier to follow and debug.
2025-10-25 00:50:55 -07:00
Yann Collet
4944d2c461 Merge pull request #4515 from cclauss/patch-1
Fix undefined names in automated_benchmarking.py
2025-10-23 08:57:19 -08:00
Christian Clauss
c72eea13bf Fix undefined names in automated_benchmarking.py
Fix variable name typos in automated_benchmarking.py

% `ruff check`
```
Error: tests/automated_benchmarking.py:237:21: F821 Undefined name `baseline_label`
Error: tests/automated_benchmarking.py:250:21: F821 Undefined name `baseline_label`
Error: tests/automated_benchmarking.py:318:55: F821 Undefined name `frequenc`
Error: Process completed with exit code 1.
```
% [`ruff rule F821`](https://docs.astral.sh/ruff/rules/undefined-name)
2025-10-23 18:22:44 +02:00
Yann Collet
442fa2f2d5 Merge pull request #4516 from Cyan4973/mingw_calloc_order
minor: fix mingw warnings: calloc argument order
2025-10-23 07:57:40 -08:00
Yann Collet
5539fcfb6a minor: fix mingw warnings: calloc argument order 2025-10-23 07:01:01 -07:00
Yann Collet
6e58e9a2c4 Merge pull request #4509 from arpadpanyik-arm/revert_branch_opt
AArch64: Revert previous branch optimization
2025-10-18 10:10:55 -07:00
Arpad Panyik
0dffae42e3 AArch64: Remove 32-bit code from ZSTD_decodeSequence
Remove the 32-bit code paths from the AArch64 only sections of
ZSTD_decodeSequence.
2025-10-08 18:59:24 +00:00
Arpad Panyik
33618c89e5 AArch64: Revert previous branch optimization
Revert a branch optimization that was based on an incorrect
assumption in the AArch64 part of ZSTD_decodeSequence. In extreme
cases the existing implementation could lead to data corruption.

Insert an UNLIKELY hint to guide the compilers toward generating more
efficient machine code.
2025-10-08 18:58:45 +00:00
Yann Collet
23dae4bf49 Merge pull request #4504 from rzikm/asm-conditional
Make ASM language conditional at CMake configure time
2025-10-06 23:39:28 -07:00
Radek Zikmund
f94a01de74 Enable ASM language during CMake configure time only when needed 2025-10-02 14:40:11 +02:00
Yann Collet
b8d6101fba Merge pull request #4502 from zijianli1234/dev
- Modify the GCC version used for CI testing of the RISCV architecture
2025-09-30 12:35:40 -07:00
ZijianLi
87cc127705 - Modify the GCC version used for CI testing of the RISCV architecture
- Fix a bug in the ZSTD_row_getRVVMask function
- Improve some performance for ZSTD_copy16()
2025-09-26 22:34:57 +08:00
Yann Collet
7758cc3e7a [cmake] add minimal build test
for CMakeLists.txt at root
2025-09-24 22:46:29 -07:00
Yann Collet
c9d3af9ed0 [cmake] root wrapper
allow the existence of a `CMakeLists.txt` file at root,
for easier integration with other projects expecting this file at root.

Existing integration point, within `build/cmake/`, still works as expected.
2025-09-24 22:46:29 -07:00
Yann Collet
f42dee27b6 Merge pull request #4500 from facebook/legacy01_init
fix minor initialization warnings
2025-09-24 22:46:05 -07:00
Yann Collet
17888b3fbe fix minor initialization warnings 2025-09-24 22:08:03 -07:00
Yann Collet
a8f732e50f Merge pull request #4498 from facebook/contentSize_doc
update documentation of ZSTD_getFrameContentSize()
2025-09-23 23:59:34 -07:00
Yann Collet
c15fa3cd40 update documentation of ZSTD_getFrameContentSize()
hopefully answering #4495
2025-09-23 23:17:11 -07:00
Yann Collet
89d685e42d Merge pull request #4497 from facebook/legacy_fix
fix minor warning in legacy decoders
2025-09-23 12:55:50 -08:00
Yann Collet
4c1f86c777 fix minor warning in legacy decoders
for mingw + clang CI test
2025-09-23 13:01:38 -07:00
Yann Collet
ee9b5f4371 Merge pull request #4490 from facebook/doc_profiling_vs
minor: add profiling notes for Visual Studio
2025-09-20 22:30:40 -08:00
Yann Collet
0c6d32df9a added profiling notes for Visual Studio 2025-09-20 22:13:49 -07:00
Yann Collet
f9b0c4fd0d Merge pull request #4489 from facebook/doc_install
Added documentation details for Makefile installation and pkg-config.
2025-09-20 21:04:35 -08:00
Yann Collet
be072c708e Added documentation details for Makefile installation and pkg-config. 2025-09-20 16:33:41 +00:00
Yann Collet
085cc9319a Merge pull request #4486 from rlefko/fix-pthread-init-memleak
Fix memory leak in pthread init functions on failure
2025-09-19 21:42:21 -08:00
Yann Collet
e6e5a95c15 Merge pull request #4487 from neiljohari/adhoc/dictionary-file-counting
make DiB_fileStats skip invalid files (fileSize <= 0) to prevent negative totals and bogus allocation
2025-09-19 21:42:06 -08:00
Yann Collet
d190b38863 Merge pull request #4481 from w1m024/support-rvv-getmask
add RVV optimization for ZSTD_row_getMatchMask
2025-09-16 13:55:11 -08:00
Neil Johari
236e44f00f Remove debug logging 2025-09-16 00:03:08 -07:00
Neil Johari
85f4a7e84e Fix bug 2025-09-16 00:02:04 -07:00
Neil Johari
96fdb9bd16 Add debug logging and simple repro 2025-09-15 23:58:45 -07:00
Ryan Lefkowitz
c59812e558 🔧 Fix memory leak in pthread init functions on failure
When pthread_mutex_init() or pthread_cond_init() fails in the debug
implementation (DEBUGLEVEL >= 1), the previously allocated memory was
not freed, causing a memory leak.

This fix ensures that allocated memory is properly freed when pthread
initialization functions fail, preventing resource leaks in error
conditions.

The issue affects:
- ZSTD_pthread_mutex_init() at lib/common/threading.c:146
- ZSTD_pthread_cond_init() at lib/common/threading.c:167

This is particularly important for long-running applications or
scenarios with resource constraints where pthread initialization
might fail due to system limits.
2025-09-15 18:20:01 -04:00
w1m024
fb7a86f20f Refactor ZSTD_row_getMatchMask for RVV optimization
Performance (vs. SWAR)
- 16-byte data: 5.87x speedup
- 32-byte data: 9.63x speedup
- 64-byte data: 17.98x speedup

Co-authored-by: gong-flying <gongxiaofei24@iscas.ac.cn>
2025-09-11 20:45:54 +00:00
w1m024
c9d2cbd5ba add RVV optimization for ZSTD_row_getMatchMask
Co-authored-by: gong-flying <gongxiaofei24@iscas.ac.cn>
2025-09-09 06:20:55 +00:00
Yann Collet
98d2b90e82 Merge pull request #4480 from facebook/dependabot/github_actions/github/codeql-action-3.30.1
Bump github/codeql-action from 3.29.4 to 3.30.1
2025-09-08 07:52:31 -07:00
Yann Collet
683c91fca8 Merge pull request #4479 from facebook/dependabot/github_actions/msys2/setup-msys2-2.29.0
Bump msys2/setup-msys2 from 2.28.0 to 2.29.0
2025-09-08 07:51:17 -07:00
dependabot[bot]
ef4bab9079 Bump github/codeql-action from 3.29.4 to 3.30.1
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.29.4 to 3.30.1.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](4e828ff8d4...f1f6e5f6af)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-08 05:06:48 +00:00
dependabot[bot]
d3536643a9 Bump msys2/setup-msys2 from 2.28.0 to 2.29.0
Bumps [msys2/setup-msys2](https://github.com/msys2/setup-msys2) from 2.28.0 to 2.29.0.
- [Release notes](https://github.com/msys2/setup-msys2/releases)
- [Changelog](https://github.com/msys2/setup-msys2/blob/main/CHANGELOG.md)
- [Commits](40677d36a5...fb197b72ce)

---
updated-dependencies:
- dependency-name: msys2/setup-msys2
  dependency-version: 2.29.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-08 05:06:40 +00:00
Yann Collet
3580aa28e6 Merge pull request #4472 from bgilbert/override_dependency
meson: Call `meson.override_dependency()` if Meson is new enough
2025-09-05 15:32:16 -07:00
Yann Collet
6936bc84e7 Merge pull request #4475 from Cyan4973/default_nbThreads
Default nb threads
2025-09-02 17:19:17 -07:00
Yann Collet
249e4a07d5 fixed minor unused variable warning
in certain compilation modes
2025-09-02 16:36:44 -07:00
Yann Collet
725a152c7b benchmark uses 1 thread by default 2025-09-02 16:29:14 -07:00
Yann Collet
c41fc1aa01 only display nbThread Msg in nbThreads > 1 2025-09-02 16:05:35 -07:00