speed計測


※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。

目的

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) # でなぜか落ちる。。原因究明中
ツールボックス

下から選んでください:

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