[Qgis-psc] Progress on SIP incremental build grant

Jean Felder jean.felder at oslandia.com
Mon Dec 8 08:10:51 PST 2025


Hi David,

I have just installed sip 6.15 which contains your work from [3] and sip 
is much faster now.
Thank you for working on this.

Jean

Le 09/10/2025 à 10:46, David Koňařík via QGIS-PSC a écrit :
> Hi all,
> I'd like to share with you a report of the work I did on QEP 338 (SIP 
> incremental builds):
>
> My original plan was to build each header file as a separate binding, 
> then use SIP from a Python script, overriding a few methods to allow 
> building just one binding out of a project.
>
> After a lot of effort, this plan sadly doesn't seem workable. PyQt's 
> bindings aren't modularised enough, so building a single binding still 
> needs to parse almost all of PyQt. Furthermore, SIP has a multi-stage 
> parse-resolve-generate design, but the "parser" does more than just 
> parse the code into an AST, not all references are resolved in the 
> resolve phase, and imports are currently basically done by textual 
> inclusion.
>
> I've tried making the necessary changes to SIP [1] and QGIS [2], but 
> for the above reasons, I don't think the performance benefits for 
> single-file builds are worth the added complexity and performance 
> penalty for clean builds (which look to be over an hour currently).
>
> The good news is that with the knowledge from working on SIP, I've 
> been able to improve the performance of regular clean builds, and 
> those improvements might soon be merged into SIP itself [3]. I've also 
> made some changes on the QGIS side to not rebuild unchanged code 
> generated by SIP [4]. With code compilation now taking longer than SIP 
> code generation, this effectively gives us incremental builds, just at 
> a larger granularity.
>
> David Koňařík
>
> [1]: https://github.com/dvdkon/sip/tree/qgis-gb
> [2]: https://github.com/dvdkon/QGIS/tree/sip-incremental-build
> [3]: https://github.com/Python-SIP/sip/pull/87
> [4]: https://github.com/qgis/QGIS/pull/63160
> _______________________________________________
> QGIS-PSC mailing list
> QGIS-PSC at lists.osgeo.org
> https://lists.osgeo.org/mailman/listinfo/qgis-psc


-- 
Jean Felder
Développeur SIG
Oslandia

-------------- next part --------------
A non-text attachment was scrubbed...
Name: OpenPGP_0x12722DC64D3F429E.asc
Type: application/pgp-keys
Size: 2444 bytes
Desc: OpenPGP public key
URL: <http://lists.osgeo.org/pipermail/qgis-psc/attachments/20251208/8517cbef/attachment.key>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: OpenPGP_signature.asc
Type: application/pgp-signature
Size: 665 bytes
Desc: OpenPGP digital signature
URL: <http://lists.osgeo.org/pipermail/qgis-psc/attachments/20251208/8517cbef/attachment.sig>


More information about the QGIS-PSC mailing list