[Geany-devel] Fw: Geany Size Data

Nick Treleaven nick.treleaven at xxxxx
Tue Oct 6 11:39:28 UTC 2009



Begin forwarded message:

Date: Tue, 6 Oct 2009 13:00:28 +1100
From: Lex Trotman <elextr at gmail.com>
To: nick.treleaven at btinternet.com
Subject: Geany Size Data


Hi Nick,

I saw your question on the scintilla list and thought I'd drop you
some data for Geany.

On my x86-64 system I get a total of 1.6M code hardly worth making
smaller compared to the 11M of shared libraries and  9 M of data
giving a total resident set size of 21M for an empty Geany (and even
with all of Geany's src directory open it only has a resident set of
47M).

What is interesting is another 120M of swapped virtual address space.
I guess most of this is Gnome and X, but otherwise what it is I'm not
sure.  Still if its not part of Geany's resident set it doesn't matter
IMHO, and certainly we can't do much about it.

On a 32 bit machine I get 1.4M code and 9M shared and 8M data for a
total resident set of 17M for an empty Geany and 32M with all Geany
src.

Interestingly only 10M of extra virtual memory is used on this system
(which is XFCE not Gnome).

I'll only talk further about the 32 bit numbers because the 64 bit
ones are minimal compared to the likely available memory on a 64 bit
system.

You can't do much with the shared libraries, so the biggest footprint
is the 8-9M of data used by an empty Geany.  Thats probably a more
profitable target than the code of the Lexers.  Of course if a
significant part of the memory is data for the Lexers then maybe its
worth not loading them :-) but I am not sure how to tell other than
patching Geany/Scintilla to not initialise some lexers and see what
changes.

My prime suspect though would be Scintilla itself and the resources it
uses, which isn't in Geany's control.

Still, I'm not convinced that its worth worrying about any of it when
loading the whole of Geany source is possible on a 400Mhz Celeron
machine with 192M memory!!!

I'd have said that it is more important to support loadable lexers and
filetypes so that new languages don't have to be upstreamed to
scintilla and then coded into Geany.  They can then just be in a
contrib directory on the Geany website.  Sure that means that there
are two different systems, one for Scintilla supported languages and
one for the others, but that may have to be lived with :-(

Cheers
Lex


Regards,
Nick



More information about the Devel mailing list