Serving the Quantitative Finance Community

 
User avatar
Cuchulainn
Posts: 20254
Joined: July 16th, 2004, 7:38 am
Location: 20, 000

sitmo C++ normal distribution

October 28th, 2014, 8:29 am

Indeed; imagine porting from Linux and Boost to Windows and C++11, performance wise.C# Crypto is about 8-10 times slower than a native RNG (e.g. the wrapped sitmo). We had a thread on this last year.On the other hand, random_device is for seeds only?"Randomness Recommendations for Security", D. Eastlake, S. Crocker, J. Schiller, Network Working Group, RFC 1750, December 1994
Last edited by Cuchulainn on October 27th, 2014, 11:00 pm, edited 1 time in total.
 
User avatar
Cuchulainn
Posts: 20254
Joined: July 16th, 2004, 7:38 am
Location: 20, 000

sitmo C++ normal distribution

October 28th, 2014, 8:36 am

Here is an interesting performance test of Boost random_device4 tests{Linux, Window} {Boost, C++11} The code can be modified.
Last edited by Cuchulainn on October 27th, 2014, 11:00 pm, edited 1 time in total.
 
User avatar
Cuchulainn
Posts: 20254
Joined: July 16th, 2004, 7:38 am
Location: 20, 000

sitmo C++ normal distribution

October 28th, 2014, 9:06 am

Oh dear. Boost Interval revisited.
Last edited by Cuchulainn on October 27th, 2014, 11:00 pm, edited 1 time in total.
 
User avatar
Cuchulainn
Posts: 20254
Joined: July 16th, 2004, 7:38 am
Location: 20, 000

sitmo C++ normal distribution

October 28th, 2014, 9:52 am

The last 'reply' I got concerning my show-stopper was that it was not a show-stopper. Amazing response. You need nerves of steel at that HelpDesk
 
User avatar
quartz
Posts: 3
Joined: June 28th, 2005, 12:33 pm

sitmo C++ normal distribution

December 18th, 2014, 6:26 pm

QuoteOriginally posted by: CuchulainnQuoteFor example, Mersenne Twister is unacceptable for cryptographic applications but probably acceptable for many a numerical method.Because if you get the seed and the algo you can reproduce the same numbers. Not with crypto algorithms.You meant quantum sources? With crypto algos and state of course one can reproduce the stream, they are deterministic too.You don't even need the internal seed with MT: a bit of clean output is enough to reconstruct it (unlike for crypto RNGs), and the output itself can be recovered with some heuristics e.g. from an encrypted stream, iirc.
 
User avatar
quartz
Posts: 3
Joined: June 28th, 2005, 12:33 pm

sitmo C++ normal distribution

December 18th, 2014, 6:54 pm

QuoteOriginally posted by: outrunyou're right. I have a very strong urge to try and take over maintenance of that lib,.. and then get alls the stuff that's just waiting there in:* CHi2* parallel random number generator* low discrepancy engines..however, I know I'm going to lose interest once that's in, and I doubt I'm a good enough coder to be able to maintain a lib like that And... it would be nice to have a public discussion on what the best interfaces are anyway for parallel and LDSs, before going to any specific implementation. And MCMC might also need some attention. Risking repetitiveness: there wasnt even a reasonable discussion on skipahead for C++11, almost as difficult as with boost people.We're also working on some unhortodox generators so fast that the wrong interface could become a bottleneck, so we'd like a standard to incorporate our suggestions.Most PRNG people around seem still unaware they could (and should) build a community, instead of duplicating efforts, reinventing the wheel and preparing conflicts...
 
User avatar
Cuchulainn
Posts: 20254
Joined: July 16th, 2004, 7:38 am
Location: 20, 000

sitmo C++ normal distribution

December 19th, 2014, 8:34 am

QuoteOriginally posted by: quartzQuoteOriginally posted by: outrunyou're right. I have a very strong urge to try and take over maintenance of that lib,.. and then get alls the stuff that's just waiting there in:* CHi2* parallel random number generator* low discrepancy engines..however, I know I'm going to lose interest once that's in, and I doubt I'm a good enough coder to be able to maintain a lib like that And... it would be nice to have a public discussion on what the best interfaces are anyway for parallel and LDSs, before going to any specific implementation. And MCMC might also need some attention. Risking repetitiveness: there wasnt even a reasonable discussion on skipahead for C++11, almost as difficult as with boost people.We're also working on some unhortodox generators so fast that the wrong interface could become a bottleneck, so we'd like a standard to incorporate our suggestions.Most PRNG people around seem still unaware they could (and should) build a community, instead of duplicating efforts, reinventing the wheel and preparing conflicts...Last night I attended a boost lecture by Boris Schaeling (author of two books (I wrote the other two) on Boost and who lives in Amsterdam). The attendees had quite a number of critical questions on the future and feasibility of C++ and Boost.IMO the communication(in fairness, not a strong point) from library developers needs to be improved. That's my personal experience. Others may think differently. The wider developer community has been left out of the equation, it seems.Boost has a lot to do. N.B. Don't shoot, I'm only the messenger
Last edited by Cuchulainn on December 18th, 2014, 11:00 pm, edited 1 time in total.
 
User avatar
Cuchulainn
Posts: 20254
Joined: July 16th, 2004, 7:38 am
Location: 20, 000

sitmo C++ normal distribution

December 21st, 2014, 8:14 pm

QuoteOriginally posted by: outrunMy experience with boost *development* is extremely bad, I constantly think about how I can fix that element by starting something disrupitive (but then I quickly realise that it's not the best time spend during my short life on earth,..C++ libs?) . The bad experience has to do about specific individuals (I also had very good experiences with others), but the projects as a whole has no mechanism to handle "bad apples" and that's bad on that level too.They *did* create one of the best/useful libs for C++ if you look at user-base. The future usefulness is however less obvious, with a better C++14 the future libs will of course be more specialised and targeting smaller domains. Some people make suggestions for new libs but often there is already better non-boost lib available.yeah. here's the famous Interval SHOW STOPPER. So how to solve, just change it to a PROBLEM and pretendSTOP SHOW 5498LOL^10
Last edited by Cuchulainn on December 20th, 2014, 11:00 pm, edited 1 time in total.
 
User avatar
Cuchulainn
Posts: 20254
Joined: July 16th, 2004, 7:38 am
Location: 20, 000

sitmo C++ normal distribution

December 21st, 2014, 8:30 pm

Sent: 21 December 2014 22:17 Cc: [email protected] Attachments: #5498: Issues with the Interval Library---------------------------+---------------------- Reporter: dduffy@â?¦ | Owner: bgubenko Type: Bugs | Status: new Milestone: Boost 1.46.0 | Component: interval Version: Boost 1.46.0 | Severity: ProblemResolution: | Keywords: Interval---------------------------+----------------------Comment (by anonymous): We are now 4 years on. You conventiently changed status to PROBLEM... Has this show stopper been resolved? IMO it's easy to fix. thanks Daniel J. Duffy // aspettiamo
 
User avatar
quartz
Posts: 3
Joined: June 28th, 2005, 12:33 pm

sitmo C++ normal distribution

December 22nd, 2014, 9:38 am

Quoteyeah. here's the famous Interval SHOW STOPPER. So how to solve, just change it to a PROBLEM and pretendSTOP SHOW 5498LOL^10Amazing, but not surprising as it should.Well, it seems nowadays the show is not having a good library, but getting the "boost" label on it. Clearly your complaints were stopping the show, not the issue, problem solved
 
User avatar
quartz
Posts: 3
Joined: June 28th, 2005, 12:33 pm

sitmo C++ normal distribution

December 22nd, 2014, 9:54 am

QuoteOriginally posted by: outrunMy experience with boost *development* is extremely bad, I constantly think about how I can fix that element by starting something disrupitive (but then I quickly realise that it's not the best time spend during my short life on earth,..C++ libs?) . The bad experience has to do about specific individuals (I also had very good experiences with others), but the projects as a whole has no mechanism to handle "bad apples" and that's bad on that level too.They *did* create one of the best/useful libs for C++ if you look at user-base. The future usefulness is however less obvious, with a better C++14 the future libs will of course be more specialised and targeting smaller domains. Some people make suggestions for new libs but often there is already better non-boost lib available.Totally agreed. In the golden era there were serious people involved, now many have moved forth and there's little if any turnover. Did you notice the current review process? If I'm not mistaken one needs not be knowledgeable in the topic, and not even try out at all (let alone throughly test) a lib for sending a positive review! No comparison with state of the art competitors is required either, not even from the lib author himself nor at the feature level only. Hey, I have 6 friends too It seems that short comments from 7-8 newbies can be enough to accept a lib! The bar is getting lower and lower... There's a reason why nowadays many papers say how much they improved over newer boost libs... sending fixes is not anymore worth it, and serious guys don't even want the label anymore. It seems this is the same parabola as with many other good things.