[PyKDE] Possible problem with PyQt and PyKDE

Jim Bublitz jbublitz at nwinternet.com
Sat Oct 15 17:39:20 BST 2005


On Saturday 15 October 2005 08:17, Detlev Offenbach wrote:
> Hi,
>
> I have just installed SUSE 10 on my computer. It uses gcc 4.0.2 as it's
> compiler. Thereafter I tried to compile PyQt having used the -c option for
> configure.py. It took a very long time (ca. 20 min. on a 3 GHz machine),
> without finishing the compile. After that first try, I compiled it without
> the -c option and, voila, it compiled ok. Same happened to PyKDE. Here I
> had to use the -i option to disable concatenation.
>
> Is this a known issue or what am I doing wrong?

Same here - I just installed SuSE 10 also. What appears to have changed is the 
memory usage of gcc. gcc appears to be much faster. PyKDE with the -i switch 
will now compile in 70 minutes on an 800Mhz machine, which used to take about 
3 hours. That particular machine also has 512MB of RAM and won't compile PyQt 
with the -c switch or PyKDE *without* the -i switch.

My recommendations would be:

1. PyQt - don't use -c
2. PyKDE - do 'python configure.py -i'
3. For gcc 4.0.2 you have to use either the KDE bindings version of PyKDE or 
used the latest snapshot (20051013) at:    
    
      http://www.riverbankcomputing.co.uk/snapshots/PyKDE


-c for PyQt and the normal PyKDE build systems concatenate all of the cpp 
files into 1 or 2 huge files, which with older gcc versions compiles as much 
as 80% faster than compiling a single cpp file at a time. Not using -c PyQt, 
or using -i for PyKDE makes sip create a single cpp file per class (more or 
less) - for PyKDE that's over 600 cpp files. New gcc versions apparently use 
a lot more memory to get the speedups they have, and choke on the huge 
concatenated files, but are much faster in the file-per-class situation.

Compiling might complete with the -c switch on PyQt, but the heavy use of swap 
slows it down to a crawl.

Compile times will be slightly longer than the previous concatenated compile 
times, but not as bad as compile times used to be without concatenating.

Jim




More information about the PyQt mailing list