본문 바로가기

Programming/Etc

Is C# really slower than C

근 몇 달간 C로 코딩을 하고 있습니다.

그리고, C개발자의 수요가 어전히 있다는 것을 알게 되었습니다.

 

처음 실무적으로 C개발을 진행하면서, 학부 때에 배운 call by value, call by reference 같은 개념을 떠올리며 고생을 직감했습니다.

문자열을 다루기 위해서 char array를 사용하거나 pointer variable을 사용하는 것부터, 비OOP적인 개발을 하는 것까지 뭣하나 쉬운 일은 없었습니다.

 

중간에 며칠 정도, (막)개발을 중단하고 유투브 등에서 강좌를 많이 들어서 지금은 조금 나아졌지만, 여전히 쉽지 않습니다.

그리고, 짧지만 C를 다뤄오면서 C# 등의 언어가 얼마나 생산성이 좋은 언어인지, C#에게 감사하고 있습니다.

 

 

금융사쪽에 미팅에 몇 번 참석했는데, 속도를 위해서 C를 사용하는 경우와 C로 개발하려는 경우를 보았습니다.

그리고, 궁금해졌습니다.

C(C++)는 속도를 위해서 OS/Game engine등에서 꾸준히 사용하는데, 과연 그 성능의 차이라는 것이 얼마나 되는지.

 

그리고 다음과 같은 글을 발견했고, 그 중 Ofek Shilon이라는 개발자의 답변에 인용된 사례가 매우 인상적이었습니다.

 

 

Eventually, C++ was 2x faster - but initially, it was 13x slower.

결과적으로는 C++가 2배 빨랐으나, 처음에는 13배 느렸다.

(자세한 것은 아래의 link를 참조하세요.)

 

물론, 개발 언어를 선택함에 있어서 속도만이 중요한 요소는 아닙니다.

C/C++는 multi-platform을 위해 선택할 수도 있는 부분이구요. (예를 들면, iOS/Android common module)

 

결과적으로 위 사례에서는 C#으로 2phase에 개발한 것을 3배의 기간동안 개발해서 2배의 빠른 성능을 이뤄냈습니다.

그리고, 엄청난 저수준 기능들에 대한 직접적인 구현 및 개선을 필요로 했습니다.

 

개발 platform의 선택 단계에서, 후보 platform들에 대한 간단한 PoC 정도는 꼭 해봐야 겠습니다. :)

 

 

Reference

https://stackoverflow.com/questions/5326269/is-c-sharp-really-slower-than-say-c

 

Is C# really slower than say C++?

I've been wondering about this issue for a while now. Of course there are things in C# that aren't optimized for speed, so using those objects or language tweaks (like LinQ) may cause the code t...

stackoverflow.com

 

'Programming > Etc' 카테고리의 다른 글

TechDays2015Korea 후기 .NET 2015  (0) 2015.10.28
Mobile Enterprise summit 2015 후기  (0) 2015.05.14
Access message queue from windows service.  (0) 2015.01.21
log4net  (0) 2015.01.05
Tech days 2014 Korea 후기.  (0) 2014.09.25