gprofを使ってプログラムのspeed計測を行う
#include <stdio.h>
#include <string.h>
#define COUNT (10*1024)
char Buffer[5*COUNT+1];
char *Data="hello";
int
slowFunc()
{
int i;
for (i = 0; i < COUNT; i++) {
strcat(Buffer, Data);
}
return (0);
}
int
fastFunc()
{
int i;
char *ptr;
for (i = 0, ptr = Buffer; i < COUNT; i++) {
strncpy(ptr, Data, 5);
ptr+=5;
}
*ptr = '\0';
return (0);
}
int
main()
{
strcpy(Buffer, "");
slowFunc();
strcpy(Buffer, "");
fastFunc();
return (0);
}
$ sudo apt-get install libc6-prof $ gcc -o speed speed.c -g -pg -lc_p $ ./speed Floating point exception (core dumped) # でなぜか落ちる。。原因究明中