나는 얼랑 (Erlang)의 초보자입니다. 배우 모델의 디자인을 채택하고 경량 프로세스라는 개념을 이해합니다. 이것은 높은 동시 프로그래밍의 핵심입니다. 그러나 참조 투명성을 부여하는 기능 프로그래밍 패러다임도 채택합니다. 이는 할당 후에 변수를 변경할 수 없음을 의미합니다. 그래서, 비슷한 기능을 많이 볼 수 있습니다 :얼랭 (Erlang)은 많은 메모리 복사가 발생했을 때 정말 빠릅니까?
gb_trees:delete(Key, Tree1) -> Tree2
우리는 실제로 완전히 새로운 트리를 만듭니다. 이 말은, 우리는 모두 후드 아래에있는 Tree1의 모든 노드를 여기에 복제합니까?
그렇다면이 언어가 고성능 서버 개발에 정말로 적합한가요?
감사합니다.
단일 스레드 관점에서 Erlang은 (예를 들어) Java와 비교해 상대적으로 느리다는 것을 알았습니다. 자연스럽게 해석 되었기 때문에 생각했습니다. 그러나 다수의 CPU에 걸쳐 확장이 가능한 것 같습니다 내 (제한된 * 경험에서) 더 낫다. 따라서 복사 기능을 사용하면 단일 스레드 응용 프로그램을 약간 느리게 만들지 만 일반 프로그래머는 상당히 높은 처리량과 병목 현상이 적은 다중 스레드 응용 프로그램을 작성할 수 있습니다. –