我写了一小段的程序。
因为循环次数较多,要运行很长时间,不止是几秒的事,长的话可能运行半小时。
每个循环执行时就是处理一下很短的字符串,本身不耗内存,也不耗CPU资源。
但是这样一直循环着是不是很耗内存?
有什么办法可以让PHP少占内存和CPU,增加程序的执行时间也无所谓。另外sleep是不是暂停执行,能满足我上边说的情况么?谢谢大家。

解决方案 »

  1.   

    sleep是暂停执行,也就是说在其设定的时间内什么都不做
      

  2.   

    这个得看 你具体的代码了;
    http://topic.csdn.net/u/20110423/23/a6f600eb-5973-470d-9308-741990ad6561.html
    建议 你看看这篇帖子 ;
      

  3.   

    php.ini里有个设置限制内存的选项, 也可以
    ini_set(‘memory_limit’, ’10M’);
      

  4.   

    设置运行时间加长每步骤处理完把没用的变量unset,建议用php5.3,垃圾回收机制相对好些我试过这样处理上万个html文件没问题,不过没有运行你说的那么长时间
      

  5.   

    正常情况PHP是会自动释放资源。 处理字符串这种工作其实是很快的。 你要多考虑一下占资源主要是未释放, 多半是数据库或文件或session未关闭。 另外不在乎时间的话。 比如你要循环10000次。 分10次处理。 用js控制分页的跳转。 具体的要看你的需求, 占用资源一般是代码和设计本身不够优化。 也可以用xdebug等调试软件分析一下性能损耗
      

  6.   

    我感觉最好的方法是优化你的算法,能不使用循环最好,看下边的例子
    同样是处理字符串,一个是用索引而第二种方法是用循环遍历,他们的效能肯定是第一个更好
    所以我认为算法是最重要的.
    $aa="abc";Echo $aa{1};For($i=0;$i<StrLen($aa);$i++){
    Echo $aa[$i];
    }