summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatt Turner <mattst88@gmail.com>2008-11-15 04:45:48 +0000
committerMatt Turner <mattst88@gmail.com>2008-11-15 04:45:48 +0000
commit991b62808450c54ac721f345d82426fde3e6289f (patch)
tree491d537644ed0886d2eedc1dd774280d56f41e5f
parent71fc241cfd8e94a20a7bd33369e09bde0424e367 (diff)
-- Reorder benchmarks to simplify results calculation logic
-- Fix up sysinfo template stuff -- More cleanbench.c cleanups git-svn-id: svn://mattst88.com/svn/cleanbench/trunk@59 0d43b9a7-5ab2-4d7b-af9d-f64450cef757
-rw-r--r--Makefile7
-rw-r--r--cleanbench.c56
-rw-r--r--sysinfo.c.template7
-rwxr-xr-xsysinfo.sh10
-rw-r--r--sysinfoc.c.template2
5 files changed, 36 insertions, 46 deletions
diff --git a/Makefile b/Makefile
index 1cdb017..d29593a 100644
--- a/Makefile
+++ b/Makefile
@@ -10,22 +10,19 @@ all: ${OBJS}
$(GCC) ${OBJS} -o cleanbench -lm
clean:
- - /bin/rm -f *.o cleanbench sysinfo.c sysinfoc.c
+ - /bin/rm -f *.o cleanbench sysinfo.c
remake: clean all
# Source files
-sysinfoc.c: Makefile
- ./sysinfo.sh $(GCC) $(GCCFLAGS)
-
sysinfo.c: Makefile
./sysinfo.sh $(GCC) $(GCCFLAGS)
hardware.o: hardware.c hardware.h Makefile
$(GCC) $(GCCFLAGS) -c hardware.c
-cleanbench.o: cleanbench.h cleanbench.c hardware.h Makefile sysinfo.c sysinfoc.c
+cleanbench.o: cleanbench.h cleanbench.c hardware.h Makefile sysinfo.c
$(GCC) $(GCCFLAGS) -c cleanbench.c
emfloat.o: emfloat.h emfloat.c Makefile
diff --git a/cleanbench.c b/cleanbench.c
index 47f4466..66e58ed 100644
--- a/cleanbench.c
+++ b/cleanbench.c
@@ -15,13 +15,13 @@ static double getScore(int fid);
enum {
NUMSORT,
- STRINGSORT,
- BITFIELD,
FPEMULATION,
- FOURIER,
- ASSIGNMENT,
IDEA,
HUFFMAN,
+ STRINGSORT,
+ BITFIELD,
+ ASSIGNMENT,
+ FOURIER,
NEURAL,
LINEAR
} tests_t;
@@ -31,13 +31,13 @@ main(int argc, char *argv[])
{
const char* test_name[] = {
"NUMERIC SORT ",
- "STRING SORT ",
- "BITFIELD ",
"FP EMULATION ",
- "FOURIER ",
- "ASSIGNMENT ",
"IDEA ",
"HUFFMAN ",
+ "STRING SORT ",
+ "BITFIELD ",
+ "ASSIGNMENT ",
+ "FOURIER ",
"NEURAL NET ",
"LU DECOMPOSITION"
};
@@ -48,13 +48,13 @@ main(int argc, char *argv[])
*/
const double bindex[] = {
38.993, /* Numeric sort */
- 2.238, /* String sort */
- 5829704, /* Bitfield */
2.084, /* FP Emulation */
- 879.278, /* Fourier */
- 0.2628, /* Assignment */
65.382, /* IDEA */
36.062, /* Huffman */
+ 2.238, /* String sort */
+ 5829704, /* Bitfield */
+ 0.2628, /* Assignment */
+ 879.278, /* Fourier */
0.6225, /* Neural Net */
19.3031 /* LU Decomposition */
};
@@ -66,13 +66,13 @@ main(int argc, char *argv[])
*/
const double linux_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 */
+ 14.459, /* String sort */
+ 27910000, /* Bitfield */
+ 1.0132, /* Assignment */
+ 1565.5, /* Fourier */
1.4799, /* Neural Net */
26.732 /* LU Decomposition */
};
@@ -91,7 +91,7 @@ main(int argc, char *argv[])
" : : Pentium 90 : AMD K6/233\n"
"--------------------:------------------:-------------:------------");
- for (test = NUMSORT; test < NUMTESTS; test++) {
+ for (test = 0; test < NUMTESTS; test++) {
printf("%s :", test_name[test]);
if (!bench_with_confidence(test, &bmean, &bstdev, &bnumrun)) {
@@ -101,12 +101,12 @@ main(int argc, char *argv[])
}
printf(" %15.5g : %9.2f : %9.2f\n", bmean, bmean / bindex[test], bmean / linux_bindex[test]);
- if ((test == FOURIER) || (test == NEURAL) || (test == LINEAR)) {
+ if (test >= FOURIER) {
fpindex *= bmean / bindex[test];
linux_fpindex *= bmean / linux_bindex[test];
} else {
intindex *= bmean / bindex[test];
- if ((test == NUMSORT) || (test == FPEMULATION) || (test == IDEA) || (test == HUFFMAN)) {
+ if (test <= HUFFMAN) {
linux_intindex *= bmean / linux_bindex[test];
} else {
linux_memindex *= bmean / linux_bindex[test];
@@ -120,7 +120,7 @@ main(int argc, char *argv[])
"==============================LINUX DATA BELOW===============================\n",
pow(intindex, .142857), pow(fpindex, .33333));
hardware();
-#include "sysinfoc.c"
+#include "sysinfo.c"
printf( "MEMORY INDEX : %.3f\n"
"INTEGER INDEX : %.3f\n"
"FLOATING-POINT INDEX: %.3f\n"
@@ -154,13 +154,13 @@ static int bench_with_confidence(int benchmark,
{
void (*funcpointer[])(void) =
{ DoNumSort,
- DoStringSort,
- DoBitops,
DoEmFloat,
- DoFourier,
- DoAssign,
DoIDEA,
DoHuffman,
+ DoStringSort,
+ DoBitops,
+ DoAssign,
+ DoFourier,
DoNNET,
DoLU };
@@ -280,13 +280,13 @@ return FALSE;
static double getScore(int benchmark) {
double (*getScore[])(void) = {
getNumSortScore,
- getStringSortScore,
- getBitfieldScore,
getEmFloatScore,
- getFourierScore,
- getAssignmentScore,
getIDEAScore,
getHuffmanScore,
+ getStringSortScore,
+ getBitfieldScore,
+ getAssignmentScore,
+ getFourierScore,
getNNETScore,
getLinearScore
};
diff --git a/sysinfo.c.template b/sysinfo.c.template
index 775b39c..b576f54 100644
--- a/sysinfo.c.template
+++ b/sysinfo.c.template
@@ -1,5 +1,2 @@
-printf("**System used for compilation:\n");
-printf("**%SYSTEM%\n");
-printf("**C compiler: %CCVERSION%\n");
-printf("**libc: %LIBCVERSION%\n");
-printf("**Date of compilation: %DATE%\n");
+printf("C compiler : %CCVERSION%\n");
+printf("libc : %LIBCVERSION%\n");
diff --git a/sysinfo.sh b/sysinfo.sh
index 80b5d89..ab7149f 100755
--- a/sysinfo.sh
+++ b/sysinfo.sh
@@ -61,7 +61,7 @@ if ($* hello.c -o hello) >/dev/null 2>&1; then
fi
fi
-rm -f sysinfo.crm sysinfoc.c hello
+rm -f sysinfo.crm sysinfo.c hello
# this bombs out on Ultrix which expect "cut -d"
@@ -71,8 +71,6 @@ compdate=`date|cut -b1-55`
# let's hope that ctrl-c is not part of any string here
# this also will barf later if " is in any of the strings
-for i in sysinfo.c sysinfoc.c ; do
- sed -e "s%CCVERSION%$gccversion" -e "s%LIBCVERSION%$libcversion"\
- -e "s%SYSTEM%$compsystem" -e "s%DATE%$compdate"\
- ${i}.template > $i
-done
+sed -e "s%CCVERSION%$gccversion" -e "s%LIBCVERSION%$libcversion"\
+ -e "s%SYSTEM%$compsystem" -e "s%DATE%$compdate"\
+ sysinfo.c.template > sysinfo.c
diff --git a/sysinfoc.c.template b/sysinfoc.c.template
deleted file mode 100644
index b576f54..0000000
--- a/sysinfoc.c.template
+++ /dev/null
@@ -1,2 +0,0 @@
-printf("C compiler : %CCVERSION%\n");
-printf("libc : %LIBCVERSION%\n");