RTools.Util.StreamTokenizer.SpeedTest C# (CSharp) Method

SpeedTest() public static method

Speed test. This tests the speed of the parse.
public static SpeedTest ( ) : bool
return bool
        public static bool SpeedTest()
        {
            Logger log = new Logger("SpeedTest");
            log.Verbosity = VerbosityLevel.Debug;
            log.Info("Starting...");
            Random rand = new Random(0);

            // setup tokenizer
            StreamTokenizer tokenizer = new StreamTokenizer();
            tokenizer.Settings.ParseNumbers = true;

            int nTokens = 1024;
            MemoryStream ms;
            StreamWriter writer;

            // int
            ms = new MemoryStream();
            writer = new StreamWriter(ms);
            for (int i = 0; i < nTokens; i++)
            {
                writer.WriteLine("{0}", (int)(rand.NextDouble() * 256));
            }
            writer.Flush();
            ms.Position = 0;

            Console.WriteLine("Parse {0} integers took {1:f2} ms", nTokens,
                SpeedTestParse(tokenizer, ms));

            // float
            ms = new MemoryStream();
            writer = new StreamWriter(ms);
            ms.Position = 0;
            for (int i = 0; i < nTokens; i++)
            {
                writer.WriteLine("{0:f9}", rand.NextDouble() * 10);
            }
            writer.Flush();
            ms.Position = 0;

            Console.WriteLine("Parse {0} floats took {1:f2} ms", nTokens,
                SpeedTestParse(tokenizer, ms));

            // exponential
            ms = new MemoryStream();
            writer = new StreamWriter(ms);
            ms.Position = 0;
            for (int i = 0; i < nTokens; i++)
            {
                writer.WriteLine("{0:e9}", rand.NextDouble() * 1000);
            }
            writer.Flush();
            ms.Position = 0;

            Console.WriteLine("Parse {0} exponential floats took {1:f2} ms", nTokens,
                SpeedTestParse(tokenizer, ms));

            // words
            ms = new MemoryStream();
            writer = new StreamWriter(ms);
            for (int i = 0; i < nTokens; i++)
            {
                writer.WriteLine("foo ");
            }
            writer.Flush();
            ms.Position = 0;

            Console.WriteLine("Parse {0} words took {1:f2} ms", nTokens,
                SpeedTestParse(tokenizer, ms));

            // hex
            ms = new MemoryStream();
            writer = new StreamWriter(ms);
            for (int i = 0; i < nTokens; i++)
            {
                writer.WriteLine("0x{0:x}", (int)(rand.NextDouble() * 256));
            }
            writer.Flush();
            ms.Position = 0;

            Console.WriteLine("Parse {0} hex numbers took {1:f2} ms", nTokens,
                SpeedTestParse(tokenizer, ms));

            //			Console.WriteLine("Buffer to parse is:");
            //			Console.WriteLine("{0}", Encoding.ASCII.GetString(ms.GetBuffer()));

            return (true);
        }