You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
those benchmarks are a bit cherry-picking; as it only shows 1 and 2-limb sizes.
are there benchmarks for > 2 limbs?
Until then, what kind of performance to expect compared to gmp for > 2 limbs?
Unrelated question: the readme says:
Built on top of the GNU multiprecision stack (GMP, MPFR, MPC), mp++ was initially conceived as a GMP wrapper
Given this fact, can you please clarify whether using mpp is subject to the licensing terms of gmp?
Since version 6, GMP is distributed under the dual licenses, GNU LGPL v3 and GNU GPL v2. These licenses make the library free to use, share, and improve, and allow you to pass on the result. The GNU licenses give freedoms, but also set firm restrictions on the use with non-free programs.
The text was updated successfully, but these errors were encountered:
are there benchmarks for > 2 limbs?
Until then, what kind of performance to expect compared to gmp for > 2 limbs?
No, there are no benchmarks for > 2 limbs.
In principle, for low limb counts mp++ could be faster than plain GMP (as long as you stay in stack-allocated storage), but in practice I have not profiled or optimised for this use case (yet?). Currently the main use case of the integer class is to be fast for 1-2 limbs, ideally approaching the performance of hardware integers. For higher limb counts, the assumption is that the vanilla GMP routines (as opposed to the optimised 1-2 limbs codepaths of mp++) are fast enough.
If there is enough demand, I am open to the idea of investing time in optimising performance for higher limb counts. It's just not something that people have asked for yet :)
Given this fact, can you please clarify whether using mpp is subject to the licensing terms of gmp?
The mp++ code itself is licensed under the MPL-2.0 license, but of course mp++ has a dependency on GMP. I am not a lawyer, but given that GMP is used in commercial computer algebra systems (Mathematica, Maple, ...) I am assuming there are no licensing conflicts with MPL-2.0 (of course as long as you are picking the LGPL in GMP's dual-iicense scheme).
timotheecour
changed the title
benchmarks for > 2 limbs?
benchmarks for > 2 limbs + question on licensing
Feb 4, 2021
as mentioned in nim-lang/Nim#14696 (comment), fort the benchmarks in https://bluescarni.github.io/mppp/integer_benchmarks.html:
are there benchmarks for > 2 limbs?
Until then, what kind of performance to expect compared to gmp for > 2 limbs?
Unrelated question: the readme says:
Given this fact, can you please clarify whether using mpp is subject to the licensing terms of gmp?
The text was updated successfully, but these errors were encountered: