Hi all. I am going to freeze source code and to prepare it for another release. I believe it will take some time. The code itself in a good shape - it passes almost all unit tests and few external big projects. There were a lot of changes and I will try to document all of them.

Recently I worked on performance. I believe Py++ is now 30-50% faster.

The first improvement comes from pygccxml - standard XML SAX parser was replaced with cElementTree iterparse functionality. The old parser is still available and will be used if cElementTree is not available. Here you can find some information about cElementTree benchmarks: http://effbot.org/zone/celementtree.htm#benchmarks

The second one comes from caching some intermediate result during code generation + creating a repository of md5 sum of generated file. Thus next time you generate code, Py++ can use the repository and compare md5 sums, instead of file content. You have to explicitly to enable this functionality:

    mb = module_builder_t( ... )
    mb.split_module( ..., use_files_sum_repository=True )

I ask you to try SVN version of Py++ and report any problem with it.


Roman Yakovenko
C++ Python language binding