Joinc 팀블로그 리눅스 메뉴얼 정리 Joinc 위키
댓글

Recent Comments

Powered by Disqus
팀블로그 카테고리
  전체 (1105)
   공지사항 (1)
   검색엔진 (21)
   기술동향 (58)
   게임 (2)
   독서 (6)
   리눅스 (12)
   보안 (1)
   사회문제 (22)
   어셈블리 (43)
   영화 (3)
   오픈소스 (10)
   음악 (9)
   인물 (1)
   포인터 (4)
   프로그래머 (23)
   팀블로그 (20)
   테터툴즈 (29)
   C/C++ (152)
   FireFox (11)
   Gimp (2)
   Google (98)
   Java (13)
   Perl (2)
   Pthread (11)
   STL (13)
   TCP/IP (8)
   Tools (31)
   Web2.0 (42)
   Wiki (1)
«   2010/03   »
  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31      
2007/10/18 00:35

linux man page : clock - 프로세스가 사용한 시간을 얻어낸다.

사용법

#include <time.h>

clock_t clock(void);

설명

clock()함수는 프로그램에의해서 사용된 대략적인 프로세스 시간을 리턴한다.

반환값

반환된값은 clock_t로 CPU시간으로 CLOCKS_PER_SEC로 나누면, 초로 환산할 수 있다. 만약 프로세서 시간을 얻을 수 없다면 (clock_t)-1을 리턴한다.

참고

 getrusage(2) , times(2)

셈플 프로그램

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

mymemcpy(void *dst, void *src, unsigned int size)
{
int i;
char *a = (char *)src;
int pad = size%sizeof(int);
for(i = 0; i < size/sizeof(int); i++)
{
*(int *)dst = *(int *)src;
dst +=4;
src +=4;
}
for (i = 0; i < pad; i++)
{
*(char *)dst = *(char *)src;
dst++;
src++;
}
}

struct data
{
int age;
char name[24];
char a;
};
int main(int argc, char **argv)
{
int i = 0;
struct data src, dst;
clock_t stime, etime;

memset((void *)&dst, 0x00, sizeof(src));
src.age = 10;
src.a = 'a';
sprintf(src.name, "%s", "yundream");

stime = clock();
for (i = 0; i < 10000000; i++)
{
mymemcpy((void *)&dst, (void *)&src, sizeof(src));
}
etime = clock();
printf("Time : %.3fs\n",(double)(etime - stime)/CLOCKS_PER_SEC);
printf("%d\n", dst.age);
printf("%c\n", dst.a);
printf("%s\n", dst.name);
}
메모리 카피하는 프로그램으로 성능을 측정하기 위해서 clock()함수를 사용했다.
:::