精简后的项目:仅保留 api/ui 源码、文档、构建依赖
This commit is contained in:
@@ -0,0 +1,77 @@
|
||||
package scanner
|
||||
|
||||
import (
|
||||
"image"
|
||||
"image/jpeg"
|
||||
_ "image/png"
|
||||
"os"
|
||||
"path/filepath"
|
||||
"testing"
|
||||
|
||||
"gopkg.in/gographics/imagick.v3/imagick"
|
||||
)
|
||||
|
||||
func BenchmarkStdlib(b *testing.B) {
|
||||
dir := b.TempDir()
|
||||
|
||||
for b.Loop() {
|
||||
func() {
|
||||
input, err := os.Open("./test_media/real_media/png.png")
|
||||
if err != nil {
|
||||
b.Fatal("open error:", err)
|
||||
}
|
||||
defer input.Close()
|
||||
|
||||
img, _, err := image.Decode(input)
|
||||
if err != nil {
|
||||
b.Fatal("decode error:", err)
|
||||
}
|
||||
|
||||
outfile := filepath.Join(dir, "test.jpg")
|
||||
defer os.Remove(outfile)
|
||||
|
||||
output, err := os.Create(outfile)
|
||||
if err != nil {
|
||||
b.Fatal("create error:", err)
|
||||
}
|
||||
defer output.Close()
|
||||
|
||||
if err := jpeg.Encode(output, img, &jpeg.Options{Quality: 70}); err != nil {
|
||||
b.Fatal("encode error:", err)
|
||||
}
|
||||
}()
|
||||
}
|
||||
}
|
||||
|
||||
func BenchmarkMagickWand(b *testing.B) {
|
||||
dir := b.TempDir()
|
||||
|
||||
imagick.Initialize()
|
||||
defer imagick.Terminate()
|
||||
|
||||
for b.Loop() {
|
||||
func() {
|
||||
mw := imagick.NewMagickWand()
|
||||
defer mw.Destroy()
|
||||
|
||||
if err := mw.ReadImage("./test_media/real_media/png.png"); err != nil {
|
||||
b.Fatal("read error:", err)
|
||||
}
|
||||
|
||||
output := filepath.Join(dir, "test.jpg")
|
||||
defer os.Remove(output)
|
||||
|
||||
if err := mw.SetFormat("JPEG"); err != nil {
|
||||
b.Fatal("set format error:", err)
|
||||
}
|
||||
|
||||
if err := mw.SetImageCompressionQuality(70); err != nil {
|
||||
b.Fatal("set quality error:", err)
|
||||
}
|
||||
|
||||
if err := mw.WriteImage(output); err != nil {
|
||||
b.Fatal("write error:", err)
|
||||
}
|
||||
}()
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user