[Armadillo:03689] Armadillo-500でsprintfの処理時間が10msかかることがある
matsumoto
email@hidden
2008年 11月 23日 (日) 15:37:00 JST
松本と申します。
質問です。
Armadillo-500で下記のようなプログラムを走らせると、sprintfの処理時間が
10ms(0.010s)かかることがあります。
回数は、30回前後で、走らすごとに回数は多少異なります。
また、sprintfをコメントアウトして、プログラムを走らすと、0〜4回ぐらい処
理時間が10msかかることがあります。
処理時間をはかっている間に、なにもしていないのにです。
ちなみにARM-VFP用の開発環境を使用しています。
どちらさまか、原因が分かる方がいましたらよろしくおねがいします。
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <sys/time.h>
#include <sys/resource.h>
double getrusage_sec()
{
struct rusage t;
struct timeval tv;
getrusage(RUSAGE_SELF, &t);
tv = t.ru_utime;
return tv.tv_sec + (double)tv.tv_usec*1e-6;
}
double t1;
double t2;
double t3;
int x;
int y;
int z;
int i;
int j;
char buf[3];
int scanNum;
int stepNum;
int main(int argc, char **argv) {
x = 0;
y = 0;
z = 0;
scanNum = 100;
stepNum = 440;
for (i = 0; i < scanNum; i++) {
for (j = 0; j < stepNum; j++) {
t1 = getrusage_sec();
sprintf(buf, "%d%d%d", x, y, z);
t2 = getrusage_sec();
t3 = t2 - t1;
if (t3 > 0) {
printf("time = %5.3f\n", t3);
}
}
}
return 0;
}
--
***************************************
松本 光広
筑波大学大学院
システム情報工学研究科 博士後期課程1年
知能ロボット研究室所属
email@hidden
***************************************
armadillo メーリングリストの案内