codeberg.org/go-pdf/fpdf@v0.11.1/png_test.go (about) 1 // Copyright ©2021 The go-pdf Authors. All rights reserved. 2 // Use of this source code is governed by a MIT-style 3 // license that can be found in the LICENSE file. 4 5 package fpdf 6 7 import ( 8 "bytes" 9 "os" 10 "testing" 11 ) 12 13 func BenchmarkParsePNG_rgb(b *testing.B) { 14 raw, err := os.ReadFile("image/golang-gopher.png") 15 if err != nil { 16 b.Fatal(err) 17 } 18 19 pdf := New("P", "mm", "A4", "") 20 pdf.AddPage() 21 22 const readDPI = true 23 b.ResetTimer() 24 for i := 0; i < b.N; i++ { 25 _ = pdf.parsepng(bytes.NewReader(raw), readDPI) 26 } 27 } 28 29 func BenchmarkParsePNG_gray(b *testing.B) { 30 raw, err := os.ReadFile("image/logo-gray.png") 31 if err != nil { 32 b.Fatal(err) 33 } 34 35 pdf := New("P", "mm", "A4", "") 36 pdf.AddPage() 37 38 const readDPI = true 39 b.ResetTimer() 40 for i := 0; i < b.N; i++ { 41 _ = pdf.parsepng(bytes.NewReader(raw), readDPI) 42 } 43 } 44 45 func BenchmarkParsePNG_small(b *testing.B) { 46 raw, err := os.ReadFile("image/logo.png") 47 if err != nil { 48 b.Fatal(err) 49 } 50 51 pdf := New("P", "mm", "A4", "") 52 pdf.AddPage() 53 54 const readDPI = true 55 b.ResetTimer() 56 for i := 0; i < b.N; i++ { 57 _ = pdf.parsepng(bytes.NewReader(raw), readDPI) 58 } 59 } 60 61 func BenchmarkParseJPG(b *testing.B) { 62 raw, err := os.ReadFile("image/logo_gofpdf.jpg") 63 if err != nil { 64 b.Fatal(err) 65 } 66 67 pdf := New("P", "mm", "A4", "") 68 pdf.AddPage() 69 70 b.ResetTimer() 71 for i := 0; i < b.N; i++ { 72 _ = pdf.parsejpg(bytes.NewReader(raw)) 73 } 74 } 75 76 func BenchmarkParseGIF(b *testing.B) { 77 raw, err := os.ReadFile("image/logo.gif") 78 if err != nil { 79 b.Fatal(err) 80 } 81 82 pdf := New("P", "mm", "A4", "") 83 pdf.AddPage() 84 85 b.ResetTimer() 86 for i := 0; i < b.N; i++ { 87 _ = pdf.parsegif(bytes.NewReader(raw)) 88 } 89 }