TAPx::Parser 0.40 is now on its way to the CPAN. 0.40 05 December 2006 - Removed TAPx::Parser::Streamed and folded its functionality into TAPx::Parser. - Fixed by where sometimes is_good_plan would return a false positive (exposed by refactoring). - A number of tiny performance enhancements.
Getting rid of TAPx::Parser::Streamed was the big win here. It cleaned up the constructor considerably and made the _initialize method much easier to understand. Profiling was tough. Times were: New: 7 wallclock secs ( 4.13 cusr + 1.02 csys = 5.15 CPU) Old: 8 wallclock secs ( 4.31 cusr + 1.06 csys = 5.37 CPU) Those are typical times for each run and obviously it's not a huge win, but it's a start. There are a couple of other areas I can gain some wins, but I'll not worry about them for right now. The wins I have gained have no hurt maintainability. However, tests fail on Windows because of a kill() portability issue, as reported in http://rt.cpan.org/Public/Bug/Display.html?id=21624. The only Windows box I have regular access to is at work, but obviously I don't have the time to track this down there. Can anyone look into this for me and make recommendations? I'd be happy to offer any advice I can. Cheers, Ovid -- Buy the book -- http://www.oreilly.com/catalog/perlhks/ Perl and CGI -- http://users.easystreet.com/ovid/cgi_course/