mirror of
https://github.com/YuzuZensai/TrollSSH.git
synced 2026-09-13 18:59:12 +00:00
🚀 perf: make render-cache compression opt-in, default off
This commit is contained in:
@@ -43,27 +43,35 @@ func BenchmarkRenderGray(b *testing.B) { benchRender(b, ColorTierNone, 120,
|
||||
func BenchmarkRenderTrueBig(b *testing.B) { benchRender(b, ColorTierTrueColor, 240, 70) }
|
||||
|
||||
func BenchmarkRenderCachedParallel(b *testing.B) {
|
||||
fc := loadBenchSet(b)
|
||||
r := NewRenderer(0, fc.ColorFrames, Options{
|
||||
BrightnessThreshold: 40,
|
||||
Charset: "detailed",
|
||||
}, NewCache(8<<20))
|
||||
frame, err := r.Render(0, 120, 40, false, ColorTierTrueColor)
|
||||
if err != nil {
|
||||
b.Fatal(err)
|
||||
}
|
||||
b.SetBytes(int64(len(frame)))
|
||||
b.ReportAllocs()
|
||||
var failures atomic.Uint64
|
||||
b.ResetTimer()
|
||||
b.RunParallel(func(pb *testing.PB) {
|
||||
for pb.Next() {
|
||||
if _, err := r.Render(0, 120, 40, false, ColorTierTrueColor); err != nil {
|
||||
failures.Add(1)
|
||||
}
|
||||
for _, compress := range []bool{false, true} {
|
||||
name := "uncompressed"
|
||||
if compress {
|
||||
name = "compressed"
|
||||
}
|
||||
})
|
||||
if failures.Load() != 0 {
|
||||
b.Fatalf("render failures: %d", failures.Load())
|
||||
b.Run(name, func(b *testing.B) {
|
||||
fc := loadBenchSet(b)
|
||||
r := NewRenderer(0, fc.ColorFrames, Options{
|
||||
BrightnessThreshold: 40,
|
||||
Charset: "detailed",
|
||||
}, NewCache(8<<20, compress))
|
||||
frame, err := r.Render(0, 120, 40, false, ColorTierTrueColor)
|
||||
if err != nil {
|
||||
b.Fatal(err)
|
||||
}
|
||||
b.SetBytes(int64(len(frame)))
|
||||
b.ReportAllocs()
|
||||
var failures atomic.Uint64
|
||||
b.ResetTimer()
|
||||
b.RunParallel(func(pb *testing.PB) {
|
||||
for pb.Next() {
|
||||
if _, err := r.Render(0, 120, 40, false, ColorTierTrueColor); err != nil {
|
||||
failures.Add(1)
|
||||
}
|
||||
}
|
||||
})
|
||||
if failures.Load() != 0 {
|
||||
b.Fatalf("render failures: %d", failures.Load())
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user