2017-12-29 18 views
6

나는 약 10 년 분량의 일일 통계 데이터가 포함 된 거대한 해시를 가지고 있습니다. Perl 6에서이 해시가 사용중인 실제 메모리 (바이트 단위)를 확인하는 방법이 있습니까 (예 : showMemoryUsed(%myBigHash)). %myBigHash이 비어 있더라도 사용 된 메모리와 해시 데이터 형식의 Perl 6 구현 때문에 0 바이트가 아닙니다. 이 정보는 내 코드를 다시 구현해야하는지 또는 RAM 부족을 완화하기 위해 주기적으로 파일에 기록해야하는지 알려줍니다 (내 프로그램은 2G RAM의 가상화 된 Linux에서 실행됩니다).데이터 구조가 얼마나 많은 메모리를 사용하고 있는지 표시

감사합니다.

답변

5

아아, 우리는 아직 Rakudo Perl 6에서 그런 것을 가지고 있지 않습니다. 내가 추천 할 수있는 유일한 방법은 Telemetry 모듈을 사용하고 있습니다 :

use Telemetry; 
my $before = T<max-rss>; 
my %h = ...; # initialize hash 
say "Memory usage grew { T<max-rss> - $before } KB"; 

체크 아웃 원격 측정 문서 자세한 내용 : https://docs.perl6.org/type/Telemetry

+0

이 설명 당신에게 엘리자베스 Mattijsen 감사! 나는 Telemetry 모듈을 점검 할 것이다. – lisprogtor

관련 문제