[PATCH] D41495: [clangd] Skip function bodies when building the preamble

Ilya Biryukov via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Thu Dec 21 08:16:04 PST 2017


ilya-biryukov added a comment.

I haven't done proper benchmarks, but here are some numbers from running this on my machine:

Sizes of preamble with (before the change) and without (after the change) functon bodies:

| File                   | Before  | After   |
| ClangdUnit.cpp         | 49.58MB | 34.79MB |
| SemaDecl.cpp           | 47.03MB | 31.51MB |
| All C++11 stl includes | 13.15MB | 8.75M   |
|

Time to build the preamble (just a single run, not a proper benchmark):

| File                   | Before | After |
| ClangdUnit.cpp         | 4.39s  | 2.49s |
| SemaDecl.cpp           | 4.28s  | 2.29s |
| All C++11 stl includes | 1.40s  | 0.80s |
|

Time to build AST and provide diagnostics after preamble is ready (just a single run, not a proper benchmark):

| File           | Before | After |
| ClangdUnit.cpp | 1.75s  | 0.18s |
| SemaDecl.cpp   | 2.30s  | 0.74s |
|


Repository:
  rCTE Clang Tools Extra

https://reviews.llvm.org/D41495





More information about the cfe-commits mailing list