guile-user
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: GC thread performance


From: Hans Åberg
Subject: Re: GC thread performance
Date: Sat, 2 Dec 2017 15:20:15 +0100


> On 2 Dec 2017, at 09:50, Marko Rauhamaa <address@hidden> wrote:
> 
> Guile guarantees the consistency of the data model under all
> circumstances. Bad synchronization between threads is allowed to cause
> unspecified behavior, but it should never trigger a SIGSEGV. In
> practice, that means excessive locking: all data access needs to take
> place in a critical section.

> These and other issues with multithreading have caused many of us to
> reject multithreading as a paradigm altogether. Use event-driven
> programming for multiplexing and multiprocessing for performance.

I see the the expected behavior when turing off the GC altogether, using malloc 
and free without cleanup: I third of the time on one thread, decreasing up to 
hardware concurrency.

The Boehm GC sets a lock around all allocations and collections [1], so it 
might be such excessive locking that slows it down. That pages seems old: I 
could not see a difference when choosing the options at [2].


1. http://www.hboehm.info/gc/scale.html
2. http://www.hboehm.info/gc/simple_example.html





reply via email to

[Prev in Thread] Current Thread [Next in Thread]