http://quantlib.414.s1.nabble.com/Removing-Boost-dependency-from-QuantLib-tp18381p18409.html
Awesome work. The major achievement for me is the lift to C++17 - even subtle
mind if boost is stilled present for some minor use cases. It will be difficult
to replace all of it on all supported platforms.
10++ years of C++03.
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