FastTrac
In-Reply-To: <200802291118.m1TBIYpu010661 at sac.sfbay.sun.com>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-OpenSolaris-URL: 
http://www.opensolaris.org/jive/message.jspa?messageID=210525&tstart=0#210525

> GNU MP is designed to be as fast as possible, both
> for small operands and huge
> operands.  The speed is achieved by using fullwords
> as the basic arithmetic
> type, by using fast algorithms, with carefully
> optimized assembly code for the
> most common inner loops for lots of CPUs, and by a
> general emphasis on speed
> (instead of simplicity or elegance).

Note that some of these speed improvements are only available with the gcc 
compiler (at least for now). I don't know how relevant this is to an ARC case 
though.

Also, the optimizations are very different from one platform to an other. For 
instance, on ultrasparc4, it uses the FPU. But on niagara1 it does not (or 
should not, I don't remember if it has been patched already). If speed is an 
important feature, it would make sense to ship several versions.

> The optional C++ support is also not provided due to
> the well known ABI
> issues with providing C++ libaries on Solaris (g++ vs
> Sun C++), a future
> case may be submitted to provide the C++ libaries if
> there is sufficient
> demand and/or the ABI issue is resolved.

Six C++ operators are declared in gmp.h (but the corresponding symbols are 
apparently defined in libgmpxx). It can be confusing then to have declarations 
but not the actual symbol. Although this way users can compile their own 
libgmpxx and still use the system gmp.h. It is probably easiest to just accept 
whatever upstream did (ie leave the 6 operators).

Out of curiosity, are you planning on integrating mpfr next?
 
 
This message posted from opensolaris.org

Reply via email to