Well, I think you are on the right track. The threaded garbage collector is slower than the default one. However, right now you're seeing the time increase by using the garbage collector without getting a second thread doing computations. Have you actually added a second thread, or even spawn 2 threads and let the main thread give time to the cpu (Delay())?
Generally speaking, on the whole, even if there is some overhead from using threads (and there is, garbage collector or not), you should be gaining much more computation time than you're losing. Also, are you compiling in debug mode? That'll be a lot slower than release mode.
Generally speaking, on the whole, even if there is some overhead from using threads (and there is, garbage collector or not), you should be gaining much more computation time than you're losing. Also, are you compiling in debug mode? That'll be a lot slower than release mode.