zoukankan      html  css  js  c++  java
  • 测试php单例模式和静态访问,实例化访问的效率

    // 测试的类
    class
    Memory { private static $a= null; public function __construct() { return self::$a; } public static function getName(){ if(empty(self::$a)){ self::$a = new static(); } return self::$a; } public static function getOk(){ return self::$a; } }
            echo '开始内存:'.memory_get_usage(), '<br/>';
            $a = memory_get_usage();
            $stime=microtime(true); //获取程序开始执行的时间
            $tmp = str_repeat('hello', 1000);
    
            for($i=1;$i<9999999;$i++){
    //            $memory = new Memory();
                $memory = Memory::getOk();
    //            $memory = Memory::getName();
            }
    
    
            echo '运行后内存:'.memory_get_usage(), '<br/>';
            $b = memory_get_usage();
    
            unset($tmp);
            echo '内存占用:'.($b-$a)."<br/>";
    
    
            /**
             *你要运行的程序
             **/
            $etime=microtime(true);//获取程序执行结束的时间
            $total=$etime-$stime;   //计算差值
            echo "<br />[页面执行时间:{$total} ]秒";

    结果:

    1.实例化
    开始内存:1785568 运行后内存:1795352 内存占用:9784 [页面执行时间:2.3476557731628 ]秒 2.静态访问 开始内存:1785584 运行后内存:1795320 内存占用:9736 [页面执行时间:1.1992189884186 ]秒 3.单例模式 开始内存:1785536 运行后内存:1795224 内存占用:9688 [页面执行时间:1.6123049259186 ]秒

    总结:从内存来看,差别不大;时间来看,静态访问最好

  • 相关阅读:
    再谈加密-RSA非对称加密的理解和使用
    WEB开发中的字符集和编码
    网页实时聊天之PHP实现websocket
    PHP中的回调函数和匿名函数
    shell实现SSH自动登陆
    初探PHP多进程
    PHP的openssl加密扩展使用小结
    搭建自己的PHP框架心得(三)
    docker 快速搭建Nexus3
    用图形数据库Neo4j 设计权限模块
  • 原文地址:https://www.cnblogs.com/myvic/p/8746458.html
Copyright © 2011-2022 走看看