parallelise 'enter_edge'
I’ve been looking at speeding up enter_edge with multithreading. This is conceptually straightforward and I was going to post it without a tracking issue, but getting this working cross platform is turning out to be fiddly.
It seems worthwhile to think about the higher level concerns this raises:
- Do we want a way to compile-time switch off multithreading? I was assuming yes, and was planning a build switch for it.
- Do we want to enable this in both Autotools and CMake? CMake is not so bad. Autotools looks like a heavy lift.
- Do we want a command line option to control this? I was assuming yes, something like
-j …that defaults to the number of CPUs you have.
These questions are coming up because this would be the first use of multithreading in Graphviz.