在php中实例化对象时的性能

Sla*_*lay 2 php memory performance

我想问一下在php中实例化对象的性能和内存使用情况.

在我的应用程序的每个php文件中,我都包含一个连接到数据库的文件.

$db->DB::getInstance();
$db->connect('all my credentials');
Run Code Online (Sandbox Code Playgroud)

这是我的db类中的getInstance()函数.

//singleton database instance
public static function getInstance() {
    if (!self::$Instance) {
        self::$Instance = new DB();
    }

    return self::$Instance;
}
Run Code Online (Sandbox Code Playgroud)

目前一切都很顺利.但我担心性能问题,可以改进,可能的缺陷等.

我研究并发现单例实例可以帮助节省内存.如果对象已经实例化,它将重用该对象.我对吗?

我的确切问题是

例如,如果我有10个用户访问脚本,是否意味着该对象将实例化10次?当发生这种情况时,它会对我的内存使用量加上10倍的负载吗? - >这是我感兴趣的

感谢任何专家意见.

Nul*_*teя 6

与所有性能调整一样,你应该衡量你正在做什么,而不是盲目地执行一些你并不完全理解的伏都教仪式.保存对象时$_SESSION,PHP将捕获对象状态并从中生成文件(序列化).在下一个请求时,PHP将创建一个新对象并使用此状态重新填充它.这个过程比创建对象要昂贵得多,因为PHP必须进行磁盘I/O然后解析序列化数据.这必须在读取和写入时发生.

通常,PHP被设计为无共享架构.这有其优点和缺点,但试图以某种方式回避它,通常不是一个好主意.