您好,欢迎来到[编程问答]网站首页   源码下载   电子书籍   软件下载   专题
当前位置:首页 >> 编程问答 >> C/C++ >> 关于CPU性能测试drystone代码的理解、测试原理。

关于CPU性能测试drystone代码的理解、测试原理。

来源:网络整理     时间:2016/7/18 17:07:53     关键词:

关于网友提出的“ 关于CPU性能测试drystone代码的理解、测试原理。”问题疑问,本网通过在网上对“ 关于CPU性能测试drystone代码的理解、测试原理。”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:

问题: 关于CPU性能测试drystone代码的理解、测试原理。
描述:

/*dhry.h*/
#define Mic_secs_Per_Second     1000000.0
                /* Berkeley UNIX C returns process times in seconds/HZ */
#ifdef  NOSTRUCTASSIGN
#define structassign(d, s)      memcpy(&(d), &(s), sizeof(d))
#else
#define structassign(d, s)      d = s
#endif
#ifdef  NOENUM
#define Ident_1 0
#define Ident_2 1
#define Ident_3 2
#define Ident_4 3
#define Ident_5 4
  typedef int   Enumeration;
#else
  typedef       enum    {Ident_1, Ident_2, Ident_3, Ident_4, Ident_5}
                Enumeration;
#endif
        /* for boolean and enumeration types in Ada, Pascal */
/* General definitions: */
#include 
                /* for strcpy, strcmp */
#define Null 0 
                /* Value of a Null pointer */
#define true  1
#define false 0
typedef int     One_Thirty;
typedef int     One_Fifty;
typedef char    Capital_Letter;
typedef int     Boolean;
typedef char    Str_30 [31];
typedef int     Arr_1_Dim [50];
typedef int     Arr_2_Dim [50] [50];
typedef struct record 
    {
    struct record *Ptr_Comp;
    Enumeration    Discr;
    union {
          struct {
                  Enumeration Enum_Comp;
                  int         Int_Comp;
                  char        Str_Comp [31];
                  } var_1;
          struct {
                  Enumeration E_Comp_2;
                  char        Str_2_Comp [31];
                  } var_2;
          struct {
                  char        Ch_1_Comp;
                  char        Ch_2_Comp;
                  } var_3;
          } variant;
      } Rec_Type, *Rec_Pointer;
/*timers_b.c*/
#ifdef UNIX
#include 
#include 
#ifdef hpux
#include 
#define getrusage(a,b) syscall(SYS_getrusage,a,b)
#endif
struct rusage rusage;
double dtime()
{
 double q;
 getrusage(RUSAGE_SELF,&rusage);
 q = (double)(rusage.ru_utime.tv_sec);
 q = q + (double)(rusage.ru_utime.tv_usec) * 1.0e-06;
 return q;
}
#endif
/***************************************************/
/*  UNIX_Old dtime(). This is the old UNIX timer.  */
/*  Make sure HZ is properly defined in param.h !! */
/***************************************************/
#ifdef UNIX_Old
#include 
#include 
#include 
#ifndef HZ
#define HZ 60
#endif
struct tms tms;
double dtime()
{
 double q;
 times(&tms);
 q = (double)(tms.tms_utime) / (double)HZ;
 return q;
}
#endif


解决方案1:

呵呵。这种代码根本就无法测CPU特性。
CPU计算性能主要是执行某个操作所需要的时间或时钟周期数。比如一些处理器擅长做算术逻辑计算,另一些偏好做打包、移位等,还有一些具有很好的分支预测逻辑等。
所以以上代码就仅仅使用未优化的C语言来进行评测的话说明不了什么问题。


以上介绍了“ 关于CPU性能测试drystone代码的理解、测试原理。”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.codes51.com/itwd/2778536.html

相关图片

相关文章