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

Reply via email to