Swift 1 min read 140 words

Swift 6.4 speeds up importing bridging headers in LLDB

The debugger work begun in Swift 6.3 continues, with a concrete win for breakpoint latency.

Updated

Swift 6.4 will speed up importing bridging headers in LLDB. That is a debugger cost you pay at a breakpoint: LLDB can JIT-compile any valid source code and run it in the context of your application while stopped there, and importing the bridging header is part of what it does first. How much faster is not stated.

The same release changes how the Swift compiler references explicitly-built Swift modules in debug info, continuing work that started in Swift 6.3. That earlier release changed the way modules are tracked in debug info, and from Swift 6.3 the compiler can store the path to a Swift file's own module there.

Two constraints explain why this is fiddly. Binary Swift modules are version-locked to the precise compiler that created them. And starting in Swift 6.3, explicitly-built binary Swift modules keep track of their own Swift module dependencies.

Sources

  1. Module Tracking in Swift Debug Info Primary Swift.org Blog

Researched and drafted with AI assistance from the primary sources listed above, then checked against those sources before publication. Every factual claim here is traceable to a cited source; where the sources are silent, so are we. How this works.