2011-05-12 2 views
2

어떻게 내부적으로 PERL로 표현 되는가? 링크 된 목록으로 표시된다는 사실을 알리는 사람이 있었습니까? 그렇다면 통역사의 간접비가되지 않겠습니까? 나는 그것을 시각화 할 수 없다.Perl에서 LISTS의 내부 메모리 표현

답변

6

목록은 스택에 저장됩니다. 필요에 따라 크기가 조정 된 배열이며, 다른 목록을 구별하기 위해 포인터를 저장하는 데 사용되는 두 번째 배열이 있습니다.

목록이 아닌 배열을 의미하는 경우 Perl 배열은 C 배열의 포인터, 해당 배열의 할당 된 크기, C 배열의 Perl 배열의 현재 시작 부분에 대한 오프셋 및 사용 된 길이로 구성됩니다.

"오버 헤드"란 무엇을 의미하는지 모르겠습니다. 프로그램을 실행하는 것은 일반적으로 인터프리터의 오버 헤드입니다. :) 사실 Perl은 배열이나 목록에 링크 된 목록을 사용하지 않습니다.

+1

[illguts] (http://search.cpan.org/dist/illguts/index-14.html)이이를 시각화합니다. – daxim

+0

"추가 오버 헤드가 발생합니다"? – TLP