haskell 좋네요

fruitsclipper의 이미지

만들고 있는 프로그램이 한개의 producer 와 여러개의 consumer 모델이 편할거 같아서 적용시켰더니
consumer 쓰레드를 2050 개를 만들어야 되는 상황이었습니다.

개별 쓰레드들이 그닥 많은 계산을 필요로 하는 작업을 하지는 않지만,
2050 개의 쓰레드를 감당할 수 있을라나 반신반의 하면서 일단 만들어봤는데..
어랏.. 제법 잘 굴러 가네요??

i5 1.6Ghz (하이퍼쓰레드 작동해서 4core) 에 4G 메모리입니다.
ghc 가 잘 해주는건지 OS 가 잘해주는 건지 모르겠지만 core 도 4개를 전부 활용하고 있습니다.

배우고 적응하기가 굉장히 힘들었지만 ( real world haskell 이 없었다면 포기했을겁니다 )
일단 좀 익숙해지니 굉장히 프로그래밍 하기도 편합니다.

haskell 의 lazy 한 특성을 이용해서,
입력되는 데이터를 무한 리스트로 표현해서 filter, fold 등의 리스트 조작 연산을 적용시켰더니 매우 깔끔하게 문제를 해결 할 수 있었습니다.