the parsing process is not inherently slow
Eric Wilhelm
scratchcomputing at gmail.com
Tue Oct 2 17:49:48 BST 2007
# from Ovid
# on Tuesday 02 October 2007 02:50:
>Yes, that does parse TAP a heck of a lot faster. It also parses a lot
>of things which aren't TAP. In fact, it's so far removed from a TAP
>parser that I don't think it's anywhere close to a fair comparison.
I think it is an apt metric though. Open a file, read each line, apply
what is typically one regular expression to it. I said it is
an "oversimplification" because it obviously doesn't handle the entire
TAP grammar.
>Speeding up the actual parsing is clearly a desirable goal, but that's
>orthogonal to the goal of having parallel test runs. Each is useful
>independent of the other.
And yet, we seem to be designing the architecture around the assumption
that the only way to speed-up the parser is with more cpu's. This
over-simplistic parser shaves about 97% off of the parse time, so my
conservative guesstimate says we could probably get rid of 80% of the
CPU spinning and still be a correct parser. Even if we can only (very
conservatively) cut 50% of the runtime, we have then matched dual-core
parse speed without fork+IPC or threading.
So, the parser is not the bottleneck in real test suites anyway and the
task of parsing is not *inherently* as slow as the current parser.
Even if an improved parser speed becomes a bottleneck (at around 900
cores), we can deal with that in better ways than adding conditionals
to the harness.
--Eric
--
"Time flies like an arrow, but fruit flies like a banana."
--Groucho Marx
---------------------------------------------------
http://scratchcomputing.com
---------------------------------------------------
More information about the tapx-dev
mailing list