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  }