12 ms·
There is already an (unofficial Google) image proxy written in Go that is quite fast, does caching (local or backed by S3/GCS), and does other nice things like
by sgk284 9y ago
There is already an (unofficial Google) image proxy written in Go that is quite fast, does caching (local or backed by S3/GCS), and does other nice things like smart cropping: https://github.com/willnorris/imageproxy https://github.com/willnorris/imageproxy
Seemed like a lot of unnecessary work for them to reimplement a service from scratch without gaining any major perf benefits over their existing one and without leaning on an existing well-known and well-built foundation.
- bpicolo 9y agohttps://github.com/thoas/picfit https://github.com/thoas/picfit is another golang lib for this, and it's pretty mature at this point. The one thing these don't support though is smarter cropping that takes into account image contents, which takes enough cpu power to require preprocessing
- brian-armstrong 9y agoAuthor of the blog post here - it looks like what you linked does its image resizing in pure Go. In our testing we found these libraries are significantly slower than the C++ resize libraries. I would guess we would need at least 10x as many instances if we used that resizer, though probably a lot more
- deleted 9y ago[deleted]