Skip to content

Instantly share code, notes, and snippets.

@schveiguy
Last active August 21, 2025 09:30
Show Gist options
  • Save schveiguy/116f067e0afcd92c1ebfe88dae80d4ad to your computer and use it in GitHub Desktop.
Save schveiguy/116f067e0afcd92c1ebfe88dae80d4ad to your computer and use it in GitHub Desktop.
Dconf 2025 lightning talk

Where my new GC at?

image
  • New GC is available generally, since July
  • Support matrix
Arch OS Compiler symgc included
X86-64 Linux ldc-1.41.0-symgc5 Yes
X86-64 Linux DMD master/2.112 No
X86-64 Windows ldc-1.41.0-symgc5 Yes
X86-64 Windows DMD master/2.112 No
AArch64 (ARM) 4k pages Linux ldc-1.41.0-symgc5 No*

* To be updated

Things that don't work

  • GC profiling printout (--DRT-gcopt=profile:1)
  • signals/slots (schveiguy/sdc#1)
  • monitor destruction on classes with no destructor (same problem)

Performance

  • Generally very good memory reduction (above 50% in many cases)
  • Single threaded performance can be a bit slower
  • Multithreaded performance scales unlike old GC (no global lock)
  • Working on a partial SIMD-based scanner (can be applied to regular GC as well)

Links

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment