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)`.