[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