I've been working on my new OpenImageIO
<https://github.com/OpenImageIO>bindings for Go (
OpenImageIGo <https://github.com/justinfx/openimageigo>) and finally wrote
enough of the cgo bindings to be able to try some benchmarks. I'm getting
results that are less than what I had expected, and I am really hoping I am
just overlooking something big in my approach.
I'm comparing a resize operation between OpenImageIGo, a direct call to the
oiiotool binary included with the install of OpenImageIO itself, and the Go
bindings for ImageMagick <https://github.com/gographics/imagick> (which I
have previously been using)
End results: https://gist.github.com/justinfx/33931727822fbebc4aa5
$ time ./convert_oiio
$ time ./convert_imagick
$ time oiiotool /tmp/source.png -resize 320x240 -o /tmp/image_test3.png
I know there is some overhead involved in cgo calls, but there are
very few calls involved in this process. I figured it couldn't
possibly be as fast as directly calling oiiotool, but I thought I
could get closer than what I am getting. The oiiotool call is
basically the equivalent of what I am doing in code (using the same
default filter settings and global thread count).
Would someone mind taking a glance at my implementation and possibly
point out any glaring issues or offer any tips related to the resize
operation I am testing?
Really appreciate any guidance on this.
You received this message because you are subscribed to the Google Groups "golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email to firstname.lastname@example.org.
For more options, visit https://groups.google.com/d/optout.