Re: parallel GC only after at least one thread was created?

Shiro Kawai <[email protected]> Wed, 27 Mar 2024 10:02:46 -1000
Newsgroups gmane.lisp.scheme.gauche
Message-ID <CALN0JNG=KvfZJXcphK+721WyptMUO=ErQ=x48YJn0593FN3m5A@mail.gmail.com>
It does seem so; when I create the first thread in Gauche, GC spawns a
bunch of marker threads (bdwgc intercepts pthread_create).

I vaguely remember it wasn't the case before.   I'll check bdwgc history.


On Wed, Mar 27, 2024 at 6:10 AM Jens Thiele <[email protected]> wrote:

> Hi,
>
> maybe this is a feature, but from "top" it looks like parallel GC only
> is used after at least one thread was created?
>
> No parallel GC:
>
> #!/usr/bin/env gosh
> (use gauche.threads)
>
> (define (main args)
>   (while #t
>     (gc))
>   0)
>
> looks like parallel GC is used:
>
> #!/usr/bin/env gosh
> (use gauche.threads)
>
> (define (main args)
>   (let1 t (make-thread (lambda() (+ 1 2)))
>     (thread-start! t)
>     #?=(thread-join! t))
>   (while #t
>     (gc))
>   0)
>
> Greetings,
> Jens
>
>
> _______________________________________________
> Gauche-devel mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/gauche-devel
>

_______________________________________________
Gauche-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/gauche-devel