PHP yield占用内存测试
2024-08-27 04:25:26
function com($start)
{
$tmp = [];
for($i=0; $i<300000; $i++){
$tmp[] = $i;
}
$end = memory_get_usage();
echo 'com 函数占的内存:', ($end-$start), '<br>';
return $tmp;
} function gen($start)
{
// echo 'gen 函数站的内存:', memory_get_usage(), '<br>';
for($i=0; $i<300000; $i++){
yield $i;
}
$end = memory_get_usage();
echo '生成器占用的内存:', ($end-$start), '<br>';
}
$start = memory_get_usage(); //初识内存
echo '程序开始加载...<br>';
echo '初始内存:', $start, '<br>';
echo '加载com函数:<br>';
(com($start));
$end = memory_get_usage();
echo '开始加载生成器...<br>';
$start = memory_get_usage();
foreach (gen($start) as $key => $value) {
//echo $value;
}
$end = memory_get_usage();
echo '生成器运行结束程序占用的内存:',($end), '<br>';
echo '程序运行结束!<br>';
输出结果:
程序开始加载...
初始内存:377928
加载com函数:
com 函数占的内存:14680128
开始加载生成器...
生成器占用的内存:544
生成器运行结束程序占用的内存:377928
程序运行结束!
最新文章
- Android MVP+Retrofit+RxJava实践小结
- 【清华集训】楼房重建 BZOJ 2957
- 【requireJS源码学习01】了解整个requireJS的结构
- Web Api 多项目文档生成之SwaggerUI
- Yii2 使用 Joins 查询
- Android控件之SlidingDrawer(滑动式抽屉)详解与实例
- cURL 学习笔记与总结(1)概念
- Tkinter颜色方案举例
- [转]JavaScript 的性能优化:加载和执行
- linux下的十六进制编辑器---wxHexEdit
- Linux逻辑卷创建
- 在Eclipse中格式化Android代码
- iOS纯代码工程手动快速适配
- ubuntu下安装pdo和pdo_mysql扩展
- 详解MongoDB中的多表关联查询($lookup)
- C#;DataTable添加列;DataTable转List泛型集合;List泛型集合转DataTable泛型集合;
- JavaScript中typeof详解
- HTML 钟表 小时钟
- selenium - 截取页面图片和截取某个元素的图
- rdlc设置指定列隐藏