[PyKDE] How to contribute to sip ?

Phil Thompson phil at riverbankcomputing.co.uk
Tue Feb 28 16:52:35 GMT 2006


On Tuesday 28 February 2006 4:30 pm, Giovanni Bajo wrote:
> Nigel Stewart <ns at fluent.com> wrote:
> >> What does this have to do with SIP again? I don't remember GCC not
> >> generating the object files if the source code is not changed.
> >
> >      A compiler takes one input file and creates one output file.
>
> Actually not really, since the input can also contain an arbitrary large
> number of header files. Not that this matters for your point, though.
>
> >      The granularity of SIP is different, it's taking multiple
> >      inputs (via %Import) and creating multiple outputs.  This
> >      design poses a "choke point".  I think being time-stamp
> >      friendly is a way for SIP to compensate for this.
>
> I see. Can't you call SIP once for each .sip file, and make it generate one
> class at a time? Isn't that what %Import is for?

No. The output of a SIP "run" is the source of a single Python module, 
implemented as a number of C++ source files. You have control over the number 
(and therefore size) of source files.

With one source file (plus lots of header files) the whole of PyQt4 takes 2 
minutes 50 seconds on my 2GHz Opteron. Microsoft compilers struggle with such 
large source files.

Phil




More information about the PyQt mailing list