/// <summary>
/// Use the supplied tokenizer to tokenize the specified stream
/// and time it.
/// </summary>
/// <param name="tokenizer"></param>
/// <param name="stream"></param>
/// <returns>Total milliseconds per parse.</returns>
protected static double SpeedTestParse(StreamTokenizer tokenizer,
Stream stream)
{
GC.Collect();
List<Token> tokens = new List<Token>();
DateTime start = System.DateTime.UtcNow;
int cycles = 100;
for (int i = 0; i < cycles; i++)
{
tokenizer.TokenizeStream(stream, tokens);
stream.Position = 0;
}
TimeSpan duration = System.DateTime.UtcNow - start;
return (duration.TotalMilliseconds / cycles);
}