Boost logo

Boost :

Subject: Re: [boost] [xint] Fourth release, requesting preliminary review again
From: Chad Nelson (chad.thecomfychair_at_[hidden])
Date: 2010-06-10 18:11:36

Hash: SHA1

On 06/10/2010 05:45 PM, Simonson, Lucanus J wrote:

>> [...] The library is designed for large integers -- something
>> that's usually noticeably larger than 65 bits -- so it probably
>> won't be optimal for really small integers like that. It'll get the
>> job done though, so I don't consider that a problem.
> There is a sort of odd dynamic here. On the one hand we all care
> about performance. On the other there is no way to implement this
> library in C++ to be efficient on modern hardware because the C++
> standard doesn't provide access to integer overflow flags and the
> compilers are next to worthless for vectorizing general code.

That's why I specified that I was aiming for the fastest implementation
I could get in pure C++.

> Obviously no one expects you to special case the hardware at run
> time and provide inline assembly where it is warrented, however,
> where do we draw the line and say "past this line we do care about
> performance."

Everyone will draw the line somewhere different. As the developer of the
library, I balance code speed against the difficulty of writing and
maintaining the library -- a feature that would give a 2% improvement in
speed, but double the time it takes to write or update the library, is
definitely off the menu. One that would double operational speed for
that price is definitely *on* the menu. There's a lot of room in between

> A performance delta of 10X is not unreasonable between this library
> and GMP with hand crafted SSE assembly code that takes advantage of
> overflow flags competing with whatever scalar code the compiler
> manages to produce, so I suppose we can set performance completely
> aside for now and focus on the interface. However, the issue will
> certainly come up during review.

Any reasonable reviewer will understand that, as XInt is less than six
months old and is being developed by a single person, it isn't likely to
be anywhere near GMP's performance. Unreasonable reviewers need not
apply. ;-)
- --
Chad Nelson
Oak Circle Software, Inc.
Version: GnuPG v1.4.10 (GNU/Linux)
Comment: Using GnuPG with Mozilla -


Boost list run by bdawes at, gregod at, cpdaniel at, john at