[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-optimize
Subject:    Re: Dynamic symbol table
From:       Karl Vogel <karl.vogel () seagha ! com>
Date:       2004-07-20 16:37:41
Message-ID: 20040720163737.694D84C416A () astra ! telenet-ops ! be
[Download RAW message or body]

Lubos Lunak wrote:

> On Friday 16 of July 2004 16:56, Karl Vogel wrote:
> > Lubos Lunak <l.lunak@suse.cz> wrote in
> > 
> > news:200407161545.31019.l.lunak@suse.cz:
> > > On Friday 16 of July 2004 14:00, Karl Vogel wrote:
> > > > Really?! This seems like a bad idea to me! I did a preload test with
> > > > madvise() on all linked libs and well it took a lot longer than
> > > > demand paging the libs..
> > > 
> > > And I did a test as well and it took somewhat shorter than demand
> > > paging the
> > > libs. Makes sense given that seeking is much slower than the actual
> > > reading. You can search this list archives for madvise for details.
> > 
> > I've read your messages on the subject. But maybe you were using a
> > desktop system with a fast 7200RPM disk?.. while my laptop has a slow
> > 4500RPM disk.
> > 
> > Or.. maybe I did something wrong :)
> 
> I measured like this:
> - reboot
> - start in runlevel 3
> - (X vt10 :1 -terminate &);sleep 5; DISPLAY=:1 xterm
> - measure initial memory usage or whatever
> - startkde
> 
> 
> But yes, perhaps the some init script should guess and set LD_NOMADVISE
> if it
> thinks madvise() would do more harm than good on the specific machine.

Well I had a look at some load patters... ie starting kedit and directly
stopping it gives pattern as shown below:

X 08048520        0 X 008 paddr 08048000 acc 08048520 pgoff 00000000 foff 00000000 \
fnam=/usr/bin/kedit A 002498a3        0 X 002 paddr 00432000 acc 004323f4 pgoff \
00000000 foff 00000000 fnam=/usr/lib/libkdeinit_kedit.so A 002498ba     8192 X 002 \
paddr 00434000 acc 004342ec pgoff 00000000 foff 00002000 \
fnam=/usr/lib/libkdeinit_kedit.so A 002498ba     4096 X 002 paddr 00433000 acc \
00433a5c pgoff 00000000 foff 00001000 fnam=/usr/lib/libkdeinit_kedit.so A 002498ba    \
16384 X 002 paddr 00436000 acc 004366ec pgoff 00000000 foff 00004000 \
fnam=/usr/lib/libkdeinit_kedit.so A 00252578    28672 X 002 paddr 00439000 acc \
00439186 pgoff 00000000 foff 00007000 fnam=/usr/lib/libkdeinit_kedit.so A 00249aa6    \
45056 X 002 paddr 0043d000 acc 0043dee0 pgoff 00000000 foff 0000b000 \
fnam=/usr/lib/libkdeinit_kedit.so X 0044b500   102400 X 002 paddr 0044b000 acc \
0044b500 pgoff 00000000 foff 00019000 fnam=/usr/lib/libkdeinit_kedit.so X 0044d666   \
110592 X 002 paddr 0044d000 acc 0044d666 pgoff 00000000 foff 0001b000 \
fnam=/usr/lib/libkdeinit_kedit.so X 00443438    69632 X 002 paddr 00443000 acc \
00443438 pgoff 00000000 foff 00011000 fnam=/usr/lib/libkdeinit_kedit.so A 0024c61a    \
61440 X 002 paddr 00441000 acc 004418ec pgoff 00000000 foff 0000f000 \
fnam=/usr/lib/libkdeinit_kedit.so A 002c0b02   135168 X 002 paddr 00453000 acc \
004530ed pgoff 00000000 foff 00021000 fnam=/usr/lib/libkdeinit_kedit.so X 004445f8    \
73728 X 002 paddr 00444000 acc 004445f8 pgoff 00000000 foff 00012000 \
fnam=/usr/lib/libkdeinit_kedit.so A 0024c61a    65536 X 002 paddr 00442000 acc \
004421cc pgoff 00000000 foff 00010000 fnam=/usr/lib/libkdeinit_kedit.so A 0024c63c    \
12288 X 002 paddr 00435000 acc 00435f05 pgoff 00000000 foff 00003000 \
fnam=/usr/lib/libkdeinit_kedit.so A 00252578    40960 X 002 paddr 0043c000 acc \
0043cd40 pgoff 00000000 foff 0000a000 fnam=/usr/lib/libkdeinit_kedit.so A 00252578    \
36864 X 002 paddr 0043b000 acc 0043beaf pgoff 00000000 foff 00009000 \
fnam=/usr/lib/libkdeinit_kedit.so A 00252578    24576 X 002 paddr 00438000 acc \
00438f02 pgoff 00000000 foff 00006000 fnam=/usr/lib/libkdeinit_kedit.so A 00252578    \
20480 X 002 paddr 00437000 acc 00437ba7 pgoff 00000000 foff 00005000 \
fnam=/usr/lib/libkdeinit_kedit.so A 00252578    32768 X 002 paddr 0043a000 acc \
0043a9cc pgoff 00000000 foff 00008000 fnam=/usr/lib/libkdeinit_kedit.so X 0044cde0   \
106496 X 002 paddr 0044c000 acc 0044cde0 pgoff 00000000 foff 0001a000 \
fnam=/usr/lib/libkdeinit_kedit.so X 0044e910   114688 X 002 paddr 0044e000 acc \
0044e910 pgoff 00000000 foff 0001c000 fnam=/usr/lib/libkdeinit_kedit.so X 00445000    \
77824 X 002 paddr 00445000 acc 00445000 pgoff 00000000 foff 00013000 \
fnam=/usr/lib/libkdeinit_kedit.so A 002c07a3   131072 X 002 paddr 00452000 acc \
00452a24 pgoff 00000000 foff 00020000 fnam=/usr/lib/libkdeinit_kedit.so X 00446360    \
81920 X 002 paddr 00446000 acc 00446360 pgoff 00000000 foff 00014000 \
fnam=/usr/lib/libkdeinit_kedit.so X 00450800   122880 X 002 paddr 00450000 acc \
00450800 pgoff 00000000 foff 0001e000 fnam=/usr/lib/libkdeinit_kedit.so X 00451520   \
126976 X 002 paddr 00451000 acc 00451520 pgoff 00000000 foff 0001f000 \
fnam=/usr/lib/libkdeinit_kedit.so X 0044a160    98304 X 002 paddr 0044a000 acc \
0044a160 pgoff 00000000 foff 00018000 fnam=/usr/lib/libkdeinit_kedit.so X 00449000    \
94208 X 002 paddr 00449000 acc 00449000 pgoff 00000000 foff 00017000 \
fnam=/usr/lib/libkdeinit_kedit.so

$ ls -l /usr/bin/kedit
-rwxr-xr-x  1 root root 32620 May  6 19:03 /usr/bin/kedit
[kvo@localhost kvo]$ ls -l /usr/lib/libkdeinit_kedit.so
-rwxr-xr-x  1 root root 151040 May  6 19:03 /usr/lib/libkdeinit_kedit.so

> From /usr/bin/kedit only 1 page is executed/accessed (x86 pagesize = 4Kb)
and from the libkdeinit_kedit.so 28 pages are executed/accessed (=112Kb)

I'm not sure if loading 151040 bytes instead of 114688 bytes is really 
hurting. Something I'm planning on looking into after the symbol pruning
stuff.


_______________________________________________
Kde-optimize mailing list
Kde-optimize@kde.org
https://mail.kde.org/mailman/listinfo/kde-optimize


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic