ccls
ccls copied to clipboard
Potential performance improvements: simdjson & libfmt
I just had a showerthought idea regarding two possible performance improvements in ccls.
I didn't do any benchmarking neither know whether these components are the performance bottleneck of ccls. So take this as profoundly speculative. I'm just mentioning it, since I didn't see it in the issues.
- replace rapidjson with simdjson.
- use libfmt for string formatting and composition (avoid the creation of temporary string instantiations.
I'd love to hear your thoughts about it. Thanks for the wonderful work.
as far as i know, the bottleneck of ccls is the cache load speed and compile speed, use sqlite to save cache file may get huge improvement in hdd or mac as we read only one file
cache load speed
Is the cache load speed related to the parsing of the compile_commands.json file?
cache load speed
Is the cache load speed related to the parsing of the
compile_commands.jsonfile?
no i mean the speed to load .ccls-cache direction.
now ccls save symbol into separate file, which will be very slow in hdd and mac, maybe use sqlite will be better