|
|
Subscribe / Log in / New account

uutils has more overhead

uutils has more overhead

Posted Oct 24, 2025 13:41 UTC (Fri) by ebee_matteo (subscriber, #165284)
In reply to: uutils has more overhead by pixelbeat
Parent article: Date bug affects Ubuntu 25.10 automatic updates

From https://github.com/uutils/coreutils:

> If you don't want to build the multicall binary and would prefer to build the utilities as individual binaries, that is also possible.

This is a decision from the distribution to take, I would say.


to post comments

uutils has more overhead

Posted Oct 24, 2025 13:55 UTC (Fri) by pixelbeat (guest, #7440) [Link] (1 responses)

Yes agreed, though it's a different decision with uutils as the separate binaries are significantly larger.

Note also that GNU coreutils can be built as a multi-call binary. Testing the performance of that here shows that the overhead is not rust specific, but rather the dynamic linker overhead loading the full set of libs linked by the multi-call binaries

$ ./configure --enable-single-binary --quiet && make -n $(nproc)

$ time seq 10000 | xargs -n1 src/true

real	0m21.595s
user	0m7.437s
sys	0m14.151s

uutils has more overhead

Posted Oct 25, 2025 8:26 UTC (Sat) by ebee_matteo (subscriber, #165284) [Link]

I agree, but it should be noted that the main reason the binaries are larger is linked to compilation flags around panic behavior (abort vs. unwind), and the fact that the stdlib is built with the generic use case in mind, and as such contains verbose backtrackes and error printing which inflate the final binary size.

I still think that this is a decision for the distribution. It's a tradeoff between being able to better debug and diagnose issues, and binary size.

If I try to use a recompiled version of Rust stdlib and panic = abort, for many binaries I get comparable sizes to the GNU version (not all, this is true, but some of them also add some features).


Copyright © 2025, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds