gpt4 book ai didi

php - APC序列化慢?

转载 作者:可可西里 更新时间:2023-11-01 13:28:31 26 4
gpt4 key购买 nike

例子:

$arr = array();

for($i = 5; $i < 300000; $i++)
$arr[$i] = 'foo';

apc_store('data', $arr);

大约需要 15 秒。获取数据大约需要 0.7 秒。

但是如果我用 php 序列化数据并像使用 apc_store('data', serialize($arr)); 那样存储它,它只需要 1 秒。

获取序列化后的数据,然后反序列化,耗时0.6s多一点

为什么 APC 这么慢?

最佳答案

apc_sma_info() 提供了一个有趣的信息,也许可以解释为什么会发生这种情况。

使用非序列化数据执行 apc_store() 会产生,在 block_lists 中索引以下值:

Array
(
[0] => Array
(
[size] => 608
[offset] => 33152
)

[1] => Array
(
[size] => 5589032
[offset] => 11211992
)

[2] => Array
(
[size] => 2175976
[offset] => 31378408
)
)

在手动序列化它们时会产生:

Array
(
[0] => Array
(
[size] => 11178232
[offset] => 33760
)

[1] => Array
(
[size] => 1210040
[offset] => 16801024
)

[2] => Array
(
[size] => 15542104
[offset] => 18012280
)
)

这很好奇,但似乎通过手动序列化,APC 将第一条和最后一条数据拆分为更大的 block ,从而更好地处理内容。

这似乎不是微不足道的事情,因为我多次运行此测试并且每次都得到相似的结果。

关于php - APC序列化慢?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12887160/

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