C# vs C/C++ Performance

흐음 흥미로운 글이네요.

대략 정리하면 C#의 경우는 native C++과는 달리 .net 프레임웍 기반에서 실행되면서 듀얼 코어라든가, 하이퍼 스레딩, SSE등의 인스트럭션등을 사용자 PC에 맞게 사용이 되기 때문에, 잘 디자인 된 C#코드의 경우 동등한 잘 디자인된 native C++보다 90%정도 빠르다.. 그리고 native C++의 경우 코드 크기가 커질수록 page fault가 자주 일어나서 하드를 읽어야 하기 때문에...가비지 콜렉션 기능이 있는 C#이 낫다..라는 내용인것 같습니다.

그렇다는 얘기는 managed C++도 같은 얘기일까요?

사실 프로그램은 점점 복잡해지고 있고, 사양은 높아져 가고 있어서..
요즘은 스크립트로 많이 대처된다거나 하고 있기 때문에..
속도가 중요한 엔진이나 서버쪽 중요로직들 외에는 퍼포먼스보다는 개발속도를 높이고 유지보수가 쉬운쪽으로 가는 추세라고 생각합니다.

뭐 스크립트도 좋지만, C#의 경우는 C++과는 컴파일속도가 비교할 수 없을 정도로 빠르기 때문에 스크립트 보다는 C#을 사용하는 편이 재실행을 해야 한다 라는것 외에는 개발적으로 훨씬 좋다.. 라고 생각하고 있는데.. native C++하고 bind하는 게 영 불편한지라-_- 엔진도 C#으로 만들게 아닌 이상은 실제로 사용하기는 힘들다고 생각합니다;

뭐 그래도 꾸준히 C#에 대한 공부를 하고 있긴 하지만 별도의 어플리케이션 외에 C++과 코드를 공유해야 하는 경우는 아직은 좀 더 생각해 봐야 할 것 같습니다.

ps. 도대체 왜 ms는 native c++과 C#을 bind하기를 이렇게 어렵게 만들어 놨을까요;;

+ Recent posts