Re: Concurrent GC (for Windows)

2014-06-16 Thread Rainer Schuetze via Digitalmars-d
On 15.06.2014 23:30, Martin Nowak wrote: On 06/04/2014 10:37 PM, Rainer Schuetze wrote: Most of the remaining pause time is sweeping garbage. I think about deferring sweeping into allocations by running finalizers just before reusing the memory for another object. This can throttle

Re: Concurrent GC (for Windows)

2014-06-15 Thread Rainer Schuetze via Digitalmars-d
On 14.06.2014 20:17, Dmitry Olshansky wrote: I added COW to the concurrent GC ( https://github.com/rainers/druntime/tree/concurrent_gc2 ) and it seems more stable with respect to pause times than the version with reading write watches. How do I run benchmarks and what are the newest

Re: Concurrent GC (for Windows)

2014-06-15 Thread Martin Nowak via Digitalmars-d
On 06/04/2014 10:37 PM, Rainer Schuetze wrote: Most of the remaining pause time is sweeping garbage. I think about deferring sweeping into allocations by running finalizers just before reusing the memory for another object. This can throttle allocations a bit while at the same time reduce

Re: Concurrent GC (for Windows)

2014-06-15 Thread Martin Nowak via Digitalmars-d
On 06/12/2014 08:34 AM, Rainer Schuetze wrote: If I add the actual copy into heap2 (i.e. every fourth page of 512 MB is copied), I get 80-90 ms more. The numbers are not great, but I guess the usual memory usage and number of modified pages will be much lower. I'll see if I can integrate this

Re: Concurrent GC (for Windows)

2014-06-14 Thread Rainer Schuetze via Digitalmars-d
On 13.06.2014 12:08, Dmitry Olshansky wrote: 13-Jun-2014 12:22, Rainer Schuetze пишет: If I add the actual copy into heap2 (i.e. every fourth page of 512 MB is copied), I get 80-90 ms more. Aye... this is a lot. Also for me it turns out that unmapping CoW view at the last step takes the

Re: Concurrent GC (for Windows)

2014-06-14 Thread Dmitry Olshansky via Digitalmars-d
14-Jun-2014 20:34, Rainer Schuetze пишет: On 13.06.2014 12:08, Dmitry Olshansky wrote: 13-Jun-2014 12:22, Rainer Schuetze пишет: If I add the actual copy into heap2 (i.e. every fourth page of 512 MB is copied), I get 80-90 ms more. Aye... this is a lot. Also for me it turns out that

Re: Concurrent GC (for Windows)

2014-06-13 Thread Rainer Schuetze via Digitalmars-d
On 13.06.2014 02:38, Dmitry Olshansky wrote: 12-Jun-2014 10:34, Rainer Schuetze пишет: I implemented the QueryWorkingSetEx version like this (you need a converted psapi.lib for Win32): Yes, exactly, but I forgot the recipe to convert COFF/OMF import libraries. Grab coffimplib.exe. This

Re: Concurrent GC (for Windows)

2014-06-13 Thread Dmitry Olshansky via Digitalmars-d
13-Jun-2014 12:22, Rainer Schuetze пишет: On 13.06.2014 02:38, Dmitry Olshansky wrote: 12-Jun-2014 10:34, Rainer Schuetze пишет: I implemented the QueryWorkingSetEx version like this (you need a converted psapi.lib for Win32): Yes, exactly, but I forgot the recipe to convert COFF/OMF

Re: Concurrent GC (for Windows)

2014-06-12 Thread Rainer Schuetze via Digitalmars-d
On 11.06.2014 18:59, Dmitry Olshansky wrote: 03-Jun-2014 11:35, Rainer Schuetze пишет: Hi, more GC talk: the last couple of days, I've been experimenting with implementing a concurrent GC on Windows inspired by Leandros CDGC. Here's a report on my experiments: http://rainers.github.io

Re: Concurrent GC (for Windows)

2014-06-12 Thread Dmitry Olshansky via Digitalmars-d
12-Jun-2014 10:34, Rainer Schuetze пишет: On 11.06.2014 18:59, Dmitry Olshansky wrote: 03-Jun-2014 11:35, Rainer Schuetze пишет: Hi, more GC talk: the last couple of days, I've been experimenting with implementing a concurrent GC on Windows inspired by Leandros CDGC. Here's a report on my

Re: Concurrent GC (for Windows)

2014-06-11 Thread Dmitry Olshansky via Digitalmars-d
03-Jun-2014 11:35, Rainer Schuetze пишет: Hi, more GC talk: the last couple of days, I've been experimenting with implementing a concurrent GC on Windows inspired by Leandros CDGC. Here's a report on my experiments: http://rainers.github.io/visuald/druntime/concurrentgc.html tl;dr

Re: Concurrent GC (for Windows)

2014-06-05 Thread Jacob Carlborg via Digitalmars-d
On 2014-06-04 22:37, Rainer Schuetze wrote: All more sophisticated GCs have write or read barriers. That makes it much easier to keep track of modifications during concurrent collection. Right, now I start to remember. -- /Jacob Carlborg

Re: Concurrent GC (for Windows)

2014-06-04 Thread Jacob Carlborg via Digitalmars-d
On 03/06/14 09:35, Rainer Schuetze wrote: Hi, more GC talk: the last couple of days, I've been experimenting with implementing a concurrent GC on Windows inspired by Leandros CDGC. Here's a report on my experiments: http://rainers.github.io/visuald/druntime/concurrentgc.html tl;dr

Re: Concurrent GC (for Windows)

2014-06-04 Thread Paulo Pinto via Digitalmars-d
On Wednesday, 4 June 2014 at 06:51:04 UTC, Jacob Carlborg wrote: On 03/06/14 09:35, Rainer Schuetze wrote: Hi, more GC talk: the last couple of days, I've been experimenting with implementing a concurrent GC on Windows inspired by Leandros CDGC. Here's a report on my experiments: http

Re: Concurrent GC (for Windows)

2014-06-04 Thread Jacob Carlborg via Digitalmars-d
On 2014-06-04 09:14, Paulo Pinto wrote: Note that there are native compilers for Java and C#. My question still remains :) -- /Jacob Carlborg

Re: Concurrent GC (for Windows)

2014-06-04 Thread Rainer Schuetze via Digitalmars-d
On 04.06.2014 07:44, Benjamin Thaut wrote: Am 03.06.2014 09:35, schrieb Rainer Schuetze: Hi, more GC talk: the last couple of days, I've been experimenting with implementing a concurrent GC on Windows inspired by Leandros CDGC. Here's a report on my experiments: http://rainers.github.io

Re: Concurrent GC (for Windows)

2014-06-04 Thread Rainer Schuetze via Digitalmars-d
On 04.06.2014 08:51, Jacob Carlborg wrote: On 03/06/14 09:35, Rainer Schuetze wrote: Hi, more GC talk: the last couple of days, I've been experimenting with implementing a concurrent GC on Windows inspired by Leandros CDGC. Here's a report on my experiments: http://rainers.github.io/visuald

Re: Concurrent GC (for Windows)

2014-06-04 Thread Benjamin Thaut via Digitalmars-d
Am 04.06.2014 22:26, schrieb Rainer Schuetze: Yes, write barriers are a good addition to this, but is way more difficult to implement and will meet more resistance from Walter. It's still something I'd like to look into. I assume they are hard to implement because the backend no longer has

Concurrent GC (for Windows)

2014-06-03 Thread Rainer Schuetze via Digitalmars-d
Hi, more GC talk: the last couple of days, I've been experimenting with implementing a concurrent GC on Windows inspired by Leandros CDGC. Here's a report on my experiments: http://rainers.github.io/visuald/druntime/concurrentgc.html tl;dr: there is a working(?) partially concurrent GC here

Re: Concurrent GC (for Windows)

2014-06-03 Thread Benjamin Thaut via Digitalmars-d
Am 03.06.2014 09:35, schrieb Rainer Schuetze: Hi, more GC talk: the last couple of days, I've been experimenting with implementing a concurrent GC on Windows inspired by Leandros CDGC. Here's a report on my experiments: http://rainers.github.io/visuald/druntime/concurrentgc.html tl;dr