⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fsecs.c

📁 ICS 课程的Lab6
💻 C
字号:
/**************************** * High-level timing wrappers ****************************/#include <stdio.h>#include "fsecs.h"#include "fcyc.h"#include "clock.h"#include "ftimer.h"#include "config.h"static double Mhz;  /* estimated CPU clock frequency */extern int verbose; /* -v option in mtest.c *//* * init_fsecs - initialize the timing package */void init_fsecs(void){    Mhz = 0; /* keep gcc -Wall happy */#if USE_FCYC    if (verbose)	printf("Measuring performance with a cycle counter.\n");    /* set key parameters for the fcyc package */    set_fcyc_maxsamples(20);     set_fcyc_clear_cache(1);    set_fcyc_compensate(1);    set_fcyc_epsilon(0.01);    set_fcyc_k(3);    Mhz = mhz(verbose > 0);#elif USE_ITIMER    if (verbose)	printf("Measuring performance with the interval timer.\n");#elif USE_GETTOD    if (verbose)	printf("Measuring performance with gettimeofday().\n");#endif}/* * fsecs - Return the running time of a function f (in seconds) */double fsecs(fsecs_test_funct f, void *argp) {#if USE_FCYC    double cycles = fcyc(f, argp);    return cycles/(Mhz*1e6);#elif USE_ITIMER    return ftimer_itimer(f, argp, 10);#elif USE_GETTOD    return ftimer_gettod(f, argp, 10);#endif }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -