Open Bug 996802 Opened 11 years ago Updated 3 years ago

[DMD] Implement alternative to dladdr on OSX

Categories

(Core :: DMD, defect)

x86
macOS
defect

Tracking

()

People

(Reporter: erahm, Unassigned)

Details

(Whiteboard: [MemShrink:P2])

dladdr() is incredibly slow on OS X. I tracked this down to Apple's implementation[1] of looking up the closest symbol which enumerates every symbol in an image each time dladdr is called. Maintaining a sorted list of symbol addresses would vastly improve lookup times. It's possible we'd want to use this outside of DMD as well. [1] https://github.com/Apple-FOSS-Mirror/dyld/blob/b608d83fdddaa9b134865007b04f821c6f7b244a/src/ImageLoaderMachOCompressed.cpp#L1471
Whiteboard: [MemShrink] → [MemShrink:P2]
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.