|
From: Luigi B. <lui...@gm...> - 2017-07-05 12:31:22
|
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 < jsc...@gm...> 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 <pca...@gm...> 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 <lui...@gm...> 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 < > qua...@li...> 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 >> Qua...@li... >> 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 > Qua...@li... > 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 > Qua...@li... > 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 > Qua...@li... > https://lists.sourceforge.net/lists/listinfo/quantlib-dev > |