Join GitHub today
GitHub is home to over 36 million developers working together to host and review code, manage projects, and build software together.Sign up
Refactor Symbol Cache #384
It turns out that sending thousands of symbols serialized to JSON through HTTP is not the best idea I've ever had!
I've started working on some performance analyses, and while I don't have yet lot of experience with it there was one big elephant in the room that was noticeable even for me:
The absurd amount of
Turns out this all was caused by single function -
After the refactoring main FSAC process inserts symbols to SQLite directly, and only sends notification to the SymbolCache process that the DB was updated and it should be loaded to memory.
I've also observed decrease on Large Object allocations from around 3% to 1% and GCStats are not showing any LOH allocation pauses.
referenced this pull request
May 24, 2019
@enricosada, Regarding comments on code - I've only refactored code here for performance gain, the comments are relevant but I don't want to address them at the moment - it's just refactoring, I don't want to introduce any changes to the feature