我在目录中有几个PNG图像,我正在使用optipng来优化和缩小图像大小.问题是优化所有文件需要很长时间.
我有一个四核处理器,我注意到optipng只使用一个核心
当我优化目录.
这是我正在使用的代码:
ls -1 | while read line
do
optipng -o7 "$line"
done
在读取目录时是否可以并行执行四个不同文件的optipng?
解决方法:
还有另一种涉及xargs的解决方案.
find some/dir/ -iname '*.png' -print0 | xargs -0 -n 1 -P 4 optipng -o7
其中-P 4启动4个并行进程,-n 1每个进程最多使用一个文件名.
或者,如果您有换行符分隔的文件名,请使用:
find some/dir/ -iname '*.png' | sort | xargs -d \\n -n 1 -P 4 optipng -o7
感谢Joe Lencioni comment on a blog.
更新:我编写了一个shell脚本来调用多个图像并行调用zopflipng(压缩比optipng更高):zopflipng_in_place
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。