【发布时间】:2012-09-17 16:24:59
【问题描述】:
我在使用 PHP 的 WideImage 库 - http://wideimage.sourceforge.net/ 时遇到了严重的性能问题。使用 WideImage::load() 加载 2.2 MB .png 文件的内存使用量峰值为 93 MB!此外,加载、调整大小和写入 750 KB .jpg 的文件系统需要将近 30 秒。我已经在两台不同的服务器上运行了这些基准测试,结果相似。
还有其他人遇到过这些问题吗?只是 WideImage 是资源猪吗?如果我用直接 GD 而不是 WideImage 重写我的图像处理,我可以期待更好的性能,还是差不多?我知道 PHP 不是图像处理的最佳语言,但我宁愿不必在 C 中编译一些东西然后从 PHP 中调用它:(
感谢您的宝贵时间 - 安迪
【问题讨论】:
-
你的问题是什么?它似乎工作。您多久使用 93 MB 左右的内存调整大小?每张图只有一次?我也认为 93 MB 可以用于处理大图像,无论是什么库或语言。
-
真的吗? 93MB 内存来操作 2.2MB 图像? 30 秒调整 1MB 以下的 jpg 大小并将其写入文件系统?这种性能不可能在生产环境中发挥作用,尤其是在 PHP 分配了有限内存的托管环境中。我不能指望用户在等待 jpg 调整大小时起床泡茶。我已经看到很多 PHP 代码可以更快、更精简地执行此类操作,最近一次是在我正在使用的 WordPress 插件中。我想我会用直接的GD重写例程并比较性能。
-
由于我们对系统/CPU一无所知...