06/12/19 18:46:08 26YT2lm/
>>212の続き、これでおしまい。
+ }
+ close(fd);
+ buf[i2+1] = '\0';
+
+ f_tsc = atoll(buf) * (cpu_frq / 100) ;
+ return f_tsc;
+}
+#defineHP_TIMING_NOW(Var)(Var) = fake_rdtsc()
+#else
+#define HP_TIMING_NOW(Var) __asm__ __volatile__ ("rdtsc" : "=A" (Var))
+#endif
/* It's simple arithmetic for us. */
あー、思ったよりかなりうざかったな、すまん。適当に都合のいいところで
__FAKE_RDTSC__を定義して使ってください。ちなみにtscなんてなきゃ
ないで適当にやってくれるので問題なのはCPUがエラーを出しちゃうこと
だけだったりして、実はHP_TIMING_NOW(Var)を未定義にしてしまえば
それで問題がないような気がしないでもない。軽く試したぶんには
だいじょぶだった。偽値を突っ込むのとどっちが信頼性があるかは微妙
なので一行削除するだけの方が効率は明らかにいいかな。