gpt4 book ai didi

linux - 使用多个 CPU 内核优化目录中的图像

转载 作者:IT王子 更新时间:2023-10-29 00:47:53 27 4
gpt4 key购买 nike

我在一个目录中有几个 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

关于linux - 使用多个 CPU 内核优化目录中的图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21801085/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com