pitrou edited a comment on pull request #11864: URL: https://github.com/apache/arrow/pull/11864#issuecomment-997755791
> Though the microbenchmark result, I think it's unlikely a real issue in practice, and static thread_local looks to me not a good fix. I agree that `static thread_local` looks not very desirable. > Maybe we can think about replacing std::random_device. [1][2] As long as the source is still non-deterministic (and does query the system entropy pool at least once), that sounds reasonable. Edit: the recipe in [1] extracts only 32 bits of system entropy from `random_device`, and augments it with questionable sources (such as addresses of heap memory etc.). It would seem better to extract enough entropy from `random_device` (for example 128 or 256 bits) without trying to exploit custom pseudo-random sources. I think it would make sense to have a two-stage approach: * an internal seeding generator, initialized only once from `random_device` * a new generator for each call to the "random" function, seeded with output from the internal generator -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
