Home  >  Article  >  Backend Development  >  How to solve PHP array memory consumption too much

How to solve PHP array memory consumption too much

小云云
小云云Original
2018-03-26 14:10:061995browse

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.

$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 affect 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 strings and then, when used, unpack a certain string into an array.

Related recommendations:

Detailed analysis of low memory utilization of PHP array

Solution to the problem of excessive memory consumption of PHP array_ PHP

Solution to PHP array memory consumption too much

The above is the detailed content of How to solve PHP array memory consumption too much. For more information, please follow other related articles on the PHP Chinese website!

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