There is one thing you could do, depending on which parts of Boost you
need. Boost has a tool to extract only the headers you actually need and
puts the extracted declarations into a custom namespace. If your
dependencies are header-only, you can include those bits in the Ignite
sources. That way, users won't have to install Boost, and it avoids
version mismatch and DLL hell.

-- Brane

On 20.05.2015 15:53, Yakov Zhdanov wrote:
> Brane, the API has already been designed. In the best case all
> functionality available in Java should be available in non-Java stuff (if
> there are no technology limitations). I would not care about compile time -
> Boost increases it, of course, but does not make compilation infinite.
> Functionality, stability and developer convenience seem to be more
> important.
>
> GridGain had its CPP stuff using Boost with ~4-5 min compilation on rather
> weak machine.
>
> However, given that client will be completely reapproached and should be
> less complex I would think whether we need any third party library at all.
>
> --Yakov
>
> 2015-05-20 12:27 GMT+03:00 Branko Čibej <br...@apache.org>:
>
>> On 20.05.2015 09:40, Vladimir Ozerov wrote:
>>> This is not about resulting size of our lib. Moreover, we will not
>>> statically link it to Ignite because in this case users will have
>> troubles
>>> when using both Boost and Ignite simultaneously.
>>> The problem is that if we use Boost, we will force users to have it on
>>> their machines during both build-time and runtime. And Boost is known to
>>> have dready dependencies between their modules. So if we use only
>>> concurrency module it might lead to transitive dependencies to lots other
>>> ones.
>> Using any part of Boost also increases compile times dramatically
>> because if its inter-module dependencies and its heavy usage of template
>> programming.
>>
>>
>> The first step is to design an API, before deciding on a helper library,
>> which you may not even need. Talking about Boost or TBB or whatnot
>> before you even know what kind of features you need to implement your
>> API is, to put it mildly, just crazy.
>>
>> Real Programmers do not download 11 jars to use one external method ...
>>
>> -- Brane
>>

Reply via email to