Brane, I do not know in advance what exactly will be needed there, but it is _very_ likley that we will need thread-locals, atomics (both CAS and increments/decrements), java-like volatiles (i.e. membars), cirical sections, read-write locks and concurrent dictionaries.
On Wed, May 20, 2015 at 12:27 PM, Branko Čibej <br...@apache.org> wrote: > 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 >