Closed bzaar closed 9 years ago
I have actually tried out the above suggestions and couldn't make it run any faster. Locking at the Node level is immensely slow because it has to create millions of ReaderWriterLock's and those are really expensive. Locking the whole tree doesn't do much good either: the process essentially becomes single threaded and the locking is just making it slower.
... and verify that this actually speeds up things on a typical 4-core system. Excessive locking might negate all the benefits of parallelism. Try locking at Node and DawgBuilder levels and see what difference it makes.