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

List:       kde-devel
Subject:    Re: dynamic_cast performance overhead
From:       Sunil <funtoos () yahoo ! com>
Date:       2005-06-02 19:20:07
Message-ID: 20050602192007.34254.qmail () web31708 ! mail ! mud ! yahoo ! com
[Download RAW message or body]

> that is significant, indeed. which certain
> dynamic_cast's are these, and do 
> you have patches we could look at?

I discovered this by chance on cygwin. I started out
by compiling qt/kdelibs/base 3.4.0 with self compiled
gcc 3.4.3 and noticed apps crashing all over. It all
pointed to failing dynamic_cast operations, so I
replaced many relevant dynamic_cast occurrences with
static_cast and could get startkde to start the
desktop, kicker, kwin, had working kcontrol modules
and many apps. 

Then I decided that I should try cygwin packaged gcc
3.3.3 to see if dynamic_cast works. I compiled
qt/kdelibs/kdebase again with cygwin gcc 3.3.3, all
(well almost) apps worked fine but I noticed that kde
startup was taking MUCH longer. Just the compiler
change and all dynamic_casts in place.

I then took cygwin patches for gcc and applied to gcc
3.4.3 and re-built gcc-3.4.3. I started afresh and
compiled qt/kdelibs/kdebase again with gcc 3.4.3. The
result is all apps work and startkde is as slow as
with gcc-3.3.3. The current build and the 1st build
had one difference: dynamic_casts. And the runtime
difference was huge. This is also experienced by Ralf
with umbrello and he has profiler data to support this
claim.

Its sad that I lost my dynamic cast related changes in
1st setup in this whole process and now I have to redo
this exercise. And this time I will have profiler
data. It will take some time but I want to start a
discussion on use of dynamic_cast in kde source in the
meantime. I will keep posting examples.

Thanks,
-Sunil


		
__________________________________ 
Discover Yahoo! 
Have fun online with music videos, cool games, IM and more. Check it out! 
http://discover.yahoo.com/online.html
 
>> Visit http://mail.kde.org/mailman/listinfo/kde-devel#unsub to unsubscribe <<
[prev in list] [next in list] [prev in thread] [next in thread] 

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