Thanks Sean for the suggestions ! Indeed it works, but it is still not 100% of multi-threaded work. At least in my experiments, I run an ordinary non-master slave multi-threaded problem on a single machine, and compared it with the same multi-threaded problem run in master - multi-threaded slave. Non-master slave multi-threaded problem on a single machine used the multi-threads at their full-capacity. Looks like because of such workarounds, the multi-threaded benefit in master - multi-threaded slave could not be used in its full capacity. At some point of time all the threads are running, at some point only single thread is running by the slave. I think that breeding at least and some other initializations by the problem are done in multi-threaded way, however I am not sure that this can be said for all of the phases by evaluation, pre- or post evaluation. At least this is my overview. It could be also wrong. But I hope that the master-multi-threaded slave feature will be soon added to the ecj, so the whole capacity of multi-core machines can be used by master-slave configurations. Thanks once again, Nikola