동시성의 삼각형.link
https://www.n16f.net/blog/concurrency-interactivity-mutability-choose-two/
동시성, 상호운용성, 가변성을 CAP 정리처럼 설명한 글. 흥미로운 접근이다.
A. 동시성과 가변성을 챙기고 상호운용성을 버린 경우 => Rust, CPP, Go 등
- 장점: 가장 성능 효율적임
- 단점: 비동기 태스크를 유연하게 제어하기가 어려움
B. 가변성과 상호운용성을 챙기고 동시성을 버린 경우
=> Python(GIL), Ruby 등
- 장점: ?
- 단점: 좀 느림. 진짜 병렬이 안됨.
C. 동시성과 상호운용성을 챙기고 가변성을 버린 경우 => Erlang
- 장점: 안정적임. 프로세스간 상호작용이 매우 자유로움.
- 단점: 모든걸 복사해서 처리해야해서 미친듯이 느림