Hello, I'm an IT student and I'm into HPC and multi-threading.
I don't participate too much in Forum and social activities, because I have no time, but today I've done the effort and seached a bit about WHY dwarf fortress has no MT support.
In the end (let me write a bit summary) there are two main reasons:
-ToadyOne is not used to parallel code and debugging;
-the refactory of the code doesn't worth the efforts, because it will be likely be written and modified.
I'm aware of all of this, so I just wondering: why not doing a harmless, minimal parallelization?
OpenMP framework allow to do that with there low effort and minimal code modification (almost no code modification itself, just a little #pragma line)
The very firsts examples we faced at university were about for-loop: with the single line #pragma omp parallel for, thread are created, work is assigned and performance rises!
Toady would not have to spend months and months in the hard magic of fine-tuned parallelism (and believe, it's REALLY HARD to master), nor to learn advanced concept of parallel coding, but just to find normal loop without dependencies and add a single pragma line.
I think this would be a "minimum effort" approach with a significant gain, since I GUESS (since I've not seen the code) there are a lot of loop that can advantage of that.
Sorry for any error in my first post and for any possible repost, but in my search I didn't find this specific suggestion.
Losing is fun to everyone from Italy!