php exec 进程,PHP exec()性能

以下

PHP代码使我的运行时间大约为3.5秒(测量多次并平均):

$starttime = microtime(true);

exec('/usr/local/bin/convert 1.pdf -density 200 -quality 85% 1.jpg');

$endtime = microtime(true);

$time_taken = $endtime-$starttime;

当我通过ssh终端运行相同的命令时,运行时间减少到大约0.6秒(用命令行工具时间测量).

imagemagick库的版本是

Version: ImageMagick 6.7.0-10 2012-12-18 Q16 http://www.imagemagick.org

Copyright: Copyright (C) 1999-2011 ImageMagick Studio LLC

Features: OpenMP

什么可能是这个时间差异的原因?

stackoverflow上的类似问题的一个答案是,开销来自Webserver必须启动一个线程/ shell.这可能是真的吗?我认为线程是轻量级的,不要花太多时间来启动/终止.

在调用exec之前,我设置imagemagick使用的线程数(因为这是/是OpenMP?Reference中的一个错误)到1(exec(‘env MAGICK_THREAD_LIMIT = 1’));不管我为MAGICK_THREAD_LIMIT设置什么值,PHP的运行时间都不会变化很大.无论如何,OpenMP在这个版本中似乎并不是一个bug,因为命令行执行的运行时间是可以的.

任何关于如何改进上述命令运行时的建议将不胜感激.

非常感谢您的帮助.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值