Boost logo

Boost :

Subject: Re: [boost] Removing auto_ptr/etc. from Boost
From: Peter Dimov (lists_at_[hidden])
Date: 2015-03-19 12:03:13


Andrey Semashev wrote:
> Looking at Boost.Random, creating RNG involves seed generation, which is
> probably one or several syscalls, let alone any possible resource
> allocations.

Creating what type of RNG?

> This has to be done on each call to shuffle, if I understand correctly.

Well, it depends, you can keep the URNG around if you like. You don't have
to recreate it before each call.

> Compare that with rand(), which is presumably purely computational and
> never fails.

I would expect rand() to take a lock (or use an atomic compare/exchange)
under implementations that don't make it thread-specific, so it should be
slower than a simple local RNG. Even a thread-local rand() should be
slightly slower, in principle.


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk