From 3533f9c09172c3c8724da95182985a6cce6c5e6e Mon Sep 17 00:00:00 2001 From: Alex Peck Date: Fri, 15 Jul 2022 16:22:56 -0700 Subject: [PATCH 1/2] write tables as markdown --- .../Arc/Analysis.cs | 19 +++++++++---------- .../Arc/Runner.cs | 6 +----- .../Glimpse/Analysis.cs | 19 +++++++++---------- .../Glimpse/Runner.cs | 7 +------ .../Wikibench/Analysis.cs | 19 +++++++++---------- .../Wikibench/Runner.cs | 6 +----- .../Zipfian/AnalysisResult.cs | 2 +- 7 files changed, 31 insertions(+), 47 deletions(-) diff --git a/BitFaster.Caching.HitRateAnalysis/Arc/Analysis.cs b/BitFaster.Caching.HitRateAnalysis/Arc/Analysis.cs index 9e2d5cc6..897a8122 100644 --- a/BitFaster.Caching.HitRateAnalysis/Arc/Analysis.cs +++ b/BitFaster.Caching.HitRateAnalysis/Arc/Analysis.cs @@ -6,6 +6,7 @@ using System.Text; using System.Threading.Tasks; using BitFaster.Caching.Lru; +using ConsoleTables; using CsvHelper; namespace BitFaster.Caching.HitRateAnalysis.Arc @@ -33,16 +34,6 @@ public void TestKey(long key) classicLru.GetOrAdd(key, u => 1); } - public void Compare() - { - Console.WriteLine($"Size {concurrentLru.Capacity} Classic HitRate {FormatHits(classicLru.HitRatio)} Concurrent HitRate {FormatHits(concurrentLru.HitRatio)}"); - } - - private static string FormatHits(double hitRate) - { - return string.Format("{0:N2}%", hitRate * 100.0); - } - public static void WriteToFile(string path, IEnumerable results) { using (var writer = new StreamWriter(path)) @@ -51,5 +42,13 @@ public static void WriteToFile(string path, IEnumerable results) csv.WriteRecords(results); } } + + public static void WriteToConsole(IEnumerable results) + { + ConsoleTable + .From(results) + .Configure(o => o.NumberAlignment = Alignment.Right) + .Write(Format.MarkDown); + } } } diff --git a/BitFaster.Caching.HitRateAnalysis/Arc/Runner.cs b/BitFaster.Caching.HitRateAnalysis/Arc/Runner.cs index 636a877d..125980c7 100644 --- a/BitFaster.Caching.HitRateAnalysis/Arc/Runner.cs +++ b/BitFaster.Caching.HitRateAnalysis/Arc/Runner.cs @@ -40,11 +40,7 @@ public async Task Run() Console.WriteLine($"Tested {count} keys in {sw.Elapsed}"); - foreach (var a in this.config.Analysis) - { - a.Compare(); - } - + Analysis.WriteToConsole(this.config.Analysis); Analysis.WriteToFile(this.config.Name, this.config.Analysis); } } diff --git a/BitFaster.Caching.HitRateAnalysis/Glimpse/Analysis.cs b/BitFaster.Caching.HitRateAnalysis/Glimpse/Analysis.cs index 44d9a61f..cac9155c 100644 --- a/BitFaster.Caching.HitRateAnalysis/Glimpse/Analysis.cs +++ b/BitFaster.Caching.HitRateAnalysis/Glimpse/Analysis.cs @@ -6,6 +6,7 @@ using System.Text; using System.Threading.Tasks; using BitFaster.Caching.Lru; +using ConsoleTables; using CsvHelper; namespace BitFaster.Caching.HitRateAnalysis.Glimpse @@ -33,16 +34,6 @@ public void TestKey(long key) this.classicLru.GetOrAdd(key, u => 1); } - public void Compare() - { - Console.WriteLine($"Size {this.concurrentLru.Capacity} Classic HitRate {FormatHits(this.classicLru.HitRatio)} Concurrent HitRate {FormatHits(this.concurrentLru.HitRatio)}"); - } - - private static string FormatHits(double hitRate) - { - return string.Format("{0:N2}%", hitRate * 100.0); - } - public static void WriteToFile(string path, IEnumerable results) { using (var writer = new StreamWriter(path)) @@ -51,5 +42,13 @@ public static void WriteToFile(string path, IEnumerable results) csv.WriteRecords(results); } } + + public static void WriteToConsole(IEnumerable results) + { + ConsoleTable + .From(results) + .Configure(o => o.NumberAlignment = Alignment.Right) + .Write(Format.MarkDown); + } } } diff --git a/BitFaster.Caching.HitRateAnalysis/Glimpse/Runner.cs b/BitFaster.Caching.HitRateAnalysis/Glimpse/Runner.cs index 106379a7..ea852a69 100644 --- a/BitFaster.Caching.HitRateAnalysis/Glimpse/Runner.cs +++ b/BitFaster.Caching.HitRateAnalysis/Glimpse/Runner.cs @@ -34,12 +34,7 @@ public static async Task Run() } Console.WriteLine($"Tested {count} keys in {sw.Elapsed}"); - - foreach (var a in analysis) - { - a.Compare(); - } - + Analysis.WriteToConsole(analysis); Analysis.WriteToFile("results.glimpse.csv", analysis); } } diff --git a/BitFaster.Caching.HitRateAnalysis/Wikibench/Analysis.cs b/BitFaster.Caching.HitRateAnalysis/Wikibench/Analysis.cs index 417c774a..15439d75 100644 --- a/BitFaster.Caching.HitRateAnalysis/Wikibench/Analysis.cs +++ b/BitFaster.Caching.HitRateAnalysis/Wikibench/Analysis.cs @@ -6,6 +6,7 @@ using System.Text; using System.Threading.Tasks; using BitFaster.Caching.Lru; +using ConsoleTables; using CsvHelper; namespace BitFaster.Caching.HitRateAnalysis.Wikibench @@ -33,16 +34,6 @@ public void TestUri(Uri uri) this.classicLru.GetOrAdd(uri, u => 1); } - public void Compare() - { - Console.WriteLine($"Size {this.concurrentLru.Capacity} Classic HitRate {FormatHits(this.classicLru.HitRatio)} Concurrent HitRate {FormatHits(this.concurrentLru.HitRatio)}"); - } - - private static string FormatHits(double hitRate) - { - return string.Format("{0:N2}%", hitRate * 100.0); - } - public static void WriteToFile(string path, IEnumerable results) { using (var writer = new StreamWriter(path)) @@ -51,5 +42,13 @@ public static void WriteToFile(string path, IEnumerable results) csv.WriteRecords(results); } } + + public static void WriteToConsole(IEnumerable results) + { + ConsoleTable + .From(results) + .Configure(o => o.NumberAlignment = Alignment.Right) + .Write(Format.MarkDown); + } } } diff --git a/BitFaster.Caching.HitRateAnalysis/Wikibench/Runner.cs b/BitFaster.Caching.HitRateAnalysis/Wikibench/Runner.cs index cf831581..f7219a66 100644 --- a/BitFaster.Caching.HitRateAnalysis/Wikibench/Runner.cs +++ b/BitFaster.Caching.HitRateAnalysis/Wikibench/Runner.cs @@ -46,11 +46,7 @@ public static async Task Run() Console.WriteLine($"Tested {count} URIs in {sw.Elapsed}"); - foreach (var a in analysis) - { - a.Compare(); - } - + Analysis.WriteToConsole(analysis); Analysis.WriteToFile("results.wikibench.csv", analysis); } } diff --git a/BitFaster.Caching.HitRateAnalysis/Zipfian/AnalysisResult.cs b/BitFaster.Caching.HitRateAnalysis/Zipfian/AnalysisResult.cs index 2b45b10f..8a3adf61 100644 --- a/BitFaster.Caching.HitRateAnalysis/Zipfian/AnalysisResult.cs +++ b/BitFaster.Caching.HitRateAnalysis/Zipfian/AnalysisResult.cs @@ -40,7 +40,7 @@ public static void WriteToConsole(IEnumerable results) ConsoleTable .From(results) .Configure(o => o.NumberAlignment = Alignment.Right) - .Write(Format.Alternative); + .Write(Format.MarkDown); } } } From 8730e042fba1fb35e09fae703b1779f77df6a9d6 Mon Sep 17 00:00:00 2001 From: Alex Peck Date: Fri, 15 Jul 2022 16:27:51 -0700 Subject: [PATCH 2/2] dedupe --- .../Arc/Analysis.cs | 8 -------- .../Arc/Runner.cs | 2 +- .../Glimpse/Analysis.cs | 8 -------- .../Glimpse/Runner.cs | 2 +- .../ResultExtensions.cs | 20 +++++++++++++++++++ .../Wikibench/Analysis.cs | 8 -------- .../Wikibench/Runner.cs | 3 +-- .../Zipfian/AnalysisResult.cs | 8 -------- .../Zipfian/Runner.cs | 2 +- 9 files changed, 24 insertions(+), 37 deletions(-) create mode 100644 BitFaster.Caching.HitRateAnalysis/ResultExtensions.cs diff --git a/BitFaster.Caching.HitRateAnalysis/Arc/Analysis.cs b/BitFaster.Caching.HitRateAnalysis/Arc/Analysis.cs index 897a8122..4727fbd6 100644 --- a/BitFaster.Caching.HitRateAnalysis/Arc/Analysis.cs +++ b/BitFaster.Caching.HitRateAnalysis/Arc/Analysis.cs @@ -42,13 +42,5 @@ public static void WriteToFile(string path, IEnumerable results) csv.WriteRecords(results); } } - - public static void WriteToConsole(IEnumerable results) - { - ConsoleTable - .From(results) - .Configure(o => o.NumberAlignment = Alignment.Right) - .Write(Format.MarkDown); - } } } diff --git a/BitFaster.Caching.HitRateAnalysis/Arc/Runner.cs b/BitFaster.Caching.HitRateAnalysis/Arc/Runner.cs index 125980c7..b44f8b75 100644 --- a/BitFaster.Caching.HitRateAnalysis/Arc/Runner.cs +++ b/BitFaster.Caching.HitRateAnalysis/Arc/Runner.cs @@ -40,7 +40,7 @@ public async Task Run() Console.WriteLine($"Tested {count} keys in {sw.Elapsed}"); - Analysis.WriteToConsole(this.config.Analysis); + this.config.Analysis.WriteToConsole(); Analysis.WriteToFile(this.config.Name, this.config.Analysis); } } diff --git a/BitFaster.Caching.HitRateAnalysis/Glimpse/Analysis.cs b/BitFaster.Caching.HitRateAnalysis/Glimpse/Analysis.cs index cac9155c..e3c8964d 100644 --- a/BitFaster.Caching.HitRateAnalysis/Glimpse/Analysis.cs +++ b/BitFaster.Caching.HitRateAnalysis/Glimpse/Analysis.cs @@ -42,13 +42,5 @@ public static void WriteToFile(string path, IEnumerable results) csv.WriteRecords(results); } } - - public static void WriteToConsole(IEnumerable results) - { - ConsoleTable - .From(results) - .Configure(o => o.NumberAlignment = Alignment.Right) - .Write(Format.MarkDown); - } } } diff --git a/BitFaster.Caching.HitRateAnalysis/Glimpse/Runner.cs b/BitFaster.Caching.HitRateAnalysis/Glimpse/Runner.cs index ea852a69..a14b543d 100644 --- a/BitFaster.Caching.HitRateAnalysis/Glimpse/Runner.cs +++ b/BitFaster.Caching.HitRateAnalysis/Glimpse/Runner.cs @@ -34,7 +34,7 @@ public static async Task Run() } Console.WriteLine($"Tested {count} keys in {sw.Elapsed}"); - Analysis.WriteToConsole(analysis); + analysis.WriteToConsole(); Analysis.WriteToFile("results.glimpse.csv", analysis); } } diff --git a/BitFaster.Caching.HitRateAnalysis/ResultExtensions.cs b/BitFaster.Caching.HitRateAnalysis/ResultExtensions.cs new file mode 100644 index 00000000..541cdc63 --- /dev/null +++ b/BitFaster.Caching.HitRateAnalysis/ResultExtensions.cs @@ -0,0 +1,20 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using ConsoleTables; + +namespace BitFaster.Caching.HitRateAnalysis +{ + public static class ResultExtensions + { + public static void WriteToConsole(this IEnumerable results) + { + ConsoleTable + .From(results) + .Configure(o => o.NumberAlignment = Alignment.Right) + .Write(Format.MarkDown); + } + } +} diff --git a/BitFaster.Caching.HitRateAnalysis/Wikibench/Analysis.cs b/BitFaster.Caching.HitRateAnalysis/Wikibench/Analysis.cs index 15439d75..65505617 100644 --- a/BitFaster.Caching.HitRateAnalysis/Wikibench/Analysis.cs +++ b/BitFaster.Caching.HitRateAnalysis/Wikibench/Analysis.cs @@ -42,13 +42,5 @@ public static void WriteToFile(string path, IEnumerable results) csv.WriteRecords(results); } } - - public static void WriteToConsole(IEnumerable results) - { - ConsoleTable - .From(results) - .Configure(o => o.NumberAlignment = Alignment.Right) - .Write(Format.MarkDown); - } } } diff --git a/BitFaster.Caching.HitRateAnalysis/Wikibench/Runner.cs b/BitFaster.Caching.HitRateAnalysis/Wikibench/Runner.cs index f7219a66..ffe38631 100644 --- a/BitFaster.Caching.HitRateAnalysis/Wikibench/Runner.cs +++ b/BitFaster.Caching.HitRateAnalysis/Wikibench/Runner.cs @@ -45,8 +45,7 @@ public static async Task Run() } Console.WriteLine($"Tested {count} URIs in {sw.Elapsed}"); - - Analysis.WriteToConsole(analysis); + analysis.WriteToConsole(); Analysis.WriteToFile("results.wikibench.csv", analysis); } } diff --git a/BitFaster.Caching.HitRateAnalysis/Zipfian/AnalysisResult.cs b/BitFaster.Caching.HitRateAnalysis/Zipfian/AnalysisResult.cs index 8a3adf61..7a1960d6 100644 --- a/BitFaster.Caching.HitRateAnalysis/Zipfian/AnalysisResult.cs +++ b/BitFaster.Caching.HitRateAnalysis/Zipfian/AnalysisResult.cs @@ -34,13 +34,5 @@ public static void WriteToFile(string path, IEnumerable results) csv.WriteRecords(results); } } - - public static void WriteToConsole(IEnumerable results) - { - ConsoleTable - .From(results) - .Configure(o => o.NumberAlignment = Alignment.Right) - .Write(Format.MarkDown); - } } } diff --git a/BitFaster.Caching.HitRateAnalysis/Zipfian/Runner.cs b/BitFaster.Caching.HitRateAnalysis/Zipfian/Runner.cs index ff3f15ce..44cca7b6 100644 --- a/BitFaster.Caching.HitRateAnalysis/Zipfian/Runner.cs +++ b/BitFaster.Caching.HitRateAnalysis/Zipfian/Runner.cs @@ -163,7 +163,7 @@ public static void Run() }); } - AnalysisResult.WriteToConsole(results); + results.WriteToConsole(); AnalysisResult.WriteToFile("results.zipf.csv", results); Console.ReadLine();