zoukankan      html  css  js  c++  java
  • PHP yield占用内存测试

    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
    程序运行结束!
  • 相关阅读:
    实现IEnumberable接口和IEnumberator
    XAML-1
    Java基础00-Java概述1
    详解Lombok中的@Builder用法
    stream之map的用法
    stream之forEach的用法
    Java中map.getOrDefault()方法的使用
    BiPredicate的test()方法
    Function.identity()
    java 8 lamda Stream的Collectors.toMap 参数
  • 原文地址:https://www.cnblogs.com/bneglect/p/12015011.html
Copyright © 2011-2022 走看看