KDevelop memory footprint
René J.V. Bertin
rjvbertin at gmail.com
Wed Jun 7 10:14:58 UTC 2017
On Wednesday June 07 2017 11:01:10 Milian Wolff wrote:
> On Wednesday, June 7, 2017 10:59:06 AM CEST René J.V. Bertin wrote:
> > On Wednesday June 07 2017 10:29:11 Milian Wolff wrote:
> > >It depends. Do you have lots of documents open? Then yes, the memory usage
> >
> > What is "lots" here?
>
> More than 10? Hard to say.
The session in question opens with 4 .cpp files, 1 C++ header, 1 C header and 1 .c file, which account for around 470Mb "real memory". Adding 4 more ObjC++ files gets me to the aforementioned footprint.
Reopening the session with just those 4 documents open also takes just shy of 500Mb "real memory", forcing a reparse by reloading all open documents increases that up to 900Mb transiently and 630Mb when done (and about 15Mb extra each additional reload).
That's a lot, more than I'd call reasonable, esp. if the footprint doesn't decrease easily after you close the documents and opening a document always comes with this kind of cost even if you open it only for a quick peek.
Rather than finding a way to evict TU data from memory it might be more productive to come up with a good way to prevent that memory usage in the first place, like a read-only state in which only cached parser data is used.
> > IOW, how many MB should we expect per open document, or
> > per Kb (or line) of open document?
>
> These metrics don't correlate.
Are you saying that the document contents are not related?
Are these unrelated too?
kdevplatform.language: WARNING: Non-function type assigned to function declaration. Type is: "NSView*" whichType: 2 Declaration is: "<notype> view" "/System/Library/Frameworks/AppKit.framework/Versions/C/Headers/NSOpenGLLayer.h" [ (23, 26) -> (23, 30) ]
kdevplatform.language: WARNING: Non-function type assigned to function declaration. Type is: "NSOpenGLPixelFormat*" whichType: 2 Declaration is: "<notype> openGLPixelFormat" "/System/Library/Frameworks/AppKit.framework/Versions/C/Headers/NSOpenGLLayer.h" [ (27, 39) -> (27, 56) ]
kdevplatform.language: WARNING: Non-function type assigned to function declaration. Type is: "NSOpenGLContext*" whichType: 2 Declaration is: "<notype> openGLContext" "/System/Library/Frameworks/AppKit.framework/Versions/C/Headers/NSOpenGLLayer.h" [ (31, 35) -> (31, 48) ]
kdevplatform.language: WARNING: Non-function type assigned to function declaration. Type is: "id< NSPageControllerDelegate >*" whichType: 2 Declaration is: "<notype> delegate" "/System/Library/Frameworks/AppKit.framework/Versions/C/Headers/NSPageController.h" [ (62, 56) -> (62, 64) ]
kdevplatform.language: WARNING: Non-function type assigned to function declaration. Type is: "NSViewController*" whichType: 2 Declaration is: "<notype> selectedViewController" "/System/Library/Frameworks/AppKit.framework/Versions/C/Headers/NSPageController.h" [ (66, 46) -> (66, 68) ]
kdevplatform.language: WARNING: Non-function type assigned to function declaration. Type is: "NSArray*" whichType: 2 Declaration is: "<notype> arrangedObjects" "/System/Library/Frameworks/AppKit.framework/Versions/C/Headers/NSPageController.h" [ (74, 25) -> (74, 40) ]
kdevplatform.language: WARNING: Non-function type assigned to function declaration. Type is: "id< NSPopoverDelegate >*" whichType: 2 Declaration is: "<notype> delegate" "/System/Library/Frameworks/AppKit.framework/Versions/C/Headers/NSPopover.h" [ (117, 50) -> (117, 58) ]
kdevplatform.language: WARNING: Non-function type assigned to function declaration. Type is: "NSViewController*" whichType: 2 Declaration is: "<notype> contentViewController" "/System/Library/Frameworks/AppKit.framework/Versions/C/Headers/NSPopover.h" [ (133, 45) -> (133, 66) ]
kdevplatform.language: WARNING: Non-function type assigned to function declaration. Type is: "NSCollectionView*" whichType: 2 Declaration is: "<notype> collectionView" "/System/Library/Frameworks/AppKit.framework/Versions/C/Headers/NSCollectionView.h" [ (31, 39) -> (31, 53) ]
kdevplatform.language: WARNING: Non-function type assigned to function declaration. Type is: "NSImageView*" whichType: 2 Declaration is: "<notype> imageView" "/System/Library/Frameworks/AppKit.framework/Versions/C/Headers/NSCollectionView.h" [ (35, 41) -> (35, 50) ]
kdevplatform.language: WARNING: Non-function type assigned to function declaration. Type is: "NSTextField*" whichType: 2 Declaration is: "<notype> textField" "/System/Library/Frameworks/AppKit.framework/Versions/C/Headers/NSCollectionView.h" [ (36, 41) -> (36, 50) ]
kdevplatform.language: WARNING: Non-function type assigned to function declaration. Type is: "NSArray*" whichType: 2 Declaration is: "<notype> draggingImageComponents" "/System/Library/Frameworks/AppKit.framework/Versions/C/Headers/NSCollectionView.h" [ (40, 30) -> (40, 53) ]
kdevplatform.language: WARNING: Non-function type assigned to function declaration. Type is: "id< NSTextInputClient >*" whichType: 2 Declaration is: "<notype> client" "/System/Library/Frameworks/AppKit.framework/Versions/C/Headers/NSTextInputContext.h" [ (68, 43) -> (68, 49) ]
kdevplatform.language: WARNING: Non-function type assigned to function declaration. Type is: "NSArray*" whichType: 2 Declaration is: "<notype> allowedInputSourceLocales" "/System/Library/Frameworks/AppKit.framework/Versions/C/Headers/NSTextInputContext.h" [ (76, 25) -> (76, 50) ]
kdevplatform.language: WARNING: Non-function type assigned to function declaration. Type is: "NSArray*" whichType: 2 Declaration is: "<notype> keyboardInputSources" "/System/Library/Frameworks/AppKit.framework/Versions/C/Headers/NSTextInputContext.h" [ (105, 29) -> (105, 49) ]
kdevplatform.language: WARNING: Non-function type assigned to function declaration. Type is: "NSString*" whichType: 2 Declaration is: "<notype> selectedKeyboardInputSource" "/System/Library/Frameworks/AppKit.framework/Versions/C/Headers/NSTextInputContext.h" [ (109, 26) -> (109, 53) ]
kdevplatform.language: WARNING: Non-function type assigned to function declaration. Type is: "NSString*" whichType: 2 Declaration is: "<notype> primaryString" "/System/Library/Frameworks/AppKit.framework/Versions/C/Headers/NSTextAlternatives.h" [ (22, 31) -> (22, 44) ]
kdevplatform.language: WARNING: Non-function type assigned to function declaration. Type is: "NSArray*" whichType: 2 Declaration is: "<notype> alternativeStrings" "/System/Library/Frameworks/AppKit.framework/Versions/C/Headers/NSTextAlternatives.h" [ (23, 30) -> (23, 48) ]
> Don't pull us into another of your guesstimate games please.
No risk of that, I'm done shooting in the dark without any attempt at assistive lighting.
R.
More information about the KDevelop-devel
mailing list