blob: 0d847f1089b6824614508a77de57eb00f0b0a906 [file] [log] [blame]
mblighb71116b2006-05-17 21:32:55 +00001import test
2from autotest_utils import *
3
4class unixbench(test.test):
5 version = 1
6
7 # http://www.tux.org/pub/tux/niemi/unixbench/unixbench-4.1.0.tgz
8 def setup(self, tarball = 'unixbench-4.1.0.tar.bz2'):
9 tarball = unmap_url(self.bindir, tarball, self.tmpdir)
10 extract_tarball_to_dir(tarball, self.srcdir)
11 os.chdir(self.srcdir)
12
13 system('make')
14
15 def execute(self, iterations = 1, args = ''):
mbligh9f5113d2007-06-25 23:41:10 +000016 vars = 'TMPDIR=\"%s\" RESULTDIR=\"%s\"' % (self.tmpdir, self.resultsdir)
17 profilers = self.job.profilers
mbligh5e3ad612007-10-12 23:34:37 +000018 keyval = open(self.resultsdir + '/keyval', 'w')
19
mbligh9f5113d2007-06-25 23:41:10 +000020 if not profilers.only():
21 for i in range(iterations):
22 os.chdir(self.srcdir)
23 system(vars + ' ./Run ' + args)
mbligh5e3ad612007-10-12 23:34:37 +000024 report = open(self.resultsdir + '/report')
25 _format_results(report, keyval)
26
mbligha9991982006-05-25 18:32:43 +000027
28 # Do a profiling run if necessary
mbligha9991982006-05-25 18:32:43 +000029 if profilers.present():
30 profilers.start(self)
31 system(vars + ' ./Run ' + args)
32 profilers.stop(self)
33 profilers.report(self)
mbligh5e3ad612007-10-12 23:34:37 +000034
35
36def _format_results(report, keyval):
37 for i in range(9):
38 report.next()
39 for line in report:
40 if not line.strip():
41 break
42
43 words = line.split()
44 key = '_'.join(words[:-6])
45 value = words[-6]
46 print >> keyval, '%s=%s' % (key, value)
mbligh9d4c32e2007-11-05 17:23:40 +000047 for line in report:
48 if 'FINAL SCORE' in line:
49 print >> keyval, 'score=%s' % line.split()[-1]
50 break
mbligh5e3ad612007-10-12 23:34:37 +000051
52
53if __name__ == '__main__':
54 import sys
55 _format_results(sys.stdin, sys.stdout)
56
57
58""" Here is a sample report file:
59
60 BYTE UNIX Benchmarks (Version 4.1.0)
61 System -- Linux adrianbg 2.6.18.5 #1 SMP Thu J Start Benchmark Run: Tue Sep 1
62 9 interactive users.
63 21:03:50 up 5 days, 7:38, 9 users, load average: 0.71, 0.40, 0.25
64 lrwxrwxrwx 1 root root 4 Aug 15 09:53 /bin/sh -> bash
65 /bin/sh: symbolic link to `bash'
66 /dev/sda6 192149596 91964372 90424536 51% /home
67Dhrystone 2 using register variables 7918001.7 lps (10.0 secs, 10 samples)
68System Call Overhead 1427272.7 lps (10.0 secs, 10 samples)
69Process Creation 11508.6 lps (30.0 secs, 3 samples)
70Execl Throughput 4159.7 lps (29.7 secs, 3 samples)
71File Read 1024 bufsize 2000 maxblocks 1708109.0 KBps (30.0 secs, 3 samples)
72File Write 1024 bufsize 2000 maxblocks 788024.0 KBps (30.0 secs, 3 samples)
73File Copy 1024 bufsize 2000 maxblocks 452986.0 KBps (30.0 secs, 3 samples)
74File Read 256 bufsize 500 maxblocks 508752.0 KBps (30.0 secs, 3 samples)
75File Write 256 bufsize 500 maxblocks 214772.0 KBps (30.0 secs, 3 samples)
76File Copy 256 bufsize 500 maxblocks 143989.0 KBps (30.0 secs, 3 samples)
77File Read 4096 bufsize 8000 maxblocks 2626923.0 KBps (30.0 secs, 3 samples)
78File Write 4096 bufsize 8000 maxblocks 1175070.0 KBps (30.0 secs, 3 samples)
79File Copy 4096 bufsize 8000 maxblocks 793041.0 KBps (30.0 secs, 3 samples)
80Shell Scripts (1 concurrent) 4417.4 lpm (60.0 secs, 3 samples)
81Shell Scripts (8 concurrent) 1109.0 lpm (60.0 secs, 3 samples)
82Shell Scripts (16 concurrent) 578.3 lpm (60.0 secs, 3 samples)
83Arithmetic Test (type = short) 1843690.0 lps (10.0 secs, 3 samples)
84Arithmetic Test (type = int) 1873615.8 lps (10.0 secs, 3 samples)
85Arithmetic Test (type = long) 1888345.9 lps (10.0 secs, 3 samples)
86Arithmetic Test (type = float) 616260.3 lps (10.0 secs, 3 samples)
87Arithmetic Test (type = double) 615942.1 lps (10.0 secs, 3 samples)
88Arithoh 18864899.5 lps (10.0 secs, 3 samples)
89Dc: sqrt(2) to 99 decimal places 161726.0 lpm (30.0 secs, 3 samples)
90Recursion Test--Tower of Hanoi 89229.3 lps (20.0 secs, 3 samples)
91
92
93 INDEX VALUES
94TEST BASELINE RESULT INDEX
95
96Dhrystone 2 using register variables 116700.0 7918001.7 678.5
97Double-Precision Whetstone 55.0 1948.2 354.2
98Execl Throughput 43.0 4159.7 967.4
99File Copy 1024 bufsize 2000 maxblocks 3960.0 452986.0 1143.9
100File Copy 256 bufsize 500 maxblocks 1655.0 143989.0 870.0
101File Copy 4096 bufsize 8000 maxblocks 5800.0 793041.0 1367.3
102Pipe Throughput 12440.0 1048491.9 842.8
103Pipe-based Context Switching 4000.0 300778.3 751.9
104Process Creation 126.0 11508.6 913.4
105Shell Scripts (8 concurrent) 6.0 1109.0 1848.3
106System Call Overhead 15000.0 1427272.7 951.5
107 =========
108 FINAL SCORE 902.1
109"""