Commit Graph

15101 Commits

Author SHA1 Message Date
Sylvestre Ledru aebada4cd4 mknod: implement selinux support
+ improve the option management a bit
2025-04-23 08:37:42 +02:00
Sylvestre Ledru a4230410c8 Merge pull request #7821 from cakebaker/mknod_remove_windows_code_flags
mknod: remove windows-related code & flags
2025-04-22 17:32:10 +02:00
Daniel Hofstetter 9e7f3acbc7 mknod: remove windows-related code & flags 2025-04-22 16:57:26 +02:00
Sylvestre Ledru 1986c965cc Merge pull request #7782 from drinkcat/seq-perf-more-use-cat
Move seq's `fast_inc` to `uucore`, use it in `cat`
2025-04-22 15:54:00 +02:00
Sylvestre Ledru 96b714781a Merge pull request #7813 from drinkcat/ls-opt-2
ls: More performance optimizations
2025-04-22 15:53:36 +02:00
Daniel Hofstetter 0bb8a0a562 Merge pull request #7820 from uutils/sylvestre-patch-5
add tests/misc/tee.sh to the list of intermittent issues
2025-04-22 11:42:57 +02:00
Sylvestre Ledru 7cdbc3c1e4 add tests/misc/tee.sh to the list of intermittent issues 2025-04-22 10:11:34 +02:00
Sylvestre Ledru 77c4ba5bea Merge pull request #7241 from jfinkels/mv-copy-across-filesystems
mv: fix moving FIFO to a different filesystem
2025-04-21 23:03:26 +02:00
Sylvestre Ledru 83679a3956 Merge pull request #7790 from drinkcat/num_parser_simplify
uucore: num_parser: Operate on slices, instead of iterator
2025-04-21 22:50:05 +02:00
Sylvestre Ledru aacd6d4779 Merge pull request #7816 from drinkcat/test_ls_more_acl
test_ls: Improve acl test
2025-04-21 22:45:44 +02:00
Sylvestre Ledru c40856fa86 Merge pull request #7817 from uutils/renovate/ctor-0.x-lockfile
chore(deps): update rust crate ctor to v0.4.2
2025-04-21 22:45:05 +02:00
renovate[bot] 25b6543459 chore(deps): update rust crate ctor to v0.4.2 2025-04-21 19:42:25 +00:00
Nicolas Boichat adb23b154f test_ls: Improve acl test
Create a file with some ACL, and another without, and check that `+`
only appears on the file with ACL.
2025-04-21 17:19:06 +02:00
Daniel Hofstetter 9a04845c01 Merge pull request #7811 from drinkcat/test-ls-improve-perm-io-errors
test_ls: Improve test_ls_perm_io_errors
2025-04-21 14:09:47 +02:00
Nicolas Boichat fc6b896c27 ls: Optimize time formatting
Instead of recreating the formatter over and over again, keep
it pre-parsed in a variable in TimeStyler class.

Also, avoid calling `now` over and over again, that's also slow.

Improves performance by about 6%.
2025-04-21 12:19:14 +02:00
Nicolas Boichat b833deb8d1 ls: display_uname/group: Return a reference
Cache even numerical strings (numeric_uid_gid) in the HashMap,
this makes very little difference performance wise.

However, this allows us to return a reference to a String instead
of making a clone.

Saves about 2-3% on `ls -lR /var/lib .git` (and `ls -lRn`).

Also, add a note that HashMap might not be the most optimal choice.
2025-04-21 12:19:14 +02:00
Nicolas Boichat 1890467bd7 ls: ListState: Add uid/gid cache to the structure
Easier to reason about than the LazyLock/Mutex encapsulated
static variables.

Performance difference is not measurable, but this drops uneeded
Mutex lock/unlock that were seen in samply output.
2025-04-21 12:19:14 +02:00
Nicolas Boichat 615e684c5d ls: Create a ListState struct to maintain state
We put the out writer and style manager in there, for now.

Reduces the number of parameters to pass around, and we'll add
more useful things in there.

Little to no performance difference.
2025-04-21 12:19:14 +02:00
Nicolas Boichat e84de9b97f uucore: fast_inc: Add a debug_assert for developer convenience
Suggested by our AI overlords.
2025-04-21 11:31:08 +02:00
Nicolas Boichat 4fe0da46ba cat: add LineNumber.to_str to clean up tests, limit to 32 digits 2025-04-21 11:25:54 +02:00
Nicolas Boichat 520459bb91 uucore: fast_inc: Change start to a &mut
Instead of having the caller repeatedly reassign start, it's easier
to just pass it as a mutable reference.
2025-04-21 11:25:54 +02:00
Nicolas Boichat f9aaddfd3d cat: Switch to uucore's fast_inc_one
Instead of reimplementing a string increment function, use the
one in uucore. Also, performance is around 5% better.
2025-04-21 11:25:54 +02:00
Nicolas Boichat 764514bf22 uucore: Move fast_inc functions from seq
A new fast-inc feature, to be used by seq and cat.
2025-04-21 11:25:54 +02:00
Nicolas Boichat 54b2c12844 seq: fast_inc: split carry operation to a separate function
This has no impact on performance, and will be useful for the
`cat` usecase when we move this to uucore.
2025-04-21 11:25:54 +02:00
Nicolas Boichat 03b2cab650 seq: Update doc for fast_inc 2025-04-21 11:25:54 +02:00