The fact is that there is some synchronization overhead when the GC is parallel (the OS threads need to synchronize to run the GC and each of the phases of the GC in unison). So if the heap is small, as is the case for most unit tests, the GC doesn’t accelerate much because there is little parallelism to exploit, but there is an overhead to pay for attempting to do things in parallel. This is a common issue in parallel processing.
Marc
> On Nov 7, 2016, at 8:53 PM, Adam <adam.mlmb@gmail.com> wrote:
>
> And this shows us what?
>
> Btw, isn't the only effect --enable-multiple-threaded-vms should have right now, that execution is slightly faster, as GC is faster now?
>
> 2016-11-08 9:31 GMT+08:00 Bradley Lucier <lucier@math.purdue.edu>:
> On 11/07/2016 08:26 PM, Adam wrote:
> Wait, what does this actually tell us?
>
> There used to be a big difference in the time to complete the unit tests: with --enable-multiple-threaded-vms it used to take
>
> [ 122| 0| 0] 100% ########################################## 3.7s
>
> and now it takes
>
> [ 122| 0| 0] 100% ########################################## 1.8s
>
> A big improvement. But without --enable-multiple-threaded-vms it takes
>
> [ 122| 0| 0] 100% ########################################## 1.6s
>
> So there's been an improvement.
>
> Brad
>
> _______________________________________________
> Gambit-list mailing list
> Gambit-list@iro.umontreal.ca
> https://webmail.iro.umontreal.ca/mailman/listinfo/gambit- list