yesterday I merged the cspeedups branch into trunk, which adds a C
implementation of the genshi.core.Markup class. This improves
performance around 10-20% in the benchmarks (Genshi now outperforms
Django templates in the bigtable.py benchmark [1]).
Anyway, I'd appreciate feedback on current trunk. Bugs, performance,
etc. You should be able to easily use the C extension using a normal
"setup.py build/install" on most platforms. For Windows, you need
VS2003, but I will of course include the built DLL in the windows
installer packages in the future.
Oh, and if you don't want the C extension, setup.py has a --without-
speedups option:
setup.py --without-speedups build
Cheers,
Chris
[1] http://genshi.edgewall.org/wiki/
GenshiPerformance#bigtablebenchmark
--
Christopher Lenz
cmlenz at gmx.de
http://www.cmlenz.net/
Great. It seems like it's also the amount of speedup I get when r656 is
used by Trac.
> Anyway, I'd appreciate feedback on current trunk. Bugs, performance,
> etc. You should be able to easily use the C extension using a normal
> "setup.py build/install" on most platforms. For Windows, you need
> VS2003, but I will of course include the built DLL in the windows
> installer packages in the future.
>
Seems to work without a hitch on Windows and SLES9 64-bits. Thanks!
-- Christian
Nice! Based on the profiler output from the bigtable benchmark the
serialization methods are where most of the time is spent. I'm
working on porting the XML serializer to C and will follow up with my
findings.
-- Matt