ëŠ�ë‚€ì � ë°� 설명 ¶
ë³´ë©´ 알 수 있지만, 연산부분ì�„ 나눌 수 있는ë�°ë�„ ë¶ˆêµ¬í•˜ê³ ë‚˜ëˆ„ì§€ 않았다.
ì�´ìœ 는 ì†�ë�„때문.. (ì•Œê³ ë¦¬ì¦˜ë”°ìœ„ ë²„ë ¤ë²„ë¦¬ê³ ë‹¨ì§€ 오버헤드를 줄임으로ì�¨ ì†�ë�„를 높ì�´ë ¤ëŠ” 대마왕ì�˜ 수작..;;ã…�;;)
ê·¸ë‚˜ì €ë‹¤ ì�´ cpu_clocksë�¼ëŠ”ê±°.. 너무 ì•ˆì •í™•í•˜ìž–ì•„!!!!
ìž…ë ¥ì�„ 받는 부분ì�„ í�¬í•¨ì‹œì¼œ 버리면.. 늦게 ìž…ë ¥í•˜ë©´ 걸린시간ì�´ ë§Žì�€ê±¸ë¡œ ë‚˜ì˜¤ê³ , 빨리 ìž…ë ¥í•˜ë©´ 걸린시간ì�´ ì§§ì�€ê±¸ë¡œ 나온다.
그래서 ì�¼ë‹¨ 그부분ì�„ ì œì™¸í•˜ê¸´ 했는ë�°..(ìž…ë ¥ë¶€ë¥¼ 위ì—�ë‘�어서 계산ì—� ì œì™¸í•œê²Œ 현재소스).. 그러니까 0ì´ˆ.. 대략 í• ë§� ì—†ì�Œ..
�..;;�;;
ì�´ìœ 는 ì†�ë�„때문.. (ì•Œê³ ë¦¬ì¦˜ë”°ìœ„ ë²„ë ¤ë²„ë¦¬ê³ ë‹¨ì§€ 오버헤드를 줄임으로ì�¨ ì†�ë�„를 높ì�´ë ¤ëŠ” 대마왕ì�˜ 수작..;;ã…�;;)
ê·¸ë‚˜ì €ë‹¤ ì�´ cpu_clocksë�¼ëŠ”ê±°.. 너무 ì•ˆì •í™•í•˜ìž–ì•„!!!!
ìž…ë ¥ì�„ 받는 부분ì�„ í�¬í•¨ì‹œì¼œ 버리면.. 늦게 ìž…ë ¥í•˜ë©´ 걸린시간ì�´ ë§Žì�€ê±¸ë¡œ ë‚˜ì˜¤ê³ , 빨리 ìž…ë ¥í•˜ë©´ 걸린시간ì�´ ì§§ì�€ê±¸ë¡œ 나온다.
그래서 ì�¼ë‹¨ 그부분ì�„ ì œì™¸í•˜ê¸´ 했는ë�°..(ìž…ë ¥ë¶€ë¥¼ 위ì—�ë‘�어서 계산ì—� ì œì™¸í•œê²Œ 현재소스).. 그러니까 0ì´ˆ.. 대략 í• ë§� ì—†ì�Œ..
�..;;�;;
소스 ¶
~cpp
// CPU_CLOCKS 구하는 법.
#include <time.h>
#include <stdio.h>
#include <iostream>
const int BAE_YOL_SU=2;
int size_x[BAE_YOL_SU];
int size_y[BAE_YOL_SU];
int *baeyol[BAE_YOL_SU];
void input_data();
int main()
{
input_data();// 기본 변수들
int time_in; // 초기 시작 시간.
time_in = clock(); // 초기 시작 시간ì�„ ìž…ë ¥í•œë‹¤.
if (size_x[0]!=size_x[1] || size_y[0]!=size_y[1])
printf("불가능\n");
else
{
for (register int i=0; i<size_y[0]; ++i)
{
for (register int j=0; j<size_x[1]; ++j)
{
printf("%d ",*(baeyol[0]+i*size_x[0]+j)+*(baeyol[1]+i*size_x[1]+j));
}
printf("\n");
}
}
if (size_x[0]!=size_y[1])
printf("불가능\n");
else
{
for (register int i=0; i<size_y[0]; ++i)
{
for (register int j=0; j<size_x[1]; ++j)
{
int temp=0;
for (register int k=0; k<size_x[0]; ++k)
temp+=(*(baeyol[0]+i*size_x[0]+k))*(*(baeyol[1]+k*size_x[1]+j));
printf("%d ",temp);
}
printf("\n");
}
}
for (register int i=0; i<BAE_YOL_SU; ++i)
free(baeyol[i]);
printf("CPU CLOCKS = %d\n", clock() - time_in); // �났�때 시간 - 초기 시작시간 = 프로그램 실행 시간
return 0; // 프로그램 종료.
}
void input_data()
{
for (register int i=0; i<BAE_YOL_SU; ++i)
{
printf("ë°°ì—´ì�˜ 세로길ì�´ë¥¼ ìž…ë ¥í•´ì£¼ì„¸ìš”.>>");
scanf("%d",&size_y[i]);
printf("ë°°ì—´ì�˜ 가로길ì�´ë¥¼ ìž…ë ¥í•´ì£¼ì„¸ìš”.>>");
scanf("%d",&size_x[i]);
printf("\n");
baeyol[i]=(int*)malloc(sizeof(int)*size_x[i]*size_y[i]);
for (register int j=0; j<size_y[i]; ++j)
{
for (register int k=0; k<size_x[i]; ++k)
{
printf("%dí–‰ %dì—´ì�˜ 숫ìž�를 ìž…ë ¥í•´ì£¼ì„¸ìš”.>>",j+1,k+1);
scanf("%d",baeyol[i]+j*size_x[i]+k);
}
printf("\n");
}
}
printf("\n");
}










