Я бы не стал беспокоиться о таких деталях низкого уровня, если бы разрабатывал на PHP.Вероятно, происходит то, что вы достигли предела емкости $ _SERVER, и PHP должен создать новую хеш-таблицу, которая в два раза больше текущей хеш-таблицы.Поскольку это упорядоченные связанные массивы, для каждого элемента хэш-таблицы существуют довольно большие накладные расходы, даже если они не заполнены.
Если вас интересует механизм этого процесса, они доступны в zend_hash.c , строка 418.
Чтобы проверить это, возьмите var_dump вашего $ _SERVER и вставьте его в скрипт.Пожалуйста, убедитесь, что вы не просто протестировали фиктивную хеш-таблицу по нескольким причинам: (1) на самом деле существуют разные пути кода C для php «динамических массивов» и php «хеш-таблиц» (он конвертирует их для вас), и (2)проблема может заключаться в копировании такого количества строк в новую хеш-таблицу, чтобы избежать безопасности потока или издержек указателя.