👩🏾❤️👩🏾 sbcl fibers 기대된다
sbcl에 fibers 지원을 누군가 만들고 있더라
https://atgreen.github.io/repl-yell/posts/sbcl-fibers/
…이미 cl-cont등을 이용한 cooperative-threading이 있기는 하고, os thread을 그대로 이용하는건 기본적으로 예전부터 지원하고 있었지만.
거기에 cl-async, blackbird 같은 비동기io, promises 지원도 있었지만.
ㅎㅎ그래도 뭔가 비동기입출력이랑 멀티스레딩이랑, 스케쥴러랑 묶어서 깔끔하게 해결할게 없었던거 같은데(마치 go언어의 그것과 유사하게), 이게 그럴 수 있지 않을까 하고 기대가 됨. (…써있는거 읽어봐도 뭔지 잘 모르겠다만 ㅎㅎ)
hunchentoot taskmaster 구현해서 시험한거 보면, req/sec이
늘어난거보다 메모리사용량이 팍 주는게 신기할 정도다(스레딩 컨텍스트랑
스택크기일테니까), 그리고 메모리사용량이 클수록 gc stop-the-world 같은
현상이 두드러질테니 엄청 성능에 영향이 클거 같다.
그리고 언제나 뭔가 재밌는게, 커먼리습은 결국 그냥 자유롭게 기계수준까지 원하는대로 추상화를 쌓아올릴 수 있는 언어/환경이란점 같다.