하스켈에서 특정 함수 호출을 프로파일 링에서 제외시키는 좋은 방법이 있습니까? 내가 완전히 두 번째의 부부를 받아 사전의 큰 바이너리 덤프를로드하고있어하스켈 프로파일 링 동안 오버 헤드 제외
내가 해요. 내가 관심이있는 코드의 비트를 능가 참고로
COST CENTRE MODULE %time %alloc
read_wordlist Wordlists 93.6 98.3
solve Solver 1.3 0.0
anagrams Evaluation 0.8 1.4
[...]
이런 식의 로딩은
read_wordlist = do
ls <- fmap Text.lines (Text.readFile "data/straight-wordlist")
(return . Data.Set.fromList . string_read . toString . Prelude.head) ls
이며, 모든 코드는 모듈로 구분되어 있습니다 (그러나 꽤 바닐라 등).
SCC 주석의 일부 배열이 있습니다. 즉, 모든 오버 헤드 로딩을 할 수 있고 전반적인 통계에 포함시키지 않아도된다는 의미입니까?
'Data.Set.fromList. string_read. toString. Prelude.head. Text.lines'를 별도의 함수로 묶어서'read_wordlist'가 파일로부터 읽은 다음이 함수를 호출하도록합니다. 'BangPatterns'와 함께 몇 가지 엄격한 주석을 제안하면 시간이 어디서 쓰이고 있는지 정확하게 지적 할 수 있습니다. – bheklilr