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

List:       kde-devel
Subject:    Re: ANNOUNCE : CuteIDL
From:       Lars Knoll <Lars.Knoll () mpi-hd ! mpg ! de>
Date:       1999-09-24 15:56:38
[Download RAW message or body]

On Fri, 24 Sep 1999, Kurt Granroth wrote:

> >  Cuteidl brings 
> >  * improvement to the performance of all CORBA-based apps
> >  * reduction of the memory consumed by data formerly converted
> >  * simplification of CORBA programming for KDE, using Qt templates,
> >    efficient and well known by KDE developers
> >  * reduction of compile time, providing a customized replacement for CORBA.h
> >  * new possibilities for the usage of CORBA in KDE : using shared libraries
> >    makes even more sense now that natives types are used
> [snip]
> >  David Faure <faure@kde.org>
> >  Simon Hausmann <shaus@uermel.Med.Uni-Magdeburg.DE>
> >  Lars Knoll <Lars.Knoll@mpi-hd.mpg.de>
> 
> Absolutely phenomenal job, guys!  This is just amazing work in such
> short time!!
> 
> I'd be interested to know if any benchmarks (or something similar)
> have been done comparing the old and new way.  We say that it has
> improved performance and reduced memory -- but is there numbers to
> back that up?  It will also be interesting to see examples of "old"
> code vs "new" code..

I have no benchmarks up to now, but some examples of how code simplifies:


This is one example (I admit it's one of the best...) from David:

-KOM::Base::RelativesSeq* KOMBase::describeRelatives()
-{
-  KOM::Base::RelativesSeq* seq = new KOM::Base::RelativesSeq;
-  int i = 0;
-  seq->length( i );
-
-  QValueList<KOM::Base_var>::Iterator it = m_lstRelatives.begin();
-  for( ; it != m_lstRelatives.end(); ++it )
-  {
-    seq->length( i + 1 );
-    (*seq)[i++] = *it;
-  }
-
-  return seq;
 }  

All removed, and turned into the inline
 KOM::Base::RelativesSeq describeRelatives() { return m_lstRelatives; }  


More usual are the following replacements (by heart... so it might not be
completely exact...):

  CORBA::WString_var text = Q2C( some_qstring );
  some_corba_function( text );

turns to
  some_corba_function( some_qstring );

Also you get rid off all CORBA::basic_type, where basic_type is something
like int, float, etc..., and we just use the basic type directly now.


Cheers,
Lars

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

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