Представление списков во внутренней памяти в Perl

#perl #data-structures

#perl #структуры данных

Вопрос:

Как СПИСКИ внутренне представлены в PERL? Кто-то говорил мне, что это представлено в виде связанных списков, верно? Если это так, не будет ли это накладными расходами на интерпретатор? Я не могу это визуализировать.

Ответ №1:

Списки в Perl хранятся в стеке. Это массив, размер которого изменяется при необходимости, со вторым массивом, используемым для хранения указателей для разграничения различных списков.

Если вы имели в виду массивы, а не списки, то Perl-массивы состоят из массива указателей на C, выделенного размера этого массива, смещения к текущему началу Perl-массива в C-массиве и используемой длины.

Я не знаю, что вы подразумеваете под «накладными расходами». Запуск программ — это накладные расходы на интерпретатор в целом 🙂 Но на самом деле Perl не использует связанные списки для массивов или списков.