On Mon, Nov 27, 2017 at 5:44 PM, Hans Åberg <haber...@telia.com> wrote:
> > > > On 28 Nov 2017, at 00:23, Marko Rauhamaa <ma...@pacujo.net> wrote: > > > > Hans Åberg <haber...@telia.com>: > >> I saw overhead also for the small allocations, 20-30% maybe. This is > >> in a program that makes a lot of allocations relative other > >> computations. So that made me wonder about Guile. > I cannot speak to GC, but I freuqently encounter situations in guile where using the parallel constructs e.g. par-for-each, end up running slower than the single-threaded version. For example, using 2 or 3 threads, I get a 2x and 3x speedup, great, but using 4x gives a slowdown, often 10x slower than single-threaded. I try to make sure that the insides of the loop are large and long-running, so that the cost of creating and scheduling threads is inconsequential. I have not attempted to determine the cause of this, but basically, that entire subsystem needs a careful review and measurement. --linas -- *"The problem is not that artificial intelligence will get too smart and take over the world," computer scientist Pedro Domingos writes, "the problem is that it's too stupid and already has." *