2017-01-12 3 views
0

해시 테이블의 해시 테이블로 표시되는 매우 큰 행렬을 계산할 때 GNU Clisp을 사용하고 있습니다. 저장되는 최종 해시 값은 단일 실수입니다.일반적인 Lisp 메모리 문제

이 프로그램은 잠시 후 메모리가 부족 보인다 내가 적은 메모리를 사용하기 위해 내가

  • 는 운영 체제가

    1. 변화에 어떻게 든 최종 값의 변수 유형을 필요로 생각하고 더 많은 메모리를 할당하십시오.
    2. 어떻게 든 하드 드라이브에서 가상 메모리를 사용하십시오. 또는 이들의 조합 일 수있다.

    의견이 있으십니까? 나는 많은 검색을했는데 아무 것도 찾을 수 없었습니다.

  • +0

    플랫폼, CLISP 버전, 빌드 옵션을 지정하면 문제가 개선됩니다. 'clisp -version' 출력으로 시작해야합니다. – sds

    답변

    1
    1. 당신은 short-float을 사용할 수 있습니다 - 그들은 지원을 CLISP 모든 플랫폼에서 즉시 있습니다.

    2. 플랫폼에 따라 더 많은 메모리를 할당하려면 -m 옵션을 사용하고 싶지만 CLISP는 현대적인 플랫폼에 어떤 변화도주지 않을 것이라고 생각합니다. 물리적 + 스왑.

    3. OS를 사용하여 가상 메모리 (스왑)를 활성화해야합니다. 그것은 물리적 RAM에 비해 매우 느리기 때문에 현명하게 의존해야합니다.