Files
sourcekit-lsp/Sources/SKCore
Ben Langmuir f24f798ac4 Speed up compilation database loading when using "command"
The JSON compilation database allows specifying arguments either as an
array of string ("arguments") or as a single shell-escaped string
("command"). When using "command", we were hitting very slow load times
for large compilation databases. This commit speeds up splitting the
shell-escaped command by not iterating the UTF-8 view instead of the
graphemes.

In release builds I see ~10x speedup of the splitting perf test, and
~3-5x in a debug build. In a real-world test using the cmake-generated
compile_commands.json for llvm+clang this sped up overall compilation
database loading from 11 seconds to 1.2 seconds on my machine.
2020-02-03 12:31:34 -08:00
..
2019-12-04 16:47:34 -08:00