Main_pureMD5 : hackage에 있는 순수 하스켈로 구현된 MD5

Main : 자체구현

Main_llvm : 자체구현 + llvm backend


https://github.com/damhiya/dc-github-ps/blob/master/MD5/Crypto/Hash/MD5.hs

http://hackage.haskell.org/package/pureMD5-2.1.3/docs/Data-Digest-Pure-MD5.html


template haskell 안배우고 버티고 있었는데 이번 기회에 좀 찾아보고 적용해봄.

loop unrolling 적용했더니 시간이 상당히 줄어서 llvm 최적화 까지 하면 hackage에 있는 pureMD5 능가함. (pureMD5는 llvm 적용 안되있긴 함.)


pureMD5 구현 봤는데 디펜던시도 많고 죄다 하드코딩해서 킹찍히 내 코드가 가독성 더 좋음 ㅋㅋㅋ


md5sum 하고 성능차는 약 1.6375배 남