Best ROOT version for multi-threading

Hi there,

I would like to know which version of ROOT for Windows is better for multi-threading. I’m currently using VS 2019 at the moment and ROOT 6.18 but I also have VS 2013 and ROOT 5.34/36.

I would like to create a program with multiple threads and wonder which is the best option and whether the new ROOT 6.18 for Windows is stable.

Thanks in advance!


ROOT 6 on Windows is still in a “preview” stage, but you could try and let us know if you encounter any difficulties

Cheers, Bertrand.

About v5 vs v6, there is little to no thread-awareness in ROOT5 (i.e. use multi-threading at your own risk, and the amount of global state in ROOT will not help). ROOT6 introduced ROOT::EnableThreadSafety() and a few more features that should help with multi-thread programs.

I’m not sure how much of that runs fine on Windows, @bellenot knows best

Thanks for the answers.

I’m looking for stability for the time being since I’m fairly new to ROOT however once I get to grips with multi-threading I can try and implement the program in ROOT6.

So the current state suggests that ROOT6 is more suitable for multi-threading but its stability is undefined on Windows and ROOT5 has little thread-awareness but has defined stability on Windows.

That’s correct. You can also install ROOT in the Windows subsystem for Linux (WSL): Complete ROOT Installation Instructions for WSL (Ubuntu 18.04 on Windows 10) and that will be as stable as any other linux installation