In my experience, I never managed to use the `parallel` construct.

One of the goals of 2020 is to introduce Z3 theorem prover in the compiler and 
its first use-case would be to prove array accesses (it's not in the milestones 
yet so hopefuly @Araq can confirm: 
[https://github.com/nim-lang/RFCs/milestone/1)](https://github.com/nim-lang/RFCs/milestone/1\)).

For multithreading the standard library module is plagued with issues and the 
plan is to replace it with 
[https://github.com/yglukhov/threadpools](https://github.com/yglukhov/threadpools).

For high-performance use-case i.e. you also need a smart scheduler and not just 
a thin wrapper around threads, I suggest you use 
[https://github.com/mratsim/weave](https://github.com/mratsim/weave) 
(disclaimer: it's my own library).

Note that none of those work with the `parallel` statement This can be applied 
to this `parallel` or also for simple for-loop to avoid checking array accesses 
at each access but only once before loop-entry.

Reply via email to