I have been massively speeding up some of my own Java code by using threads. However, I understand that is much harder to do with C++ which is how I understand HTMLValidator was written.
I thought you might do it this way that avoids the thread complication.
Write a single thread batch validator that takes a list of files and puts its results in a file in computer-friendly format.
Then you can configure N, the number of instances to run. The Master program that kicks off the batch process collects the list of files to process. It "deals" them in N piles much the way you would deal cards. Then it launches N independnt copies of the batch validator, each handed 1/Nth of the files to process. These processes should terminate at roughly the same time. Then the mother program collects the output files, sorts them, and formats them into HTML, and prepares a list of file that have problems that can be used to load them into the editor.
Another wrinkle would be to use an SQL database where you record the problems discovered. That way you can bypass processing if the file is unchanged since the data in the database.
I keep pushing you so that I can mindlessly run "validate everything" periodically and have it finish in a few seconds if I have not changed all that much.



