perf(indexing): optimize referenceinfo for memory
What does this MR do and why?
- Makes reference names empty for Ruby as these are never used.
- Boxes potentially empty fields to conserve memory for struct/enum inlining. This moves data to the heap, but does not have noticeable parsing time impact (it is actually even faster now). Saves ~10% of memory for all languages parsing.
Related Issues
[gkg][indexer] high memory utilization on gitla... (knowledge-graph#175)
Testing
Before:
After:
Performance Analysis
-
This merge request does not introduce any performance regression. If a performance regression is expected, explain why.
Edited by Bohdan Parkhomchuk