2017년 11월 17일 금요일

묵혀둔 글이 많구나...

C++ 컴파일러 추천.

by HAJUNHO Apr 03. 2017
Windows 개발이라면 Visual Studio 를 쓰시길 바랍니다. 한 때는 표준 C++을 구현한 컴파일러 중에 볼랜드 회사의 제품이 가장 좋았습니다. 컴파일러는 핵심 기능 한가지만 꼽으라면 고급 언어를 기계어로 번역해 주는 기능입니다. 해당 기계어는 운영체제의 프로세스 스케쥴링에 영향을 받습니다. 또 한 CPU를 위한 최적화에 영향을 받습니다. CPU 최적화라고 하면 Intel CPU 를 쓰는 경우 Intel 컴파일러가 가장 나을 것 같습니다. Windows의 경우 Visual Studio의 cl.exe, MAC의 경우 Xcode의 llvm 컴파일러가 가장 성능이 뛰어 나겠지요.

3.85 , 4.06 , 4.10 , 3.85, 3.71 ... gcc 로 C 컴파일, C++로 컴파일, Intel cc로 컴파일, llvm cpp로 컴파일, llvm c로 컴파일. 컴파일 해서 속도 테스트 한 결과입니다. 프로세서 최적화 보다는 운영체제 최적화가 C++보다는 C가 더 빠르다는 정리가 됩니다. 맥은 llvm 쓰고, 윈도우는 cl 쓰고 리눅스는 gcc 쓰면 되겠지요.

#include <stdio.h>
#include <time.h>

int main()
{
   clock_t before;
   double result;
   before = clock();

//for ( int j= 0; j < 65534; j++ )
   for ( volatile long i = 0; i <2131473645; i++ );
   result = (double)(clock() - before) / CLOCKS_PER_SEC;

   printf("%5.2f s 입니다.\n", result); 
   return 0;

시간 비용을 계산하기 위해 for 문을 이용한 속도 측정 프로그램으로 time/2/3 로 각각 gcc, intel cc, llvm-gcc 으로 MAC에서 컴파일 해 봅니다.

/Users/hajunho$ ./time.out 
4.62s 입니다.
/Users/hajunho$ ./time2.out
4.25s 입니다.
/Users/hajunho$ ./time3.out
4.20s 입니다. 

llvm 이 가장 빠릅니다.

댓글 없음:

댓글 쓰기

국정원의 댓글 공작을 지탄합니다.

UPBIT is a South Korean company, and people died of suicide cause of coin investment.

 UPBIT is a South Korean company, and people died of suicide cause of coin. The company helps the people who control the market price manipu...