コード例 #1
0
ファイル: bench.c プロジェクト: andikleen/ftracer
int main()
{
#ifdef RDPMC
	struct rdpmc_ctx cycles;
	rdpmc_open(0, &cycles);
#endif
	int j;
	for (j = 0; j < 10; j++) {
	f2();
	f1();

	uint64_t start = MEASURE();
	int i;
	for (i = 0; i < N; i++)
		f1();
	uint64_t end = MEASURE();

	printf("%d uninstrumented calls avg %lu cycles\n", N, (end-start)/N);

	start = MEASURE();
	for (i = 0; i < N; i++)
		f2();
	end = MEASURE();

	printf("%d instrumented calls avg %lu cycles\n", N, (end-start)/N);
	}
	return 0;
}
コード例 #2
0
ファイル: interrupts.c プロジェクト: Atlantic777/pmu-tools
/**
 * interrupts_init - Initialize interrupt counter per thread
 *
 * Must be called for each application thread.
 */
void interrupts_init(void)
{
	int_ok = rdpmc_open(HW_INTERRUPTS, &int_ctx);
}