dwarf.cr

DWARF

Experiment at optimizing the DWARF debug section parsers in the Crystal stdlib.

See https://github.com/crystal-lang/crystal/issues/17120

A notable change is the use of scanners that avoid memory allocations instead of parsers that pre-parse everything and require lots of time and memory.

The final goal is to have a better implementation and more optimized tables, and a more efficient model overall, that consumes less CPU and RAM usage for the overall cases (dev or release, with/out full debug info).

The final implementation might keep the index tables (faster lookup, but slow to build), or dynamically lookup into the DWARF sections (no build, slow lookup) with a LRU cache (faster repeated lookups), or even adding a compilation step to inject the tables into the executable (no build, fast lookups).

Requires Crystal 1.21-dev or later.

Repository

dwarf.cr

Owner
Statistic
  • 0
  • 0
  • 0
  • 0
  • 0
  • about 3 hours ago
  • July 16, 2026
License

Links
Synced at

Thu, 16 Jul 2026 17:03:34 GMT

Languages