Fast Site Engine
Высокопроизводительный движок для сайтов
Заказать сайт на основе движка
О движкеПроизводительностьБезопасностьТехнические требованияSEO 
Лицензионное соглашение
Демо
Установка
Панель управления
Модули
Документация
Шаблоны
Тесты производительности php
Планы на будущее
Список изменений
Отзывы и пожелания
Переходим на Линукс
Всякое разное
Тесты производительности php  »  list vs array

list vs array

Стало интересно, что будет быстрей в php list vs array, синтаксис list($n,$m)=[]; удобней чем $a=[]; $n=$a[0]; $m=$a[1]; осталось посмотреть на результаты.

Тесты PHP проводились на двух конфигурациях

Компьютер:
  Apache/2.4.46 PHP 8.0.2
  Linux version 4.15.0-136-generic (Kubuntu 18.04.5 LTS (Bionic Beaver) x86_64)
  12 x AMD Ryzen 5 1600X @ 3.60GHz
Сервер:
  Apache/2.4.39 PHP 7.3.4
  Linux version 4.18.15-1.el7.elrepo.x86_64 (CentOS Linux release 7.7.1908 (Core))
  2 x Intel(R) Xeon(R) CPU E5-2690 0 @ 2.90GHz

Функции тестирования, 90 000 000 вызовов

define('LOOP',10000000);
function f1(){
  $i=$n=$m=0;$a=[];
  while(++$i<LOOP){
    $a=[0=>$i,1=>$i];
    $n=$a[0];
    $m=$a[1];
  }
}
function f2(){
  $i=$n=$m=0;$a=[];
  while(++$i<LOOP){
    list($n,$m)=[0=>$i,1=>$i];
  }
}

Результаты тестирования

Компьютер:
вызововвpемя f1()вpемя f2()победилбыстрее на
110 000 0000.5766650.577789f1()0.001124 с.0.19 %
210 000 0000.5603580.583653f1()0.023295 с.3.99 %
310 000 0000.5617090.582852f1()0.021143 с.3.63 %
410 000 0000.5750120.594636f1()0.019624 с.3.3 %
510 000 0000.5687140.588363f1()0.019649 с.3.34 %
610 000 0000.5579340.587272f1()0.029338 с.5 %
710 000 0000.5579810.594532f1()0.036551 с.6.15 %
810 000 0000.5601890.578714f1()0.018525 с.3.2 %
910 000 0000.5699310.587479f1()0.017548 с.2.99 %
Всего: 90 000 0005.0884935.275290f1()0.186797 с.3.54 %
Сервер:
вызововвpемя f1()вpемя f2()победилбыстрее на
110 000 0000.6734580.753494f1()0.080036 с.10.62 %
210 000 0000.6463670.750525f1()0.104158 с.13.88 %
310 000 0000.6499840.771922f1()0.121938 с.15.8 %
410 000 0000.6406710.730327f1()0.089656 с.12.28 %
510 000 0000.6692770.751155f1()0.081878 с.10.9 %
610 000 0000.6687860.766541f1()0.097755 с.12.75 %
710 000 0000.6566380.736108f1()0.079470 с.10.8 %
810 000 0000.6458640.731434f1()0.085570 с.11.7 %
910 000 0000.6457980.727218f1()0.081420 с.11.2 %
Всего: 90 000 0005.8968436.718724f1()0.821881 с.12.23 %

Как видим, вызов list() вызывает потерю производительности, напрямую с массивами работать быстрее.

Страница сгенерирована за 0.002811 секунды
На один процесс веб-сервера: 356 стр./сек.
Всего Apache может отдать: 91 136 стр./сек.
Выделено php памяти: 411.02 KB, real_usage: 2 MB

© Все права защищены 2004 - 2021
Карта сайта
Отслеживать изменения в Твиттере
Политика конфиденциальности

Браузер построил за сек.
Полное время сек.

С момента выгрузки предыдущей страницы из памяти браузера: сек.