> Anyway, if anything interesting comes of this I'll let the list know.
My hunch was right -- I whipped up a quick lex/yacc parser at lunch today, and it's about 120x faster than Test::Harness. This is just an estimate, because Test::Harness chewed up 2G of memory while testing and crashed. Here's the output of my informal benchmark: [~/projects/libtap] 1 ([EMAIL PROTECTED]) $ /usr/bin/time sh -c './taptest | ./tap' Starting... Expected 10000000 tests; 10000000 passed and 0 failed. 9.89user 0.35system 0:07.14elapsed 143%CPU (0avgtext+0avgdata 0maxresident)k 0inputs+0outputs (0major+871minor)pagefaults 0swaps [~/projects/libtap] 1 ([EMAIL PROTECTED]) $ /usr/bin/time sh -c './taptest | prove echo.pl' echo....ok 8702861/10000000Out of memory! 509.56user 79.17system 13:39.69elapsed 71%CPU (0avgtext+0avgdata 0maxresident)k 0inputs+0outputs (3820major+743782minor)pagefaults 0swaps You can try for yourself with the code here: http://trac.jrock.us/cpan_modules/browser/libtap or svn://svn.jrock.us/cpan_modules/libtap (svk checkout, make tap, make taptest, and then the commands above) Keep in mind that the code there is not a general "solves everyone's problems" thing. It's something I hacked together in an hour :) That said, I am willing to clean it up when I have time, and hopefully be able to provide a libtap that makes TAP support easy for any language. Regards, Jonathan Rockway -- package JAPH;use Catalyst qw/-Debug/;($;=JAPH)->config(name => do { $,.=reverse qw[Jonathan tsu rehton lre rekca Rockway][$_].[split //, ";$;"]->[$_].q; ;for 1..4;$,=~s;^.;;;$,});$;->setup;