Tested on both AMD Athlon X4 730 Quad Core and Intel Core i5-3210M.

I used GetCPUCoresCount method here. In both cases I got a return value of 4.

30% faster is only when the threads are generating their own data rather than operating on a same variant structure (by passing pointer of the variant accross threads) . The latter proved to be no performance gain at all.