| OLD | NEW |
| 1 import re, pickle, os, logging | 1 import re, pickle, os, logging |
| 2 from autotest_lib.client.bin import utils, test | 2 from autotest_lib.client.bin import utils, test |
| 3 | 3 |
| 4 | 4 |
| 5 class kernbench(test.test): | 5 class kernbench(test.test): |
| 6 version = 4 | 6 version = 4 |
| 7 | 7 |
| 8 def initialize(self): | 8 def initialize(self): |
| 9 self.job.require_gcc() | 9 self.job.require_gcc() |
| 10 self.job.drop_caches_between_iterations = False | 10 self.job.drop_caches_between_iterations = False |
| (...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 42 return kernel | 42 return kernel |
| 43 | 43 |
| 44 | 44 |
| 45 def warmup(self, threads=None, version=None): | 45 def warmup(self, threads=None, version=None): |
| 46 if threads: | 46 if threads: |
| 47 self.threads = threads | 47 self.threads = threads |
| 48 else: | 48 else: |
| 49 self.threads = self.job.cpu_count()*2 | 49 self.threads = self.job.cpu_count()*2 |
| 50 | 50 |
| 51 self.kernel = self.__init_tree(version) | 51 self.kernel = self.__init_tree(version) |
| 52 logging.info("Warmup run ...") |
| 52 logfile = os.path.join(self.debugdir, 'build_log') | 53 logfile = os.path.join(self.debugdir, 'build_log') |
| 53 | 54 try: |
| 54 logging.info("Warmup run ...") | 55 self.kernel.build_timed(self.threads, output=logfile) # warmup run |
| 55 self.kernel.build_timed(self.threads, output=logfile) # warmup run | 56 finally: |
| 57 if os.path.exists(logfile): |
| 58 utils.system("gzip -9 '%s'" % logfile, ignore_status=True) |
| 56 | 59 |
| 57 | 60 |
| 58 def run_once(self): | 61 def run_once(self): |
| 59 logging.info("Performance run, iteration %d," | 62 logging.info("Performance run, iteration %d," |
| 60 " %d threads" % (self.iteration, self.threads)) | 63 " %d threads" % (self.iteration, self.threads)) |
| 61 if self.iteration: | 64 if self.iteration: |
| 62 timefile = 'time.%d' % self.iteration | 65 timefile = 'time.%d' % self.iteration |
| 63 else: | 66 else: |
| 64 timefile = 'time.profile' | 67 timefile = 'time.profile' |
| 65 self.timefile = os.path.join(self.resultsdir, timefile) | 68 self.timefile = os.path.join(self.resultsdir, timefile) |
| 66 self.kernel.build_timed(self.threads, self.timefile) | 69 self.kernel.build_timed(self.threads, self.timefile) |
| 67 | 70 |
| 68 | 71 |
| 69 def cleanup(self): | 72 def cleanup(self): |
| 70 self.kernel.clean(logged=False) # Don't leave litter lying around | 73 self.kernel.clean(logged=False) # Don't leave litter lying around |
| 71 | 74 |
| 72 | 75 |
| 73 def postprocess_iteration(self): | 76 def postprocess_iteration(self): |
| 74 os.chdir(self.resultsdir) | 77 os.chdir(self.resultsdir) |
| 75 utils.system("grep -h elapsed %s >> time" % self.timefile) | 78 utils.system("grep -h elapsed %s >> time" % self.timefile) |
| 76 | 79 |
| 77 results = open(self.timefile).read() | 80 results = open(self.timefile).read() |
| 78 (user, system, elapsed) = utils.extract_all_time_results(results)[0] | 81 (user, system, elapsed) = utils.extract_all_time_results(results)[0] |
| 79 self.write_perf_keyval({'user':user, | 82 self.write_perf_keyval({'user':user, |
| 80 'system':system, | 83 'system':system, |
| 81 'elapsed':elapsed | 84 'elapsed':elapsed |
| 82 }) | 85 }) |
| OLD | NEW |