New libclang API: clang_suspendTranslationUnit to reduce memory footprint
Milian Wolff
mail at milianw.de
Wed Jun 7 08:30:44 UTC 2017
On Wednesday, June 7, 2017 8:43:59 AM CEST Kevin Funk wrote:
> Heya,
>
> Just as a personal note and for future reference: There's new libclang API
> we can potentially use to save some memory, introduced by our friends from
> TheQtCompany:
> https://www.mail-archive.com/cfe-commits@lists.llvm.org/msg58408.html
>
> Worth having a look at it once we find the time.
>
> This is the commit message of the patch I'm referring to:
>
> commit 91321d9884b7ce357cac1d128244d22dbe2a0cc7
> Author: Erik Verbruggen <erikjv at me.com>
> Date: Tue May 30 14:25:54 2017 +0000
>
> [libclang] Allow to suspend a translation unit.
>
> A suspended translation unit uses significantly less memory but on the
> other side does not support any other calls than
> clang_reparseTranslationUnit to resume it or
> clang_disposeTranslationUnit to dispose it completely.
>
> This helps IDEs to reduce the memory footprint. The data that is freed
> by a call to clang_suspendTranslationUnit will be re-generated on the
> next (re)parse anyway. Used with a preamble, this allows pretty fast
> resumption of the translation unit for further use (compared to disposal
> of the translation unit and a parse from scratch).
>
> Patch by Nikolai Kosjar!
Yes, this sounds excellent! Esp. compare to what I just wrote to Rene.
--
Milian Wolff
mail at milianw.de
http://milianw.de
More information about the KDevelop-devel
mailing list