CSI_SetVsWrite.cs 794 B

12345678910111213141516171819202122232425262728293031
  1. using BenchmarkDotNet.Attributes;
  2. using Tui = Terminal.Gui;
  3. namespace Terminal.Gui.Benchmarks.ConsoleDrivers.EscSeqUtils;
  4. [MemoryDiagnoser]
  5. // Hide useless column from results.
  6. [HideColumns ("writer")]
  7. public class CSI_SetVsWrite
  8. {
  9. [Benchmark (Baseline = true)]
  10. [ArgumentsSource (nameof (TextWriterSource))]
  11. public TextWriter Set (TextWriter writer)
  12. {
  13. writer.Write (Tui.EscSeqUtils.CSI_SetCursorPosition (1, 1));
  14. return writer;
  15. }
  16. [Benchmark]
  17. [ArgumentsSource (nameof (TextWriterSource))]
  18. public TextWriter Write (TextWriter writer)
  19. {
  20. Tui.EscSeqUtils.CSI_WriteCursorPosition (writer, 1, 1);
  21. return writer;
  22. }
  23. public static IEnumerable<object> TextWriterSource ()
  24. {
  25. return [StringWriter.Null];
  26. }
  27. }