Когда я делал бенчмарк, я обнаружил, что PHP 7 использует больше памяти, чем PHP 5.6.
Итак, я сделал тест. Я запустил script, содержащий только:
$a=10;
и ниже приведены результаты для памяти, используемой при использовании PHP CLI без каких-либо модулей (php -n
)
php 5.6 = 222600 Bytes
php 7.0 = 350448 Bytes
* PHP 5.6.23 (cli) (built: Jun 22 2016 12:13:15)
Copyright (c) 1997-2016 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies
* PHP 7.0.9 (cli) (built: Jul 20 2016 10:47:41) ( NTS )
Copyright (c) 1997-2016 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2016 Zend Technologies
Среда
- ОС: окно 10
- Сервер: IIS (хотя я использовал CLI, а не сервер), с быстрым cgi
- машина: 64 бит
- PHP-5.6.23-NTS-Win32-VC11-64
- PHP-7.0.9-NTS-Win32-VC14-64
Может кто-нибудь объяснить, почему я получил этот результат?
Дополнительные тесты
Используя этот код, как предлагается @gordon,
$i=0;
while ($i++ < 100000) ;
php 5.6: 227408 байт
php 7.0: 386640 байт
Я определил использование памяти с помощью этого кода:
echo PHP_EOL;
echo "Memory Usage :".memory_get_usage();
echo PHP_EOL;
echo "Real Memory Usage :".memory_get_usage(true);
echo PHP_EOL;
echo "Real Peak Memory Usage :".memory_get_peak_usage(true);
echo PHP_EOL;
echo "Peak Memory Usage :".memory_get_peak_usage();