-
Notifications
You must be signed in to change notification settings - Fork 109
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add support for Oxipng #190
Conversation
This is needed for PR toy#190
any movement on this? 🙏 |
@toy Thanks for the merge on #193 :) I was hoping it would fix the appveyor CI test, but it still failed. It doesn't appear to be from the missing oxipng binary any more though. It might just need to be re-ran? I rebased this branch with master to get rid of the merge conflicts. Let me know if there is anything else I should update. |
@oblakeerickson I should've mention here the worker-analysis branch that I created to try to understand if optipng and oxipng should be both enabled by default, or if only one should be enabled depending on availability. One more reason is to try to understand if level |
Ah okay, ya I didn't know you were working on that branch. For test images I used some from https://ftp.arl.army.mil/ftp/historic-computers/ just because I know they are large (several MB) and it was easiest to see a performance improvement with oxipng. Specifically I used this image http://ftp.arl.army.mil/ftp/historic-computers/png/brlescI2.png as one benchmark I ran initially when I made this PR on my 8 core computer:
For the same 6.7mb image oxipng compressed it in 5.5s compared to 24.7s with optipng. |
Looks like switching to github actions is part of this work? I see you have been working on the worker-analysis branch, so thank you ❤️ |
Currently not easy to dedicate enough to opensource. |
Based on toy#167 Oxipng is a multi-threaded rust implementation of Optipng. https://github.com/shssoichiro/oxipng
Sorry for long wait, I was trying to understand if it makes a lot of sense to run both oxipng and optipng for same image, but for now I only can tell that for some images they both contribute to reducing size. Worker analysis script in current state was not very helpful to understand if running both is not mostly wasteful and I didn't find time to rework it, so just updated PR and I think it is better to merge and iterate later |
@toy no worries on the wait, totally understand. Thank you for updating the PR :) |
image_optim, a ruby library we use, now has support for oxipng: toy/image_optim#190 (comment) So I'm adding the oxipng binary to the base image so that we can start using it. There currently isn't an apt package for it.
image_optim, a ruby library we use, now has support for oxipng: toy/image_optim#190 (comment) So I'm adding the oxipng binary to the base image so that we can start using it. There currently isn't an apt package for it.
@toy Just following up and letting you know this is now live in discourse. Thanks again for helping out with this :) |
Based on #167
Oxipng is a multi-threaded rust implementation of Optipng.
https://github.com/shssoichiro/oxipng