I'm thinking about ways to remove the global lock from the garbage
collector for most small allocations. I'm basically thinking of making
the free lists thread local. Every scheme I can come up with that
doesn't require a radical overhaul of the current implementation
requires every thread having a unique ID. I want to do this as simply
and efficiently as possible, preferably using dense integers. Is it
reasonable to assume that no program will ever need more than 2 ^^ 16
thread (about 65,000) simultaneously so that I can store these indices
as ushorts? If a program creates a lot of short-lived threads, the
indices will be recycled, so having a huge number of threads
non-simultaneously is not a problem.
- Removing The Global GC Lock: Largest Plausible Number... dsimcha
- Re: Removing The Global GC Lock: Largest Plausibl... Jonathan M Davis
- Re: Removing The Global GC Lock: Largest Plau... Jonathan M Davis
- Re: Removing The Global GC Lock: Largest Plausibl... Daniel Gibson
- Re: Removing The Global GC Lock: Largest Plau... Daniel Gibson
- Re: Removing The Global GC Lock: Largest Plausibl... Walter Bright
- Re: Removing The Global GC Lock: Largest Plausibl... Andrei Alexandrescu
- Re: Removing The Global GC Lock: Largest Plausibl... Kagamin
- Re: Removing The Global GC Lock: Largest Plausibl... JimBob
