Представление внутренней памяти LISTS в Perl - PullRequest
2 голосов
/ 12 мая 2011

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

1 Ответ

6 голосов
/ 12 мая 2011

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

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

Я не знаю, что вы подразумеваете под "накладными расходами". Запуск программ - это непосильная задача для интерпретатора в целом :) Но на самом деле Perl не использует связанные списки для массивов или списков.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...