Commit graph

165 commits

Author SHA1 Message Date
mattsu
a452d86a3a
Improve sort buffer sizing heuristics and honor explicit --buffer-size (#8833)
Some checks are pending
CICD / MinRustV (push) Waiting to run
CICD / Separate Builds (push) Waiting to run
CICD / Dependencies (push) Waiting to run
CICD / Build/Makefile (push) Blocked by required conditions
CICD / Build/stable (push) Blocked by required conditions
CICD / Build/nightly (push) Blocked by required conditions
CICD / Binary sizes (push) Blocked by required conditions
CICD / Build (push) Blocked by required conditions
CICD / Tests/Toybox test suite (push) Blocked by required conditions
CICD / Code Coverage (push) Waiting to run
CICD / Safe Traversal Security Check (push) Blocked by required conditions
CICD / Test all features separately (push) Blocked by required conditions
CICD / Build/SELinux (push) Blocked by required conditions
CICD / Build/SELinux-Stubs (Non-Linux) (push) Blocked by required conditions
GnuTests / Run GNU tests (native) (push) Waiting to run
GnuTests / Run GNU tests (SELinux) (push) Waiting to run
CICD / Tests/BusyBox test suite (push) Blocked by required conditions
Android / Test builds (push) Waiting to run
GnuTests / Aggregate GNU test results (push) Blocked by required conditions
Benchmarks / Run benchmarks (CodSpeed) (push) Waiting to run
Code Quality / Style/Python (push) Waiting to run
Code Quality / Style/format (push) Waiting to run
Code Quality / Style/lint (push) Waiting to run
Code Quality / Style/spelling (push) Waiting to run
Code Quality / Style/toml (push) Waiting to run
Code Quality / Pre-commit hooks (push) Waiting to run
Devcontainer / Verify devcontainer (push) Waiting to run
FreeBSD / Style and Lint (push) Waiting to run
FreeBSD / Tests (push) Waiting to run
WSL2 / Test (push) Waiting to run
* feat(sort): add adaptive buffer sizing and fast paths

- move heuristics into a new buffer_hint module and default to automatic sizing when the buffer flag is absent

- tune chunk and external sort buffers to avoid runaway allocations

- add fast lexicographic and ASCII case-insensitive comparisons for the default mode

- refresh spell-check and dependency metadata for the new code

* fix(sort): reuse SIGINT handler for temporary directory cleanup

- keep the latest path/lock pair in a shared registry so SIGINT always cleans the active directory

- guard handler installation with an atomic flag and reset state when the wrapper is dropped

* refactor(sort): simplify merge batch size to fixed value

Remove Linux-specific dynamic adjustment based on file descriptors and use a fixed batch size of 64 for consistency across platforms.

* fix Cargo.lock linux environments
2025-10-25 00:12:42 +02:00
mattsu
909da50371
Merge pull request #8959 from mattsu2020/sort-memory-functions
Some checks are pending
CICD / Documentation/warnings (push) Waiting to run
CICD / MinRustV (push) Waiting to run
CICD / Build/Makefile (push) Blocked by required conditions
CICD / Build/nightly (push) Blocked by required conditions
CICD / Binary sizes (push) Blocked by required conditions
CICD / Build (push) Blocked by required conditions
CICD / Tests/BusyBox test suite (push) Blocked by required conditions
CICD / Build/stable (push) Blocked by required conditions
CICD / Tests/Toybox test suite (push) Blocked by required conditions
CICD / Code Coverage (push) Waiting to run
CICD / Separate Builds (push) Waiting to run
CICD / Test all features separately (push) Blocked by required conditions
CICD / Build/SELinux-Stubs (Non-Linux) (push) Blocked by required conditions
CICD / Build/SELinux (push) Blocked by required conditions
CICD / Safe Traversal Security Check (push) Blocked by required conditions
GnuTests / Run GNU tests (native) (push) Waiting to run
GnuTests / Run GNU tests (SELinux) (push) Waiting to run
GnuTests / Aggregate GNU test results (push) Blocked by required conditions
Android / Test builds (push) Waiting to run
Benchmarks / Run benchmarks (CodSpeed) (push) Waiting to run
Code Quality / Style/Python (push) Waiting to run
Code Quality / Style/format (push) Waiting to run
Code Quality / Style/lint (push) Waiting to run
Code Quality / Style/spelling (push) Waiting to run
Code Quality / Style/toml (push) Waiting to run
Code Quality / Pre-commit hooks (push) Waiting to run
Devcontainer / Verify devcontainer (push) Waiting to run
FreeBSD / Style and Lint (push) Waiting to run
FreeBSD / Tests (push) Waiting to run
WSL2 / Test (push) Waiting to run
feat(sort): auto-tune buffer sizing from available memory
2025-10-23 11:53:19 +02:00
Aaron Ang
2919027841 uudoc: move manpage generation away from the binary 2025-10-22 01:17:08 -07:00
mattsu
9cdcf951df fix Cargo.lock in linux environments 2025-10-20 03:05:06 +00:00
naoNao89
11593bd808 fuzz: enable debug symbols in release builds
Adds debug = true to the [profile.release] section in fuzz/Cargo.toml. This enables generation of backtraces with function names and line numbers when fuzzing discovers crashes, instead of just memory addresses.

Fixes #5343
2025-10-17 07:33:44 +07:00
Sylvestre Ledru
f253efefaa
prepare version 0.3.0 (#8890)
Some checks failed
CICD / Dependencies (push) Waiting to run
CICD / Build/Makefile (push) Blocked by required conditions
CICD / Build/stable (push) Blocked by required conditions
CICD / Build/nightly (push) Blocked by required conditions
CICD / Binary sizes (push) Blocked by required conditions
CICD / Build (push) Blocked by required conditions
CICD / Tests/BusyBox test suite (push) Blocked by required conditions
CICD / Tests/Toybox test suite (push) Blocked by required conditions
CICD / Code Coverage (push) Waiting to run
CICD / Test all features separately (push) Blocked by required conditions
CICD / Build/SELinux (push) Blocked by required conditions
CICD / Build/SELinux-Stubs (Non-Linux) (push) Blocked by required conditions
GnuTests / Run GNU tests (native) (push) Waiting to run
GnuTests / Run GNU tests (SELinux) (push) Waiting to run
GnuTests / Aggregate GNU test results (push) Blocked by required conditions
Android / Test builds (push) Waiting to run
Benchmarks / Run benchmarks (CodSpeed) (push) Waiting to run
Code Quality / Style/format (push) Waiting to run
Code Quality / Style/lint (push) Waiting to run
Code Quality / Style/spelling (push) Waiting to run
Code Quality / Style/toml (push) Waiting to run
Code Quality / Style/Python (push) Waiting to run
Code Quality / Pre-commit hooks (push) Waiting to run
Devcontainer / Verify devcontainer (push) Waiting to run
Check uudoc Documentation Generation / Verify uudoc generates correct documentation (push) Waiting to run
FreeBSD / Style and Lint (push) Waiting to run
FreeBSD / Tests (push) Waiting to run
WSL2 / Test (push) Waiting to run
CheckScripts / ShellScript/Check (push) Has been cancelled
CheckScripts / ShellScript/Format (push) Has been cancelled
* prepare version 0.3.0

* also update uu_stdbuf_libstdbuf

* also update fuzz
2025-10-12 13:31:16 +02:00
renovate[bot]
c00bba4396
fix(deps): update rust crate tempfile to v3.23.0 2025-09-23 06:29:52 +00:00
Sylvestre Ledru
b3d71e3c88 cksum: improve performance (Closes: #8573) 2025-09-15 11:37:30 +02:00
Daniel Hofstetter
bb5d73e1b8
Merge pull request #8590 from uutils/renovate/tempfile-3.x-lockfile
fix(deps): update rust crate tempfile to v3.22.0
2025-09-10 07:15:02 +02:00
renovate[bot]
602c408102
fix(deps): update rust crate tempfile to v3.22.0 2025-09-09 18:02:59 +00:00
Sylvestre Ledru
fa06ce7eca Prepare release 0.2.2 2025-09-09 18:33:50 +02:00
Sylvestre Ledru
56bbc14279
base64: improve perfs by using the base64-simd crate (#8578)
* base64: improve perfs by using the base64-simd crate Closes: #8574

* Update src/uu/basenc/BENCHMARKING.md

Co-authored-by: Daniel Hofstetter <daniel.hofstetter@42dh.com>

* Update src/uu/basenc/BENCHMARKING.md

Co-authored-by: Daniel Hofstetter <daniel.hofstetter@42dh.com>

---------

Co-authored-by: Daniel Hofstetter <daniel.hofstetter@42dh.com>
2025-09-09 09:51:23 +02:00
renovate[bot]
4c1c3f8fbf
fix(deps): update rust crate console to v0.16.1 2025-09-08 11:14:08 +00:00
Sylvestre Ledru
59b94e181d prepare release 0.2.0
Co-authored-by: Daniel Hofstetter <daniel.hofstetter@42dh.com>
2025-09-06 13:14:20 +02:00
Sylvestre Ledru
76755009da uufuzz: add examples and them in the CI 2025-09-06 12:19:40 +02:00
Sylvestre Ledru
fb6afecf4c uufuzz: add a README 2025-09-06 12:19:40 +02:00
Sylvestre Ledru
536abfb87f fuzz: remove a warning 2025-09-06 12:19:40 +02:00
Sylvestre Ledru
816533b59d add some emoji to the fuzz mix 2025-09-06 12:19:40 +02:00
Sylvestre Ledru
a381476a6b fuzz: add a few unit tests 2025-09-06 12:19:40 +02:00
Sylvestre Ledru
6c1ac1b059 fuzz: fix the Cargo.toml to publish uufuzz 2025-09-06 09:56:25 +02:00
Daniel Hofstetter
aa8a97576d Bump windows-sys from 0.60.1 to 0.61.1 2025-09-05 08:23:34 +02:00
Sylvestre Ledru
1bcaea3023 tr: refactor and introduce simd to get important perf win 2025-08-20 11:52:20 +02:00
renovate[bot]
0fc4dc3acd
fix(deps): update rust crate tempfile to v3.21.0 2025-08-19 23:42:42 +00:00
Sylvestre Ledru
98224ed0cf Finalize the fuzzer 2025-08-14 10:52:24 +02:00
Sylvestre Ledru
373aafc5ff Fix ptx to handle non-UTF-8 filenames 2025-08-14 10:52:24 +02:00
Sylvestre Ledru
9f0447cbe9 Add non-UTF-8 filename support to tee and improve fuzzer coverage 2025-08-14 10:52:24 +02:00
Sylvestre Ledru
b67d04557e fuzz: add concise logging to show which programs are being tested 2025-08-14 10:52:24 +02:00
Sylvestre Ledru
5f575d5e5f fuzz: improve fuzzer performance and program distribution 2025-08-14 10:52:24 +02:00
Sylvestre Ledru
581e752598 ln: fix handling of non-UTF-8 filenames 2025-08-14 10:52:24 +02:00
Sylvestre Ledru
c00c92ccc6 fuzz: add fuzzer to test non-UTF-8 path handling across all utilities 2025-08-14 10:52:24 +02:00
renovate[bot]
3ada463428
fix(deps): update rust crate libc to v0.2.175 2025-08-11 09:46:37 +00:00
Sylvestre Ledru
a432fe811f l10n: use the embedded english strings when relevant 2025-08-03 10:59:38 +02:00
Daniel Hofstetter
7d8c58ad36 Bump parse_datetime from 0.9.0 to 0.11.0 2025-08-01 09:47:49 +02:00
Sylvestre Ledru
862a7a705c use the new translate! macro for translation
Co-authored-by: Daniel Hofstetter <daniel.hofstetter@42dh.com>
2025-07-28 22:04:40 +02:00
Nicolas Boichat
eedd84f301 uucore: fsext: Change MountInfo's mount_root/dir to OsString
This is necessary to fix handling of non-Unicode filepath in `df`.

Note that other field might also need to be modified in the future.
2025-07-24 09:26:54 +08:00
renovate[bot]
6f900dd849
fix(deps): update rust crate rand to v0.9.2 2025-07-20 18:36:01 +00:00
Yuri Astrakhan
c433b45682 chore: convert comments to markdown docs
A lot of functions had reasonable description using `//` instead of `///`.  This PR converts them to proper markdown and fixes a few minor styling issues.
2025-07-08 23:34:16 -04:00
renovate[bot]
363161a2f7
fix(deps): update rust crate libfuzzer-sys to v0.4.10 2025-07-03 19:57:02 +00:00
Yuri Astrakhan
4fa9af4953 chore: cleanup unused dependencies 2025-07-02 19:47:23 -04:00
renovate[bot]
53d259c13f
fix(deps): update rust crate console to 0.16.0 2025-06-27 13:47:33 +00:00
Dorian Peron
231b0e5c59 uucore: retrieve the Locale encoding from env variables 2025-06-25 00:47:51 +02:00
renovate[bot]
af90dd4b16
fix(deps): update rust crate libc to v0.2.174 2025-06-17 20:48:17 +00:00
renovate[bot]
a50270a5c8
fix(deps): update rust crate libc to v0.2.173 2025-06-13 19:29:29 +00:00
Daniel Hofstetter
3eb1cece30 Bump windows-sys from 0.59.0 to 0.60.1 2025-06-12 11:09:39 +02:00
Sylvestre Ledru
09bb35e11e test: move to thiserror 2025-06-09 11:00:37 +02:00
Yuri Astrakhan
60c55d7c07
chore: cleanup workspace crates (#8058)
Some checks are pending
CICD / Style/cargo-deny (push) Waiting to run
CICD / Style/deps (push) Waiting to run
CICD / Documentation/warnings (push) Waiting to run
CICD / MinRustV (push) Waiting to run
CICD / Dependencies (push) Waiting to run
CICD / Build/Makefile (push) Blocked by required conditions
CICD / Build/stable (push) Blocked by required conditions
CICD / Build/nightly (push) Blocked by required conditions
CICD / Binary sizes (push) Blocked by required conditions
CICD / Build (push) Blocked by required conditions
CICD / Tests/BusyBox test suite (push) Blocked by required conditions
CICD / Tests/Toybox test suite (push) Blocked by required conditions
CICD / Code Coverage (push) Waiting to run
CICD / Separate Builds (push) Waiting to run
CICD / Test all features separately (push) Blocked by required conditions
CICD / Build/SELinux (push) Blocked by required conditions
GnuTests / Run GNU tests (push) Waiting to run
Android / Test builds (push) Waiting to run
Code Quality / Style/format (push) Waiting to run
Code Quality / Style/lint (push) Waiting to run
Code Quality / Style/spelling (push) Waiting to run
Code Quality / Style/toml (push) Waiting to run
Code Quality / Style/Python (push) Waiting to run
FreeBSD / Style and Lint (push) Waiting to run
FreeBSD / Tests (push) Waiting to run
* chore: cleanup workspace crates

* properly add all crates to the workspace cargo.toml as members
  * except `fuzz` because it still has some issues, TBD
* use quotes around `true` and `false` to ensure there is no bool confusion
* remove a few leftover readme comments
* mark all unpublishable crates as `publish = false` to avoid accidental publishing
* Add `uutests` to the main workspace

* grammar

* a bit more cleanup based on feedback

* revert true/false

* Update tests/benches/factor dependencies
2025-06-06 13:56:08 +02:00
Sylvestre Ledru
9e21259e2d
Merge pull request #8062 from drinkcat/sort-float
sort: Make use of ExtendedBigDecimal in -g sorting, then attempt to recover some performance
2025-06-06 12:01:04 +02:00
Sylvestre Ledru
154250ac24 refresh cargo.lock from fuzzing 2025-06-04 19:24:03 +02:00
Nicolas Boichat
8426c1480c sort: Make use of ExtendedBigDecimal in -g sorting
This provides better precision than f64, which we need.

Fixed #8031.
2025-06-03 19:54:21 +02:00
Nicolas Boichat
986bdf545d uucore: Remove custom_tz_fmt, cleanup dependencies
Nobody needs it anymore.
2025-05-29 14:00:25 +02:00