소프트웨어 성능의 가치..

네, 정말 C는 C 보다 빠릅니다.

맞는 말이고 논리적이며 그 자체로 보면 훌륭한 논의라고 생각한다. 하지만..
논의를 보면 뭐랄까 학생들이 상당히 많은 것 같다. 저 글을 쓴 사람도 학생인듯 보이고.

리플중 중간에 "c#으로 게임서버를 개발한다고 했을때 개발 기간이 줄어들 것으로 예상한다"에 대해서 "실제 게임로직이 라이브러리로 나오지 않으니 실제 개발기간이 줄지는 않는다"고 말하는 사람도 있는데 역시 학생이거나, 아니면 아직 경험이 부족한 말단 프로그래머일 가능성이 높다. 아니라면 시야를 좀더 넓게 가져보라고 말하고 싶다.

테스트 결과에서도 나오지만 C++에서 가장 성능이 낮은 케이스가 최적의 성능보다 5배나 느리다.
그래도 자바보다 5배 이상 빠르다. 그래도 내가 결정하라면 자바로 개발할 것이다. 원하는 성능만 충족 시킨다면..

"성능"이란 상대적인 것이다.

게임서버의 예를 들어보자. 하나의 게임서버가 3000명을 감당할 수도 있고 1만명을 감당할 수도 있지만. 어느 정도를 감당할지결정해야 한다. 동시 처리 인원이 많아지면 서버내 사람이 많아서 사용자는 게임내 사회에 더 몰입할 수 있어 마케팅 측면이나 여러가지 면에서 좋지만, 하나의서버가 다운되었을 때의 파급효과도 커지게 된다. 따라서 적정 숫자를 정해서 개발을 하게 된다.
(하나의 단일 서버로 전세계를 커버한다고 광고하는 게임도 봤다. 그렇다고 서버가 한대란 소리는 아닐 것이다. 다운되면 전세계 사용자 팅이면.. 망하자는 소리니.)

만약 자바로 짜도 요구되는 성능을 충족한다면 난 과감하게? 아니 지극히 당연하게 자바로 개발을 할 것이고 그게 맞다.
C/C++로 개발하면서 메모리 관련 버그 수정에 들어가는 비용을 생각 한다면 당연한 것이다.

10년전에는 자바로 짰을 경우 이런 성능을 충족 시킬 수 없었을 것이다. 충족 시킬 수 있다 하더라도 제 성능을 내기 위해서 필요한 하드웨어비용이 너무 컸을 수도 있다. 하지만 지금은 상황이 변했다는 것..

요즘 뜨는 기술이 가상화이다. VMWare가 잘나가고 있다. Sun도 VBox를 내놨고. 인텔, AMD, HP등 각 하드웨어 업체도 유행에 편승하고 있다. 심지어 더 이상 이슈가 없는 현상황에서 차세대 성장동력(돈줄)이라고 까지 한다.

VMWare에 가상 운영체제를 깔아서 돌려보면 체감이 될 정도로 성능이 낮다. 원문의 논란이 C++의 vtable에 의한 간접 호출로 인한 성능저하와는 비교도 안될정도로 30%는 전체 시스템 wide 성능이 저하된다.
하지만 10년전에 개발되어서 10년간 운영되어 온 서버를 가상으로 넣어버리면?? 최소 5배 빨라진다. 그리고 10년간 전기세를 잡아먹던 서버도 한대 치울 수 있다. 아니 10대도 하나의 하드웨어에 통합할 수 있다.

성능이란 상대적이고 변하는 것이다..

이 글과 관련있는 글을 자동검색한 결과입니다 [?]

by 미루엘 | 2008/08/29 11:03 | 프로그래밍 | 트랙백 | 덧글(1)

Commented by 미루엘 at 2008/08/29 11:16
음 글이 좀 공격적인가 ㅡㅡ;
※ 이 포스트는 더 이상 덧글을 남길 수 없습니다.

◀ 이전 페이지다음 페이지 ▶