php array_map,for,foreach性能测试

2024-06-09 10:18
文章标签 性能 php 测试 map foreach array

本文主要是介绍php array_map,for,foreach性能测试,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

array array_map ( callback $callback , array $arr1 [, array $... ] )

是php自带的使用回调函数的数组批处理函数,看到这类函数的结构我就怀疑其处理效率。做了个小测试

$a[0]['id'] = 1;
$a[0]['name'] = "a";
$a[1]['id'] = 2;
$a[1]['name'] = "b";
$a[2]['id'] = 3;
$a[2]['name'] = "c";
$a[3]['id'] = 3;
$a[3]['name'] = "c";
$a[4]['id'] = 3;
$a[4]['name'] = "c";
$a[5]['id'] = 3;
$a[5]['name'] = "c";
$a[6]['id'] = 3;
$a[6]['name'] = "c";
$a[7]['id'] = 3;
$a[7]['name'] = "c";
$a[8]['id'] = 3;
$a[8]['name'] = "c";
$a[9]['id'] = 3;
$a[9]['name'] = "c";
$a[10]['id'] = 3;
$a[10]['name'] = "c";
function _map($x){$x['cid'] = "abc";return $x;
}$t1 = microtime(true);//方案1:自己创建回调函数,在mvc框架中,这类回调函数的调用很不方便,单独一个函数放在什么地方是个问题,所以首先想到用类似js的闭包。实际效率最低;平均58us
//$a = array_map(create_function('$x','$x["cid"] = "abc";return $x;'),$a);    //方案2:使用回调函数;平均30us
//$a = array_map('_map',$a);//方案3:直接foreach遍历;平均20us
//foreach($a as $k=>$v) {
//    $a[$k]['cid'] = "abc";
//}//方案4:使用for循环;平均15us
for($i=0;$i<count($a);$i++){	$a[$i]['cid'] = "abc";
}$t2 = microtime(true);echo pow(10,4)*$t2 - pow(10,4)*$t1;
echo "<br>";
echo ($t2-$t1)*pow(10,6);
print_r("<pre>");
print_r ($a);
print_r("</pre>");

测试结果
方案测试方法微秒数
1array_map+create_function58
2array_map30
3foreach20
4for15

这篇关于php array_map,for,foreach性能测试的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1044898

相关文章

Docker多阶段镜像构建与缓存利用性能优化实践指南

《Docker多阶段镜像构建与缓存利用性能优化实践指南》这篇文章将从原理层面深入解析Docker多阶段构建与缓存机制,结合实际项目示例,说明如何有效利用构建缓存,组织镜像层次,最大化提升构建速度并减少... 目录一、技术背景与应用场景二、核心原理深入分析三、关键 dockerfile 解读3.1 Docke

PHP轻松处理千万行数据的方法详解

《PHP轻松处理千万行数据的方法详解》说到处理大数据集,PHP通常不是第一个想到的语言,但如果你曾经需要处理数百万行数据而不让服务器崩溃或内存耗尽,你就会知道PHP用对了工具有多强大,下面小编就... 目录问题的本质php 中的数据流处理:为什么必不可少生成器:内存高效的迭代方式流量控制:避免系统过载一次性

PHP应用中处理限流和API节流的最佳实践

《PHP应用中处理限流和API节流的最佳实践》限流和API节流对于确保Web应用程序的可靠性、安全性和可扩展性至关重要,本文将详细介绍PHP应用中处理限流和API节流的最佳实践,下面就来和小编一起学习... 目录限流的重要性在 php 中实施限流的最佳实践使用集中式存储进行状态管理(如 Redis)采用滑动

从原理到实战解析Java Stream 的并行流性能优化

《从原理到实战解析JavaStream的并行流性能优化》本文给大家介绍JavaStream的并行流性能优化:从原理到实战的全攻略,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的... 目录一、并行流的核心原理与适用场景二、性能优化的核心策略1. 合理设置并行度:打破默认阈值2. 避免装箱

深入解析C++ 中std::map内存管理

《深入解析C++中std::map内存管理》文章详解C++std::map内存管理,指出clear()仅删除元素可能不释放底层内存,建议用swap()与空map交换以彻底释放,针对指针类型需手动de... 目录1️、基本清空std::map2️、使用 swap 彻底释放内存3️、map 中存储指针类型的对象

深度剖析SpringBoot日志性能提升的原因与解决

《深度剖析SpringBoot日志性能提升的原因与解决》日志记录本该是辅助工具,却为何成了性能瓶颈,SpringBoot如何用代码彻底破解日志导致的高延迟问题,感兴趣的小伙伴可以跟随小编一起学习一下... 目录前言第一章:日志性能陷阱的底层原理1.1 日志级别的“双刃剑”效应1.2 同步日志的“吞吐量杀手”

Java慢查询排查与性能调优完整实战指南

《Java慢查询排查与性能调优完整实战指南》Java调优是一个广泛的话题,它涵盖了代码优化、内存管理、并发处理等多个方面,:本文主要介绍Java慢查询排查与性能调优的相关资料,文中通过代码介绍的非... 目录1. 事故全景:从告警到定位1.1 事故时间线1.2 关键指标异常1.3 排查工具链2. 深度剖析:

深入解析Java NIO在高并发场景下的性能优化实践指南

《深入解析JavaNIO在高并发场景下的性能优化实践指南》随着互联网业务不断演进,对高并发、低延时网络服务的需求日益增长,本文将深入解析JavaNIO在高并发场景下的性能优化方法,希望对大家有所帮助... 目录简介一、技术背景与应用场景二、核心原理深入分析2.1 Selector多路复用2.2 Buffer

基于Python Playwright进行前端性能测试的脚本实现

《基于PythonPlaywright进行前端性能测试的脚本实现》在当今Web应用开发中,性能优化是提升用户体验的关键因素之一,本文将介绍如何使用Playwright构建一个自动化性能测试工具,希望... 目录引言工具概述整体架构核心实现解析1. 浏览器初始化2. 性能数据收集3. 资源分析4. 关键性能指

Zabbix在MySQL性能监控方面的运用及最佳实践记录

《Zabbix在MySQL性能监控方面的运用及最佳实践记录》Zabbix通过自定义脚本和内置模板监控MySQL核心指标(连接、查询、资源、复制),支持自动发现多实例及告警通知,结合可视化仪表盘,可有效... 目录一、核心监控指标及配置1. 关键监控指标示例2. 配置方法二、自动发现与多实例管理1. 实践步骤