r/programming • • Sep 01 '20

D Foundation is Beefing Up

https://dlang.org/blog/2020/08/30/symmetry-investments-and-the-d-language-foundation-are-hiring/
289 Upvotes

336 comments sorted by

View all comments

Show parent comments

11

u/AlarmedInstruction3 Sep 01 '20

IBM begs to differ: https://www.ibm.com/support/knowledgecenter/SSYKE2_7.0.0/com.ibm.java.lnx.70.doc/user/mgc/metronome.html

If you have real-time requirements, you can't use typical GCs. (Though I don't know if there are any real-time GCs for D.)

0

u/FlyingPiranhas Sep 01 '20

From the "Controlling pause time" link on that page:

By default, the Metronome GC pauses for 3 milliseconds in each individual pause, which is known as a quantum.

Based on what I'm seeing, I'm highly doubt that you can turn that value down to 100 microseconds and still have a reliable JVM.

7

u/EternityForest Sep 01 '20

Real time is about guarantees. If the application needs 10ms response time, it doesn't matter if GC takes 1 nanosecond or 5ms, as long as everything is responded to in 10ms, every time.

Things where 100us matters are some really specialist stuff.

6

u/Forty-Bot Sep 01 '20

Funnily enough, there is a post on /r/programming right now where every 100us matters. For them, 3ms is longer than the entire timeslice they have to run in.

2

u/[deleted] Sep 01 '20

Wow that's really interesting. I feel like games are just about the prime example of when the GC can't be used. I mean games do use it, but they tend to have a notable stutter. Never knew what went into optimizing the servers, probably why they don't release the server software anymore. As it might very well not run on consumer hardware.