0

我注意到,当我尝试调整位于包含超过 80k 个其他图像(同一级别没有子目录)的文件夹中的图像大小时,调整大小可能需要将近 2 秒。(1.92 秒)

然而,在一个只有 10 张其他图像的文件夹中,同一张图像几乎是即时的(0.02 秒)。

  • 我正在batch模式下对此进行测试,因为我的应用正在使用gm4java:1.1.0.
  • 在 Windows 10 上运行
  • NTFS(我认为这可能是一个问题,运行 contig.exe,但没有改变)
  • GraphicsMagick 1.3.21

这是我的命令和输出:

GM> benchmark convert -size 200x200 "C:\lots-of-pics\image399.png[0]" -auto-orient -thumbnail 200x200 "C:\Users\user\AppData\Local\Temp\img-4518761374990603981.png"
Results: 1 threads 1 iter 1.94s user 1.94s total 0.514 iter/s 0.516 iter/cpu
GM> benchmark convert -size 200x200 "C:\less-pics\image399.png[0]" -auto-orient -thumbnail 200x200 "C:\Users\user\AppData\Local\Temp\img-4518761374990603981.png"
Results: 1 threads 1 iter 0.02s user 0.02s total 58.823 iter/s 64.000 iter/cpu

我在 SO 或sourceforge上找不到任何相关信息。任何想法为什么它这么慢?

4

1 回答 1

0

我应该先试试这个。结果更新到最新的 GraphicsMagick 1.3.24 解决了这个问题。

现在,无论同一文件夹中有多少其他文件,调整同一图像的大小都需要相同的时间。

查看1.3.22 的发行说明,这可能已经修复了它,因为在目录中提到了许多文件(我找不到确切的提交):

常规:修复了目录中有很多文件时子图像路径提取的性能问题。

于 2016-07-20T17:01:29.797 回答