On 10/10/2026 04:20, Collin Funk wrote:
Pádraig Brady <[email protected]> writes:$ ./configure --without-libgmp --quiet $ dd bs=64k count=1 if=/dev/urandom of=58.in $ time src/basenc-before --base58 58.in >/dev/null real 0m6.588s $ time src/basenc-after --base58 58.in >/dev/null real 0m3.463s * src/basenc.c (base58_encode): Remove an affirm that is very expensive in the minigmp implementation. Essentially the same affirm was done at the start of the function anyway. --- src/basenc.c | 1 - 1 file changed, 1 deletion(-) diff --git a/src/basenc.c b/src/basenc.c index a9c9f2f30..8aaef0d8b 100644 --- a/src/basenc.c +++ b/src/basenc.c @@ -1289,7 +1289,6 @@ base58_encode (char const *data, size_t data_len, if (data_len - zeros) { mpz_import (num, data_len - zeros, 1, 1, 0, 0, data + zeros); - affirm (mpz_sizeinbase (num, 58) + 1 <= *outlen); for (p = mpz_get_str (p, 58, num); *p; p++) *p = gmp_to_base58[to_uchar (*p)]; }Nice catch on that and the other patch to mini-gmp. By the way, today I found out Gentoo's coreutils package uses mini-gmp by default. It looks like Sam is looking to change that, though [1]. I wonder if any other distributions choose to use mini-gmp for some reason. Collin [1] https://archives.gentoo.org/gentoo-dev/bf22d6afd355e01a4c1479ab2b21076f75468578.1790430550.git....@gentoo.org/
Oh nice one. Oh good I see https://repology.org/project/coreutils/versions is back up. Auditing that shows the main distros depend on gmp appropriately. I've not looked into the homebrew build details, though it seems strange there is only a runtime dependency on gmp, but maybe build deps propagate automatically from runtime or soemthing. Also there are no mention of ssl dependencies in homebrew (I'm not sure if we support libressl anyway). https://formulae.brew.sh/api/formula/coreutils.json cheers, Padraig
