digitalmars.D - I wish Dlang had incremental and concurrent garbage collection
- James Lu (4/4) Jan 11 2020 I have a single-threaded, highly stateful application, a
- bauss (7/11) Jan 30 2020 What's stopping you from creating multiple threads?
- JN (5/9) Jan 31 2020 Have you actually done any profiling that shows that D's GC is
- Joseph Rushton Wakeling (4/8) Feb 01 2020 Note also that it's also readily possible to architect a D app to
I have a single-threaded, highly stateful application, a networked multiplayer game. It must run on the server at 25FPS. What progress is there on giving D a GC mode that "spreads out" the cost of doing GC?
Jan 11 2020
On Saturday, 11 January 2020 at 21:10:45 UTC, James Lu wrote:I have a single-threaded, highly stateful application, a networked multiplayer game. It must run on the server at 25FPS. What progress is there on giving D a GC mode that "spreads out" the cost of doing GC?What's stopping you from creating multiple threads? You can easily have a network thread and a UI thread and simply pass any data to the network thread from the UI thread and the other way around too using std.concurrency. I've done that myself and it works fine and can definitely run at a faster FPS than 25 too.
Jan 30 2020
On Saturday, 11 January 2020 at 21:10:45 UTC, James Lu wrote:I have a single-threaded, highly stateful application, a networked multiplayer game. It must run on the server at 25FPS. What progress is there on giving D a GC mode that "spreads out" the cost of doing GC?Have you actually done any profiling that shows that D's GC is preventing you from achieving 25 FPS? 25 FPS is 40 ms, I don't know how much your update loop takes, but I don't think the D GC pauses would be this long?
Jan 31 2020
On Friday, 31 January 2020 at 10:35:45 UTC, JN wrote:Have you actually done any profiling that shows that D's GC is preventing you from achieving 25 FPS? 25 FPS is 40 ms, I don't know how much your update loop takes, but I don't think the D GC pauses would be this long?Note also that it's also readily possible to architect a D app to use resource pools, reusable buffers, etc. such that GC cycles are never triggered.
Feb 01 2020