Boost logo

Boost :

Subject: Re: [boost] [xint] Third release is ready, requesting preliminary review
From: vicente.botet (vicente.botet_at_[hidden])
Date: 2010-05-01 14:52:36


----- Original Message -----
From: "Chad Nelson" <chad.thecomfychair_at_[hidden]>
To: <boost_at_[hidden]>
Sent: Saturday, May 01, 2010 8:12 PM
Subject: Re: [boost] [xint] Third release is ready, requesting preliminary review

>
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> On 05/01/2010 01:09 PM, vicente.botet wrote:
>
>>>> Couldn't you add a template parameter stating the thread model?
>>>> This parameter can be by default single_threaded, and the user
>>>> can set it also to multi_threaded. In this way you let the user
>>>> of each xint::integer to decide if the library must ensure thread
>>>> safety or not.
>>>
>>> That would solve the speed problem, but the dependency problem
>>> would remain -- the library would have to use Boost.Move and
>>> Boost.Thread always. (See the previous message in this thread for
>>> my reasons why that isn't desirable.)
>>
>> I don't think the dependency is a problem.
>
> If I were using a library, I'd prefer that it didn't have an unnecessary
> dependency on another library that would require me to add that other
> library to my build system (which, at least under Linux, would be
> necessary), or that would require me to hunt down an unofficial library
> before I could use it.
>
>> BTW you have not answered yet to another post I did today. "" you
>> forget to say in the documentation that your library needs to be
>> built and included on the user program. Ths is inportant to know for
>> a lot of people.
>
> I saw it and noted it. I didn't think it needed a response, especially
> as there was a suggestion to make XInt a header-only library.

I miss this point.
 
>> If your library needs already to be linked, I dont see a problem to
>> link with lib thread also.
>>
>> Another approach is to have two libraries one working with classes
>> that are not thread safe and more efficient and the other thread
>> safe, depending on Boost.Thread and less efficient.
>
> I'm confused... what is the difference between having two separate
> libraries and having a compile-time option? The compile-time option
> leads directly to having two separate compiled versions of the library.

You have misunderstood my concern. I mean to have a library xint and a library xint_ts (thread safe), as we have have now signals and signals2. This provides two libraries with different features can can leave on the same executable.

User that don't need the xint_ts dont have to link with lib thread. Of course, xint_ts can use anything xint provides, but not the oposit.

Just an idea, that solves a lot of issue taking in account the different user expectations.

Best,
Vicente


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk