我正在编写一个PHP函数,它需要遍历指针数组和每个项目,并将这些数据(来自MySQL数据库或平面文件)引入。任何人都可以有任何优化这个想法,因为有可能成千上万的迭代?PHP循环性能优化
我的第一个想法是我有一个缓存数据的静态数组,我的工作和任何修改将只是改变缓存的数组,然后在最后我可以刷新到磁盘。但是,如果我只在阵列中保留大约30个,则在超过1000个项目的循环中,这将毫无用处。每个项目不是太大,但是其中有1000多个内存太多,因此需要磁盘存储。
数据只是gzipped序列化的对象。目前我正在使用数据库来存储数据,但我想可能平面文件会更快(我不关心并发问题,我不需要解析它,只是解压缩和反序列化)。我已经有了一个自定义迭代器,它一次只能提取5个项目(以减少数据库连接)并将它们存储在此缓存中。但是,当我需要迭代数千个时,使用30的缓存是相当无用的。
基本上我只是需要一种方法来快速迭代这些很多项目。
我将尽力解释自己更清楚...我正在写一个神经元网络,所以我需要迭代一些神经元对象来影响他们的一些数据然后保存它,进入下一个等等等等1000+神经元。然后我需要再次迭代(称为反传播)。 我认为最好的解决方案是在内存和IO访问之间找到一个媒介。如果我一次加载100个对象,这意味着更少的IO但更多的内存。 – Louis 2009-12-17 02:33:08