Login  Register

Re: Removing Boost dependency from QuantLib

Posted by quantlib-dev mailing list on Jul 05, 2017; 9:26pm
URL: http://quantlib.414.s1.nabble.com/Removing-Boost-dependency-from-QuantLib-tp18381p18412.html

Hi Klaus,

Thank you very much for your support. I try my best to only use standard-compliant C++ in my code, and avoid using any GNU extensions (in the default configuration at least). Thus it is not impossible to make it work on any platforms with a C++17-standard-compliant compiler.

Best Regards,

Hao
On Wednesday, July 5, 2017 3:54:18 PM EDT Klaus Spanderen wrote:

> Hi,
>
> Awesome work. The major achievement for me is the lift to C++17 - even subtle
> details like the thread-safe observer pattern have been ported !  I wouldn't
> mind if boost is stilled present for some minor use cases. It will be difficult
> to replace all of it on all supported platforms.
>
> I would also appreciate if we move completely to a modern C++ version after
> 10++ years of C++03.
>
> best regards
> Klaus
>
> On Mittwoch, 5. Juli 2017 12:02:20 CEST Johannes Göttker-Schnetmann wrote:
> > Hi Hao, Peter,
> >
> > I also find this very interesting. Since C++ is moving at a better pace for
> > some time we need at some point decide how QuantLib reacts to this.
> > Personally I am using modern compilers and like the features modern C++
> > provides. Therefore I would appreciate if QuantLib decides to fork or move
> > completely to a modern C++ version.
> >
> > Boost is in part an incubator of ideas, which at some point might make it
> > into the C++ standard. For QuantLib the most prominent instances are
> > boost::shared_pointer and boost:unique_pointer which are both in the
> > standard for quite some time now. I would prefer to use the standard
> > libraries instead of boost in those cases.
> >
> > Kind regards,
> > Johannes
> >
> > On 4. Jul 2017, at 17:38, Peter Caspers <[hidden email]> wrote:
> >
> > Hi Hao, that’s very interesting. Do you know where the performance gain is
> > coming from, is it mostly MKL vs. UBLAS? Or are there other drivers as
> > well?
> > I’d also be interested in the motivation to do this in the first place, I
> > never thought boost as such was a bad thing?
> > The upgrade to C++17 is surely nice and makes sense, no doubt.
> > Best Regards
> > Peter
> >
> > On 04 Jul 2017, at 09:42, Luigi Ballabio <[hidden email]> wrote:
> >
> > Hello Hao,
> >     that's great news---I've been wondering myself if this was possible.
> > I'll be sure to check out your project.
> > I suggest you also post to quantlib-users for greater exposure.
> >
> > Later,
> >     Luigi
> >
> >
> > On Tue, Jul 4, 2017 at 5:24 AM Hao Zhang via QuantLib-dev <
> >
> > [hidden email]> wrote:
> > > Hello Everyone,
> > >
> > > I have removed all Boost dependency from QuantLib, and ported QuantLib to
> > > C++17. The code is hosted on GitHub (https://github.com/haozhangphd/
> > > QuantLib-noBoost <https://github.com/haozhangphd/QuantLib-noBoost>).
> > >
> > > The ported code passes all test cases, and there are significant
> > > performance improvements in SOME functionalities. Using the QuantLib
> > > Benchmark Suite, Quantlib-noBoost gives 3425 mflops (running time 13.15s),
> > > while unmodified QuantLib gives 1440 mflops (running time 44.8s) on my
> > > Dell
> > > Inspiron 13 i7348 laptop, both running under identical conditions with
> > > identical compiler flags. The total running time of the whole test suite
> > > is
> > > also shorter by ~10% after Boost is removed.
> > >
> > > I will continue maintaining this project, and regularly backporting latest
> > > commits from QuantLib. I will also make this project work on other
> > > compilers besides GCC in the near future.
> > >
> > > Best Regards,
> > >
> > > Hao
> > >
> > > ------------------------------------------------------------
> > > ------------------
> > > Check out the vibrant tech community on one of the world's most
> > > engaging tech sites, Slashdot.org <http://slashdot.org/>!
> > > http://sdm.link/slashdot
> > > _______________________________________________
> > > QuantLib-dev mailing list
> > > [hidden email]
> > > https://lists.sourceforge.net/lists/listinfo/quantlib-dev
> >
> > ------------------------------------------------------------
> > ------------------
> > Check out the vibrant tech community on one of the world's most
> > engaging tech sites, Slashdot.org <http://slashdot.org/>!
> > http://sdm.link/slashdot_______________________________________________
> > QuantLib-dev mailing list
> > [hidden email]
> > https://lists.sourceforge.net/lists/listinfo/quantlib-dev
> >
> >
> > ------------------------------------------------------------
> > ------------------
> > Check out the vibrant tech community on one of the world's most
> > engaging tech sites, Slashdot.org! http://sdm.link/slashdot______
> > _________________________________________
> > QuantLib-dev mailing list
> > [hidden email]
> > https://lists.sourceforge.net/lists/listinfo/quantlib-dev
>
>
>
> ------------------------------------------------------------------------------
> Check out the vibrant tech community on one of the world's most
> engaging tech sites, Slashdot.org! http://sdm.link/slashdot
> _______________________________________________
> QuantLib-dev mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/quantlib-dev
>



------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
QuantLib-dev mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quantlib-dev