On Fri, 31 Aug 2012 19:40:29 +0200 maderios <mader...@gmail.com> said:

> On 08/31/2012 12:09 AM, Carsten Haitzler (The Rasterman) wrote:
> 
> >> Is it normal Terminology takes  78 Mb memory ?
> >> xfce4-terminal takes 15 Mb
> >
> > terminology uses about 4mb. i suggest you examine how you measure it or give
> > more detail.
> >
> 
> Release testing (debian wheezy) 64-bit
> Kernel Linux 3.4.9
> Hardware
> memory 7,8 GiB
> Processor Intel® Core™ i7-2600 CPU @ 3.40GHz × 8
> 
> 
> I launched gnome-system-monitor then Terminology
> terminology resident memory= 50 MiB
> 
> Terminology Controls then I restart e
> terminology resident memory= 70 MiB
> memory= 38,0 MiB
> shared memory= 41 MiB
> virtual memory=383 MiB

generally actually used memory is resident MINUS shared memory. or that's
closer to reality. the BESt measurement you can do is a system one. the problem
is that this will include all system usage, so memory used for pixmaps and
compositing and the window manager also are measured. so let me do some
measurements here.

1. nvidia drivers on this box
2. e17 with compositing (gl engine).
3. ubuntu 12.04 base

run 1 xterm instance. difference in system memory usage (everything xterm+wm+x
+etc.):

4576kb

run 2nd xterm instance. difference in system mem usage:

3072kb

to measure the "system" mem usage for 1 window the size of xterm, i ran one
remotely displaying locally so all costs are wm+x11:

496kb
(that's pretty much about right - the xterm client window is 402x242 pixels.
att 23 pixels of titlebar and 4 of bottom bar - the pixels alone for the pixmap
are 433kb, so about 64kb of "overhead" here and there per window).

to measure 1 gnome-terminal usage (difference in system mem):

8916kb

2nd gnome-terminal:

3556kb

so first instance of terminology:

7192kb

2nd instance:

7516kb

ok - so a bit higher, but close. all of these have about 500k of
wm/compositor/x11 overhead for compositing. xterm uses less memory for the 2nd
instance BECAUSE it has to use libraries like xt which e and efl dont use, so
these need "loading" once. same for the executable binary itself. once loaded
they are shared, thus the 2nd xterm adds less overhead. gnome-terminal is
special as it doesn't even start a 2nd process. it re-uses the first and just
opens a new window from it, but same applies to gtk etc. libs being now needed
like xterm with xt.

lets try urxvt:

5700

snd instance:

5472

so here's the catch. terminology has at least 1 largish rgba image in its local
memory (the gradient shine) that will consume about 350-400k on its own. it
also keeps all fonts client-side (unlike gnome-terminal and xterm).

so my measurements put 1 terminology instance at about 6800kb (avg 7300kb
minus about 500kb for system overhead). if you use xterm you basically pay
about 2500kb per term. gnome-terminal costs you about 3000kb per terminal.
urxvt costs about 5000kb. this is with default setup of terminology (and xterm,
urxvt and gnome-terminal configured to use the same font or font size).

so let's do some work in the term. all these numbers so far are for fresh
terminals at 80x24 default.

let's have our workload be:

find /usr/lib

that should now consume some memory in backscroll etc. - all terms set to 2000
lines backscroll history.

terminology: 1016kb
gnome-terminal: 460kb
xterm: 2816kb
urxvt: 1380kb

catch: gnome-terminal puts its backscroll on disk not in memory. this has been
raised as a security hold in gnome-terminal and dismissed by its authors as not
one. so it'll be consuming disk not memory here. but it consumes ram anyway,
just less.

so...  these numbers seem about right to me. base memory usage per app. system
(compositor/pixmap/x11/wm), etc. terminology does a lot more  inside its own
process than the others in terms of  rendering, memory buffers, image and font
data etc. terminology will need 8 bytes per char in the backscroll which is
pretty much what it uses (well 1250kb - but my bet is it has freed some memory
from init/startup and now recycled it for backscroll buffers - libc does this
as a normal part of operation). gnome-terminal is trying to stuff backscroll on
disk so this doesnt impact "used memory" (it does impact disk cache usage whcih
i didn't measure here). urxvt backscroll usage makes complete sense. xterm is
higher - it may be allocating more per backscroll char - eg 16bytes, which
would be overkill, but that's its decision.

so after you use the terminal for a bit, we have some backscroll too, our total
usage is more like (rough nummbers):

terminology: 7800kb
xterm: 5300kb
gnome-terminal: 3500kb*  (5500kb)
urxvt: 6400kb

* (scrollback is on disk so to be fair add 1-3mb depending on mem storage
format, so lets' say 2mb).

so.. if you measure.. do this:

free
run thing to measure
free

free will output numbers like:

             total       used       free     shared    buffers     cached
Mem:       8160736     695744    7464992          0      61196     268792
-/+ buffers/cache:     365756    7794980
Swap:            0          0          0

what you want is the "used -/+ buffers/cache" eg 365756.

now subtract the first number from the 2nd (you ran free twice). that's your
overall system memory "expansion" to handle the task you now have run. e.g.:

free
xterm &
free

as such terminology will use the memory it needs to get the job done. if you
start playing videos in the bg.. well - it'll use more memory. same with any
image data etc.

> Greetings
> 
> -- 
> Maderios
> 


-- 
------------- Codito, ergo sum - "I code, therefore I am" --------------
The Rasterman (Carsten Haitzler)    ras...@rasterman.com


------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
enlightenment-users mailing list
enlightenment-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-users

Reply via email to