|
From: | Paul Eggert |
Subject: | Re: bignum branch |
Date: | Mon, 16 Jul 2018 12:02:34 -0700 |
User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.9.1 |
Eli Zaretskii wrote:
Not sure what you mean by "our GMP substitute source code". Do you mean mini-gmp? I didn't yet look at it, and so I don't know what that means in practice. (Someone said it's less efficient than GMP?)
Yes, I meant mini-gmp. And yes, it'd be less efficient than real GMP, something we'd have to live with on 32-bit-long hosts until GMP gets its act together (which I hope wouldn't take that long). I don't think the efficiency loss would be major, as bignums aren't commonly used.
There's no need to wait anyway. We should condition use of GMP on EMACS_INT being not wider than the appropriate GMP type (I guess mp_bitcnt_t?), and then if and when GMP learns to support 64-bit Windows, things will "just work".
Tom's idea is to just assume GMP in almost all the source code (and to compile and use mini-gmp as a substitute if libgmp is not available), as this simplifies a lot of things. For example, Elisp code won't have to worry about integer overflow, which is a significant win. If this approach performs well enough, I'd prefer its simplicity.
[Prev in Thread] | Current Thread | [Next in Thread] |