> 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;

Reply via email to