Replaces the dummy CodeCompletion model with a trained DecisionForest
model.
The features.json are manually curated specifying the features
to be used. This is a one-time cost and does not change if the model
changes until we decide to add/remove features.
Stats for comparison:
Binary size
ClangdTests binary: -> 263.1624MB -> 263.65324MB (*0.2%* increase)
Build Time
ninja ClangdTests:
Only changing the completion model and rebuilding using cache: 32.24s -> 38.75s
Clean build: 05:27 min-> 5:30 min
Minor (3-6s) increase in build time.
Latency
For float Evaluate(const Example&): 3-4 us.
A completion query having ~1000 completion candidates will take about 3-4ms to get ranked.