diff options
Diffstat (limited to 'cleanbench.h')
-rw-r--r-- | cleanbench.h | 175 |
1 files changed, 27 insertions, 148 deletions
diff --git a/cleanbench.h b/cleanbench.h index 189242e..ef36aaf 100644 --- a/cleanbench.h +++ b/cleanbench.h @@ -1,148 +1,27 @@ -/* -** cleanbench.h -** Header for cleanbench.c -** BYTEmark (tm) -** BYTE's Native Mode Benchmarks -** Rick Grehan, BYTE Magazine -** -** Creation: -** Revision: 3/95;10/95 -** 10/95 - Added memory array & alignment -- RG -** -** DISCLAIMER -** The source, executable, and documentation files that comprise -** the BYTEmark benchmarks are made available on an "as is" basis. -** This means that we at BYTE Magazine have made every reasonable -** effort to verify that the there are no errors in the source and -** executable code. We cannot, however, guarantee that the programs -** are error-free. Consequently, McGraw-HIll and BYTE Magazine make -** no claims in regard to the fitness of the source code, executable -** code, and documentation of the BYTEmark. -** Furthermore, BYTE Magazine, McGraw-Hill, and all employees -** of McGraw-Hill cannot be held responsible for any damages resulting -** from the use of this code or the results obtained from using -** this code. -*/ - -/* -** Following should be modified accordingly per each -** compilation. -*/ -char *sysname="You can enter your system description in cleanbench.h"; -char *compilername="It then will be printed here after you recompile"; -char *compilerversion="Have a nice day"; - -/* Tests-to-do flags...must coincide with test. */ -enum { - NUMSORT, - STRINGSORT, - BITFIELD, - FPEMULATION, - FOURIER, - ASSIGNMENT, - IDEA, - HUFFMAN, - NEURAL, - LINEAR -} tests_t; - -#define NUMTESTS 10 - -/* -** Following array is a collection of flags indicating which -** tests to perform. -*/ -int tests_to_do[NUMTESTS]; - - -/* -** Test names -*/ -char *ftestnames[] = { - "NUMERIC SORT ", - "STRING SORT ", - "BITFIELD ", - "FP EMULATION ", - "FOURIER ", - "ASSIGNMENT ", - "IDEA ", - "HUFFMAN ", - "NEURAL NET ", - "LU DECOMPOSITION" }; - -/* -** Indexes -- Baseline is DELL Pentium XP90 -** 11/28/94 -*/ -double bindex[] = { - 38.993, /* Numeric sort */ - 2.238, /* String sort */ - 5829704, /* Bitfield */ - 2.084, /* FP Emulation */ - 879.278, /* Fourier */ - .2628, /* Assignment */ - 65.382, /* IDEA */ - 36.062, /* Huffman */ - .6225, /* Neural Net */ - 19.3031 }; /* LU Decomposition */ - -/* -** Indices -- Baseline is a AMD K6-233, 32MB RAM (60ns SDRAM),512k L2 cache, -** Linux kernel 2.0.32, libc-5.4.38, gcc-2.7.2.3) -** Nov/30/97 -*/ -double lx_bindex[] = { - 118.73, /* Numeric sort */ - 14.459, /* String sort */ - 27910000, /* Bitfield */ - 9.0314, /* FP Emulation */ - 1565.5, /* Fourier */ - 1.0132, /* Assignment */ - 220.21, /* IDEA */ - 112.93, /* Huffman */ - 1.4799, /* Neural Net */ - 26.732}; /* LU Decomposition */ - -/* -** Following are global structures, one built for -** each of the tests. -*/ -SortStruct global_numsortstruct; /* For numeric sort */ -SortStruct global_strsortstruct; /* For string sort */ -BitOpStruct global_bitopstruct; /* For bitfield operations */ -EmFloatStruct global_emfloatstruct; /* For emul. float. point */ -FourierStruct global_fourierstruct; /* For fourier test */ -AssignStruct global_assignstruct; /* For assignment algorithm */ -IDEAStruct global_ideastruct; /* For IDEA encryption */ -HuffStruct global_huffstruct; /* For Huffman compression */ -NNetStruct global_nnetstruct; /* For Neural Net */ -LUStruct global_lustruct; /* For LU decomposition */ - -/* -** EXTERNAL PROTOTYPES -*/ -extern void DoNumSort(void); -extern void DoStringSort(void); -extern void DoBitops(void); -extern void DoEmFloat(void); -extern void DoFourier(void); -extern void DoAssign(void); -extern void DoIDEA(void); -extern void DoHuffman(void); -extern void DoNNET(void); -extern void DoLU(void); - -/* -** Array of pointers to the benchmark functions. -*/ -void (*funcpointer[])(void) = -{ DoNumSort, - DoStringSort, - DoBitops, - DoEmFloat, - DoFourier, - DoAssign, - DoIDEA, - DoHuffman, - DoNNET, - DoLU }; +#define TRUE 1 +#define FALSE 0 + +#define MINIMUM_TICKS 60 +#define MINIMUM_SECONDS 5 /* Minimum number of seconds to run each test */ + +void DoNumSort(void); +void DoStringSort(void); +void DoBitops(void); +void DoEmFloat(void); +void DoFourier(void); +void DoAssign(void); +void DoIDEA(void); +void DoHuffman(void); +void DoNNET(void); +void DoLU(void); + +double getNumSortScore(void); +double getStringSortScore(void); +double getBitfieldScore(void); +double getEmFloatScore(void); +double getFourierScore(void); +double getAssignmentScore(void); +double getIDEAScore(void); +double getHuffmanScore(void); +double getNNETScore(void); +double getLinearScore(void); |