http://quantlib.414.s1.nabble.com/Removing-Boost-dependency-from-QuantLib-tp18381p18408.html
I was not aware of the difference between std::shared_ptr and boost::shared_ptr. After checking the source code for GCC, I found that at least in GCC, std::shared_ptr also has the check for nullptr. However this check is only available in debug mode.
> A warning on shared_ptr, though: unlike boost::shared_ptr, std::shared_ptr
> can't be configured to throw an exception when accessing a null pointer, so
> a call to p->foo() segfaults. Currently we rely on boost's behavior and
> don't have checks for null pointers (which is convenient, but we're
> probably making lots of unnecessary checks at each method call instead of
> checking for nulls just once) so they should probably be added before the
> library is safely usable.
>
> Luigi
>
>
> On Wed, Jul 5, 2017 at 12:05 PM Johannes Göttker-Schnetmann <
>
[hidden email]> 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> >