def main(): if len(sys.argv) < 2: print 'Usage: %s [url]' % (sys.argv[0]) exit(-1) url_match = re.match('^(.*)\/view\/(\d+)$', sys.argv[1]) if url_match is None: print 'Error: Bad URL argument. Exiting.' exit(-1) url = '%s/show/%s.geekbench' % (url_match.group(1), url_match.group(2)) data = urllib.urlopen(url).read() document = geekbench.parse_document(data) sections = ['Integer', 'Floating Point', 'Memory', 'Stream'] section_weights = { 'Integer' : 0.35, 'Floating Point' : 0.35, 'Memory' : 0.2, 'Stream' : 0.1 } section_scores = {} # Iterate through the sections in this document. for section in document.sections: scores = [] for workload in section.workloads: for result in workload.results: if result.threads == 1: scores.append(int(result.score)) section_scores[section.name] = sum(scores, 0) / len(scores) geekbench_score = 0 for section in sections: section_title = '%s Performance:' % (section,) print '%-30s %5d' % (section_title, section_scores[section]) geekbench_score += section_weights[section] * section_scores[section] print '\nGeekbench Score: %5d' % (int(geekbench_score),)
def main(): if len(sys.argv) < 2: print 'Usage: %s [filename]' % (sys.argv[0]) exit(-1) document = geekbench.parse_document(open(sys.argv[1]).read()) singlecore_scores = [] multicore_scores = [] # Iterate through the sections in this document. for section in document.sections: # Since we're calculating the processors's single-core and multi-core # performance, only gather scores from the integer and floating point # sections (and skip the memory sections). if section.id not in ['1', '2']: continue for workload in section.workloads: for result in workload.results: if result.threads == 1: singlecore_scores.append(int(result.score)) else: multicore_scores.append(int(result.score)) print 'Geekbench Score: %7d' % (int(document.score), ) print 'Single-Core Score: %7d' % (sum(singlecore_scores, 0) / len(singlecore_scores), ) print 'Multi-Core Score: %7d' % (sum(multicore_scores, 0) / len(multicore_scores), )
def main(): document = geekbench.parse_document(open(sys.argv[1], 'rt').read()) # Display system information by iterating through the system information # metrics. for metric in document.metrics: print ' %-25s %s' % (metric.name, metric.value) print '\n' # Iterate through the sections in this document. for section in document.sections: print '%s Performance' % (section.name,) # Iterate through the workloads in this section. for workload in section.workloads: print ' ', workload.name # Iterate through the individual results in this workload. for result in workload.results: print ' ', # Display whether the workload was run in single-threaded or # multi-threaded mode. if result.threads == 1: print 'single-threaded', else: print 'multi-threaded', # Display whether the workload contains scalar or vector # (i.e., SIMDized) code. if result.simd == 0: print 'scalar', else: print 'vector', print result.score print '\n', # Display the overall score. print 'Geekbench 2 Score: ', document.score
def main(): xml = urllib2.urlopen('%s.geekbench' % (sys.argv[1],)).read() document = geekbench.parse_document(xml) for section in document.sections: scores = [] for workload in section.workloads: if skip_workload(workload): continue for result in workload.results: scores.append(result.score) print scores section.score = sum(scores) / len(scores) weights = { 1: 0.35, 2: 0.35, 3: 0.20, 4: 0.10 } document.score = 0 for section in document.sections: document.score += int(section.score * weights[section.id]) # Display system information by iterating through the system information # metrics. for metric in document.metrics: print ' %-25s %s' % (metric.name, metric.value) print '\n' # Iterate through the sections in this document. for section in document.sections: print '%s Performance' % (section.name,) # Iterate through the workloads in this section. for workload in section.workloads: if skip_workload(workload): continue print ' ', workload.name # Iterate through the individual results in this workload. for result in workload.results: print ' ', # Display whether the workload was run in single-threaded or # multi-threaded mode. if result.threads == 1: print 'single-threaded', else: print 'multi-threaded', # Display whether the workload contains scalar or vector # (i.e., SIMDized) code. if result.simd == 0: print 'scalar', else: print 'vector', print result.score print '\n', # Display the overall score. print 'Geekbench 2 Score: ', document.score