Summary
Running PyChaste wrapper generation ( ~270 wrapped classes, ~1,300 headers) takes ~12 min.
Preliminary profiling results show:
- ~ 1/3 of the time is spent in the CastXML/pygccxml parse stage.
- ~ 2/3 of the time is spent in the Python wrapper generation code.
Options for potential speedup could involve:
- Optimising repetitive pathlib and regex operations.
- Tightening restrictions on source paths walked (e.g. build dirs).
- Optimising
sort_classes.
- Optimising
hierarchy_attribute searches.
- Parallelising the CastXML parse by splitting the header collection.
Summary
Running PyChaste wrapper generation ( ~270 wrapped classes, ~1,300 headers) takes ~12 min.
Preliminary profiling results show:
Options for potential speedup could involve:
sort_classes.hierarchy_attributesearches.