Emitting a JSON representation of the DocC navigator index

Great question! In general this isn't a huge concern because, in practice, we already perform indexing by default since both of Swift-DocC's integrations with Xcode and the Swift-DocC Plugin pass the --index flag.

However, the data is still interesting and relevant here. I went ahead and collected data for both Swift-Markdown and Swift-Syntax:

Project Building with Indexing Disabled Building with LMDB Indexing (Current Default) Building With LMDB+JSON Indexing (Proposed Default) Building With JSON Indexing (Future Default)
Swift Markdown 1.01 1.10 1.10 1.06
SwiftSyntax 23.51 26.37 27.24 25.37

Values in seconds show the average time, over three runs, it took docc to perform a full conversion, excluding the time it takes the Swift compiler to emit the symbol graph files.

What it shows is that while we'll take a slight performance hit for taking the time to emit both the LDMB and JSON representation, we'll see a greater performance win when we can fully migrate to JSON.

I think this definitely shows that we should prioritize making the JSON and LMDB fully interoperable in the near future.