Home >Backend Development >PHP Tutorial >Solution to the problem of PHP array consuming too much memory_PHP tutorial

Solution to the problem of PHP array consuming too much memory_PHP tutorial

WBOY
WBOYOriginal
2016-07-21 14:54:291327browse

Generally speaking, the memory utilization of PHP arrays is only 1/10. That is to say, an array with 100M of memory in C language requires 1G in PHP.

Especially in systems where PHP is used as a backend server, the problem of excessive memory consumption often occurs.

Because this is a language problem, conventional solutions are more difficult to solve. The following is a solution through string.

Code
$total = 100000;
$double = "";
for ($i = 0; $i < $total; $i++)
{
$double .= pack("d", $i + 0.1);
}

for ($i = 0; $i < $total; $i++)
{
unpack( "@" . ($i * 8) . "/d", $double);
}

This example uses a string to save an array of doubles. Then unpack it when using it.

Of course, this will impact performance. It depends on the specific needs.

For example, in this case:

You have 10 arrays, each array is 10M (about 1 million data), then ten will cost 100M of memory.

If you add 10 people concurrently, the memory will be seriously insufficient.

Then, among the 10 arrays, they are not used at the same time every time. You can, save them as string

Then, when used, unpack a certain string into an array.

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/364609.htmlTechArticleGenerally speaking, the memory utilization of PHP arrays is only 1/10, that is to say, one in C language An array of 100M memory requires 1G in PHP. Especially in systems where PHP is used as a backend server...
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn