On Thursday, 1 April 2021 at 16:52:17 UTC, Nestor wrote:
I was hoping to beat my dear Python and get similar results to Go, but that is not the case neither using rdmd nor running the executable generated by dmd. I am getting values between 350-380 ms, and 81ms in Python.
[...]
``` for (int number = 0; number < 100000; ++number) { auto rnd = Random(unpredictableSeed); auto n = uniform(0, 100, rnd); mylist ~= n; } `````` for _ in range(100000): mylist.append(random.randint(0,100)) ```
In the D version, you're re-seeding the random number generator on every loop. That takes time. You're not doing that in the Python version.
Move `auto rnd = ...;` out of the loop, and you will get better times. Or just use the default generator with `uniform(0, 100)`.
