speed計測

目的

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) # でなぜか落ちる。。原因究明中
最終更新:2008年04月06日 19:25
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。