Beispiel #1
0
        static void Main(string[] args)
        {
            if (args == null || args.Length != 2)
            {
                Console.WriteLine("arguments error. md [input] [output]");
                return;
            }

            if (!args[0].IsFile())
            {
                Console.WriteLine("input file not found.");
                return;
            }

            var md = "";

            using (var inputStream = new StreamReader(args[0], Encoding.UTF8))
            {
                md = inputStream.ReadToEnd();
            }

            var translator = new MarkdownTranslator();
            var html       = translator.Transform(md);

            using (var outputStream = new StreamWriter(args[1], false, Encoding.UTF8))
            {
                outputStream.WriteLine(html);
            }
        }
Beispiel #2
0
        private long GetElapsedMsForLine(string line)
        {
            GC.Collect();
            var oldMode = GCSettings.LatencyMode;

            GCSettings.LatencyMode = GCLatencyMode.LowLatency;

            var renderer   = new HtmlRenderer();
            var translator = new MarkdownTranslator();
            var watch      = new Stopwatch();

            watch.Start();
            var translatedText = translator.Translate(line);

            watch.Stop();
            var elapsedOnTranslate = watch.ElapsedMilliseconds;

            PrintOperationPerformanceResult("translating", line.Length, elapsedOnTranslate);

            watch.Restart();
            renderer.Render(translatedText);
            watch.Stop();
            var elapsedOnRendering = watch.ElapsedMilliseconds;

            PrintOperationPerformanceResult("rendering", translatedText.Length, elapsedOnRendering);

            GCSettings.LatencyMode = oldMode;
            GC.Collect();

            var totalTime = elapsedOnTranslate + elapsedOnRendering;

            TestContext.WriteLine("-----TOTAL:\n"
                                  + $"Reading of {line.Length} characters consumed {totalTime} ms\n" +
                                  $"{line.Length / totalTime} characters per ms\n\n\n");
            return(totalTime);
        }