My Haskell 프로그램을 컴파일하는 데 너무 오래 걸립니다.벤치마킹 GHC 컴파일 시간
그 말은 다음과 같습니다. -O1을 사용하여 컴파일 한 지 1 년이 지났습니다. 내가 시도한 마지막 시간에 필자는 내 프로그램을 컴파일하기 위해 64GB 서버를 설정하고 밤새 실행했습니다. 그것은 추리했다.
저는 컴파일 시간을 단축 할 수있는 몇 가지 큰 리엔지니어링 변경 사항에 착수하려고합니다.하지만 먼저 무엇이 오래 걸릴지 알아야하며, 진행 상황을 추적 할 수있는 좋은 측정을해야합니다. 내가 다른 조각과 타이밍 을 컴파일 시도 할 수 있도록
- 이 플래그에 내 프로그램을 커버 :
나는 현재이 작업을 수행하는 방법에 대한 두 가지 아이디어가 있습니다.
- "[75 of 83] Compiling"과 같은 줄을 찾는
stack build
의 래퍼 프로그램을 작성하고 그 사이의 시간 간격.
(1)은 정말 못생긴데, (2) 부정확성 때문에 그리고 모듈 간 컴파일로 인해 (2) 좋은 숫자를 줄 것으로 기대하지 않습니다. 누구나 더 좋은 아이디어가 있습니까?
당신은 메모리가 부족 실행하는 경우 다음 몇 가지 나쁜 타격 GHC에서의 asymptotics와 (2) 아마 당신이 모듈을 의존성 트리로 볼 수 있다면 도움이 될 것이다. (1) 또한 내가 TBH 할 것처럼 들린다. 속도가 느려지거나 테스트 사례를 얻을 수있는 경우 반드시 GHC trac에보고해야합니다. – jberryman
4 년 전,이 프로젝트의 전신 인 저는 Generic이 관련된 typeclass resolution과 관련하여 느린 속도의 원인을 확인했습니다. trac에서 이미보고되었습니다. 필자의 지식에 따르면 성능 문제는 아직 해결되지 않았습니다. 코드의 해당 부분을 삭제했습니다. 4 년 후, 내 코드에서 여전히 NFData 인스턴스가 누락되었습니다. –
내 모듈의 종속성 트리를 어떻게 볼 수 있으며 종속성 정보없이 제안 (2)과 비교하면 어떻게 도움이 될까요? –