if you take each heap region and give them their own garbage collector and 
assign each thread/"proces"/fiber one, then you get another somewhat 
related approach for soft real time performance in GC'd languages (it's 
both for performance and safety & parallelism) like you have in 
Erlang/Elixir (dynamically typed & JITed/interpreted) or Nim (AOT, 
statically typed).

On Tuesday, May 12, 2015 at 12:03:20 AM UTC+2, Michael Louwrens wrote:
>
> I am starting to read "Region-Based Memory Management for a 
> Dynamically-Typed Language 
> <http://link.springer.com/content/pdf/10.1007/b102225.pdf#page=240>" it 
> proposes a second inference system, region inference.
>
> I will read it fully in the morning but just scanning through 
> their results they compare their regions to a GC. The GC library uses far 
> more heap in most cases, though the region based system needs optimisation 
> to be competitive.
>
> At one point they do state a combination of region based memory management 
> and GC would be interesting. 
>
> For a prototype implementation, being 2x-3x slower while mostly using far 
> less memory is quite successful. The "Div" benchmark from Gabriel Scheme 
> benchmarks was the most impressive in terms of heap usage using 32.2KB vs. 
> 1219.6 for the GC'd version. In a memory constrained system this would be 
> an interesting thing to look at, the outliers are a bit of a concern 
> though. The "Tak" and "Destruct" benchmarks use almost 10x the amount of 
> heap the GC did.
>
> If anything it was an interesting read. The emulated region based 
> management sounds quite interesting in fact. Will go read up on the two 
> Steven Sagaert mentioned. Haven't read too much about G1 and nothing at all 
> on Azul Zing!
>

Reply via email to