|
Boost : |
Subject: Re: [boost] [Review] XInt Review
From: Marsh Ray (marsh_at_[hidden])
Date: 2011-03-04 16:17:19
On 03/04/2011 09:51 AM, Joel Falcou wrote:
> On 04/03/11 16:20, Marsh Ray wrote:
>
>> If the interface really does prescribe the implementation with a great
>> deal of specificity, then in my view it should not be adopted as a
>> library.
>
> I disagree. People also see boost as a repository of staet of the art
> way of implementing things. Library like XInt comes with an a priori
> expectations of performances, whcih, currently, it does not deliver.
Fair enough.
>> Is that not prescribing an implementation?
>
> It is. Now, i dont see why I should not express opinion on how to do
> something if said specifications actually helps the overall quality of
> the library. It is as prescribing as askign to use the n.log(n).log(n)
> algorithm instead of the trivial one for operator*
Firstly, I believe in you expressing your opinion and value it.
But it'd still be nice to have a standard bigint facility in C++ or
Boost. But C++ seems like one of the last high-level languages without
basic bigints at this point. We have regexes now for heaven's sake,
integers were only conceived a few thousand years before!
I'm concerned that perfect is the enemy of good enough here.
Is it a requirement for Boost that every new library be state-of-the-art
in its use of compile time polymorphism?
>> A bigint facility that strained the limits of my compiler and pushed
>> compile times through the roof is not useful to me.
>
> Are you compiling with MSVC6 or g++-2.95.2 ?
MSVC 8.0
GCC 4.4
> Sarcasm aside, compile time is a problem for compiler vendor.
It's a problem for me, the poor developer, when I have to use the thing.
Or not if I don't use it.
But if no developers use it, the vendors don't make it a priority.
Lots of numeric code is still written in C and Fortran. Whether that's
because of the compiler or the mind, the abstraction penalty is real.
> Expression enabled code is not something you add on top of another
> design like this. It is a concrete component of the design from the start.
OK. Maybe expression templates aren't a big issue, I think I'm using
them happily with GMP's C++ interface. But I'd much rather be using
something in boost:: or std::trX::.
- Marsh
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk