gpt4 book ai didi

php - 最好不要将 &$ 与大字符串一起使用以节省内存吗?

转载 作者:可可西里 更新时间:2023-10-31 22:10:18 26 4
gpt4 key购买 nike

所以我想知道,努力在一个非常繁忙的服务器上节省一些宝贵的内存分配。

如果在编译最终输出时我的程序周围有大约 1-5mb 的字符串,那么通过引用明确地传递它们是否更好?这会不会节省内存?

所以基本上问题是:在内存方面哪个更好,A 或 B 是否值得付出努力?

答:

function something($whoa) {
$whoa .= 'bar';
return $whoa;
}
$baz = 'foo';
$baz = something($baz);
echo $baz;

乙:

function something(&$whoa) {
$whoa .= 'bar';
}
$baz = 'foo';
something($baz);
echo $baz;

最佳答案

是的。

PHP 使用 copy-on-write因此,如果您只是使用它们(例如显示它们),它不会复制您的字符串。但是,一旦您开始像在函数中那样操作它们,就会创建一个副本,并且使用的内存量会增加。

如评论中所述,您可以使用 memory_get_usage() 轻松测量它.

示例:

将制作一个副本(值被操纵,因此将写入一个新的):

function something($whoa) {
$whoa .= 'bar';
return $whoa;
}

不会复制:

function somethingElse($whoa) {
echo $whoa;
return true;
}

关于php - 最好不要将 &$ 与大字符串一起使用以节省内存吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34988086/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com