package artworkimport ("bytes""fmt""image/jpeg""image/png""testing")func BenchmarkImageEncode(b *testing.B) {img := generateGradientImage(300, 300)jpegQualities := []int{60, 75, 90}for _, q := range jpegQualities {b.Run(fmt.Sprintf("jpeg/q%d/300x300", q), func(b *testing.B) {var buf bytes.Bufferb.ResetTimer()for i := 0; i < b.N; i++ {buf.Reset()if err := jpeg.Encode(&buf, img, &jpeg.Options{Quality: q}); err != nil {b.Fatal(err)}}b.ReportMetric(float64(buf.Len()), "bytes")})}b.Run("png/300x300", func(b *testing.B) {var buf bytes.Bufferb.ResetTimer()for i := 0; i < b.N; i++ {buf.Reset()if err := png.Encode(&buf, img); err != nil {b.Fatal(err)}}b.ReportMetric(float64(buf.Len()), "bytes")})}