我做了一些测试。 (感谢Aufziehvogel的施工)

$count = 100000;

$dir = dirname(__FILE__);

$startScan = microtime(true);

for ($i=0;$i

$array = scandir($dir);

}

$endScan = microtime(true);

$startRead = microtime(true);

for ($i=0;$i

$handle = opendir($dir);

while (false !== ($entry = readdir($handle))) {

// We do not know what to do

}

}

$endRead = microtime(true);

$startGlob = microtime(true);

for ($i=0;$i

$array3 = glob('*');

}

$endGlob = microtime(true);

echo "scandir: " . ($endScan-$startScan) . "\n";

echo "readdir: " . ($endRead-$startRead) . "\n";

echo "glob : " . ($endGlob-$startGlob) . "\n";

Linux服务器结果:

scandir: 0.82553291320801

readdir: 0.91677618026733

glob : 0.76309990882874

这个Reasults来自4核(8个线程)intel E3-1240 Cpu linux + Apache服务器。

但Windows服务器的结果则相反。 Windows + Apache服务器 - 英特尔Q8400 4核(4线程)

Windows Server结果:

$count = 10000; // it was on linux 100000 :)

scandir: 0.61557507515

readdir: 0.614650011063

glob : 1.92112612724

(文件夹包含13个文件。如果文件增加,结果可能不同)

php readdir scandir,php - readdir vs scandir - 堆栈内存溢出相关推荐

  1. 服务器返回的信息无效或无法识别的响应,c# - 服务器从Visual Studio返回了无效或无法识别的响应错误 - 堆栈内存溢出...

    这很奇怪,来自微软. 在Visual Studio中,当我从Visual Studio执行应用程序代码时,大多数时候都会收到以下错误,然后将代码发布到自己的服务器上,Web应用程序运行正常(发出请求时 ...

  2. android捕获线程异常,android - 终结器引发的未捕获的异常:所有WebView方法必须在同一线程上调用。 (预期的Looper) - 堆栈内存溢出...

    我正在使用Admob SDK 18.1.1 并获得错误终结器抛出未捕获的异常 java.lang.RuntimeException: java.lang.Throwable: A WebView me ...

  3. java 更新jlabel_java - 用Java更新绑定的JLabel文本 - 堆栈内存溢出

    当我运行您发布的代码时,我收到了NullPointerException . 这是堆栈跟踪的一部分. (请注意,我的环境是[64位] Windows 10上的JDK 13.0.1.) Exceptio ...

  4. java 队列复制_java - 复制堆栈或队列,而无需使用“克隆” - 堆栈内存溢出

    复制堆栈和队列,而无需使用克隆. 例如,当我调用传递堆栈的方法时,我无法修改保留传递原始堆栈的权限. 我需要对传递的堆栈进行复制/克隆以更改/在方法中使用. 我只能使用Stack.java(附加). ...

  5. java slf4j日志级别_java - 在slf4j中设置运行时消息的日志级别 - 堆栈内存溢出

    ===============>>#1 票数:41 已采纳 使用slf4j无法做到这slf4j . 我想,缺少这个功能的原因是,几乎不可能为slf4j构建一个Level类型,它可以有效地映 ...

  6. java spark 读取json_apache-spark - 与aws-java-sdk链接时,在读取json文件时发生Spark崩溃 - 堆栈内存溢出...

    让config.json成为一个小的json文件: { "toto": 1 } 我做了一个简单的代码,用sc.textFile读取json文件(因为文件可以在S3,本地或HDFS上 ...

  7. aws java mysql_java - AWS EC2 / MySql - spring boot无法从datasource确定jdbc url - 堆栈内存溢出...

    我有一个简单的Spring Boot应用程序,我试图在基于Amazon AMI的Amazon EC2实例上部署. 它使用MySql数据库(版本8.0.15). 我在AWS上创建了数据库,当我从本地系统 ...

  8. c语言printf %llo,c++ - Printf疯狂了 - 堆栈内存溢出

    你不能使用%d来打印long long . 你必须使用%lld . (因此请使用"\\n%d %d | %lld %lld | %d %d"作为格式字符串.) 特别是,显而易见的是 ...

  9. android 7.1内存泄漏,android - Android 7.1和7本机崩溃:libc.so tgkill + 12 - 堆栈内存溢出...

    我看到此原生崩溃与以下堆栈跟踪. 我已经检查了与此类似的其他问题,但是未找到任何类似的解决方案,因为我没有使用TextureView或CardView,并且我也确定这不是由于任何库依赖性而引起的. 有 ...

最新文章

  1. python学习书籍推荐-推荐python机器学习实践的书籍?
  2. 个人博客作业week1
  3. SpringSecurity的csrf防护措施
  4. DMN 1.1 XML:使用Drools 7.0从建模到自动化
  5. Mr.J-- HTTP学习笔记(十)-- Cookie机制
  6. 室内定位程序_基于增强现实的室内导航系统如何设计架构
  7. greenplum mysql jdbc_Kylin设置JDBC配置greenplum数据源
  8. IPv4和IPv6有什么不同
  9. AcWing323. 战略游戏(树形DP)题解
  10. [译]R语言——Shiny框架之构建(一):1.结构——1.独立应用程序——1.应用的格式和启动
  11. 一些你可能不知道的 Python 小技巧!
  12. Varnish 缓存
  13. c语言getchar的作用,c=getchar()!='\n'到底什么用呢
  14. 我珍藏很久的网盘资源搜索网站和下载神器
  15. 栈实现二叉树的前中后序遍历
  16. 下载超星或读秀图书时,怎么搞定完整书签?
  17. Link warning:LNK4199 解决
  18. [声纹识别]基于MFCC的声纹识别算法
  19. 源码安装nginx 1.23.1
  20. final修饰变量、方法、类的作用

热门文章

  1. 自己做的应用如何赚钱之付费下载
  2. 如何描述PCIe SSD性能的稳定性?
  3. 删除cookie之js实现
  4. shell 批量修改多个文件中的内容
  5. WPF 设置窗体圆角
  6. MySQLexplain之Extra介绍
  7. Springboot 项目开启多个端口
  8. win11怎么连接共享打印机进行打印
  9. 计算机的性能指标完全有CPU决定,计算机的性能主要由CPU的哪些指标决定
  10. Linux内核bug分析