wlauto.workloads.geekbench package

Module contents

class wlauto.workloads.geekbench.GBScoreCalculator[source]

Bases: object

Parses logcat output to extract raw Geekbench workload values and converts them into category and overall scores.

category_weights = {'integer': 0.3357231, 'float': 0.3594, 'stream': 0.1054738, 'memory': 0.1926489}
parse(filepath)[source]

Extract results from the specified file. The file should contain a logcat log of Geekbench execution. Iteration results in the log appear as ‘I/geekbench’ category entries in the following format:

|                     worklod ID          value      units   timing
|                         \-------------    |     ----/     ---/
|                                      |    |     |         |
|  I/geekbench(29026): [....] workload 101 132.9 MB/sec 0.0300939s
|      |               |
|      |               -----         |      label    random crap we don't care about
result_regex = <_sre.SRE_Pattern object at 0x1c18a30>
update_results(context)[source]

http://support.primatelabs.com/kb/geekbench/interpreting-geekbench-2-scores

From the website:

Each workload’s performance is compared against a baseline to determine a score. These scores are averaged together to determine an overall, or Geekbench, score for the system.

Geekbench uses the 2003 entry-level Power Mac G5 as the baseline with a score of 1,000 points. Higher scores are better, with double the score indicating double the performance.

Geekbench provides three different kinds of scores:

Workload Scores:
 Each time a workload is executed Geekbench calculates a score based on the computer’s performance compared to the baseline performance. There can be multiple workload scores for the same workload as Geekbench can execute each workload multiple times with different settings. For example, the “Dot Product” workload is executed four times (single-threaded scalar code, multi-threaded scalar code, single-threaded vector code, and multi-threaded vector code) producing four “Dot Product” scores.
Section Scores:A section score is the average of all the workload scores for workloads that are part of the section. These scores are useful for determining the performance of the computer in a particular area. See the section descriptions above for a summary on what each section measures.
Geekbench Score:
 The Geekbench score is the weighted average of the four section scores. The Geekbench score provides a way to quickly compare performance across different computers and different platforms without getting bogged down in details.
workloads = [Blowfish, Text Compress, Text Decompress, Image Compress, Image Decompress, Lua, Mandelbrot, Dot Product, LU Decomposition, Primality Test, Sharpen Image, Blur Image, Read Sequential, Write Sequential, Stdlib Allocate, Stdlib Write, Stdlib Copy, Stream Copy, Stream Scale, Stream Add, Stream Triad]
class wlauto.workloads.geekbench.GBWorkload(wlid, name, pmac_g5_st_score, pmac_g5_mt_score)[source]

Bases: object

Geekbench workload (not to be confused with WA’s workloads). This is a single test run by geek bench, such as preforming compression or generating Madelbrot.

add_result(value, units)[source]
categories = [None, 'integer', 'float', 'memory', 'stream']
clear()[source]
convert_to_kilo(value, units)[source]
get_scores()[source]

Returns a tuple (single-thraded score, multi-threaded score) for this workload. Some workloads only have a single-threaded score, in which case multi-threaded score will be None.

Geekbench will perform four iterations of each workload in single-threaded and, for some workloads, multi-threaded configurations. Thus there should always be either four or eight scores collected for each workload. Single-threaded iterations are always done before multi-threaded, so the ordering of the scores can be used to determine which configuration they belong to.

This method should not be called before score collection has finished.

pmac_g5_base_score = 1000
units_conversion_map = {'K': 1, 'M': 1000, 'G': 1000000}
class wlauto.workloads.geekbench.Geekbench(device, **kwargs)[source]

Bases: wlauto.common.android.workload.AndroidUiAutoBenchmark

activity
aliases = AC([])
artifacts = AC([])
begin_regex = <_sre.SRE_Pattern object at 0x1c07240>
core_modules = []
description = '\n Geekbench provides a comprehensive set of benchmarks engineered to quickly\n and accurately measure processor and memory performance.\n\n http://www.primatelabs.com/geekbench/\n\n From the website:\n\n Designed to make benchmarks easy to run and easy to understand, Geekbench\n takes the guesswork out of producing robust and reliable benchmark results.\n\n Geekbench scores are calibrated against a baseline score of 1,000 (which is\n the score of a single-processor Power Mac G5 @ 1.6GHz). Higher scores are\n better, with double the score indicating double the performance.\n\n The benchmarks fall into one of four categories:\n\n - integer performance.\n - floating point performance.\n - memory performance.\n - stream performance.\n\n Geekbench benchmarks: http://www.primatelabs.com/geekbench/doc/benchmarks.html\n\n Geekbench scoring methedology:\n http://support.primatelabs.com/kb/geekbench/interpreting-geekbench-scores\n\n '
finalize(*args, **kwargs)
initialize(*args, **kwargs)
is_corporate = False
kind = 'workload'
name = 'geekbench'
package
parameters = AC(["Param({'kind': <type 'list'>, 'mandatory': None, 'name': 'modules', 'constraint': None, 'default': None, 'allowed_values': None, 'global_alias': None, 'override': False})", "Param({'kind': <function integer>, 'mandatory': None, 'name': 'install_timeout', 'constraint': None, 'default': 300, 'allowed_values': None, 'global_alias': None, 'override': False})", "Param({'kind': <function boolean>, 'mandatory': None, 'name': 'check_apk', 'constraint': None, 'default': True, 'allowed_values': None, 'global_alias': None, 'override': False})", "Param({'kind': <function boolean>, 'mandatory': None, 'name': 'force_install', 'constraint': None, 'default': False, 'allowed_values': None, 'global_alias': None, 'override': False})", "Param({'kind': <function boolean>, 'mandatory': None, 'name': 'uninstall_apk', 'constraint': None, 'default': False, 'allowed_values': None, 'global_alias': None, 'override': False})", "Param({'kind': <function boolean>, 'mandatory': None, 'name': 'exact_abi', 'constraint': None, 'default': False, 'allowed_values': None, 'global_alias': None, 'override': False})", "Param({'kind': <function boolean>, 'mandatory': None, 'name': 'clear_data_on_reset', 'constraint': None, 'default': True, 'allowed_values': None, 'global_alias': None, 'override': False})", "Param({'kind': <type 'str'>, 'mandatory': None, 'name': 'version', 'constraint': None, 'default': '4.0.1', 'allowed_values': ['2', '3.0.0', '3.4.1', '4.0.1'], 'global_alias': None, 'override': False})", "Param({'kind': <function integer>, 'mandatory': None, 'name': 'times', 'constraint': None, 'default': 1, 'allowed_values': None, 'global_alias': None, 'override': False})", "Param({'kind': <function integer>, 'mandatory': None, 'name': 'timeout', 'constraint': None, 'default': 900, 'allowed_values': None, 'global_alias': None, 'override': False})", "Param({'kind': <function boolean>, 'mandatory': None, 'name': 'disable_update_result', 'constraint': None, 'default': False, 'allowed_values': None, 'global_alias': None, 'override': False})"])
replace_regex = <_sre.SRE_Pattern object>
summary_metrics = ['score', 'multicore_score']
update_result(context)[source]
update_result_2(context)[source]
update_result_3(context)[source]
update_result_4(context)[source]
validate(*args, **kwargs)
versions = {'4.0.1': {'activity': '.HomeActivity', 'package': 'com.primatelabs.geekbench'}, '2': {'activity': '.HomeActivity', 'package': 'ca.primatelabs.geekbench2'}, '3.4.1': {'activity': '.HomeActivity', 'package': 'com.primatelabs.geekbench'}, '3.0.0': {'activity': '.HomeActivity', 'package': 'com.primatelabs.geekbench3'}}
class wlauto.workloads.geekbench.GeekbenchCorproate(device, **kwargs)[source]

Bases: wlauto.workloads.geekbench.Geekbench

activity = 'com.primatelabs.geekbench.HomeActivity'
aliases = AC([])
artifacts = AC([])
core_modules = []
finalize(*args, **kwargs)
initialize(*args, **kwargs)
is_corporate = True
kind = 'workload'
name = 'geekbench-corporate'
package = 'com.primatelabs.geekbench4.corporate'
parameters = AC(["Param({'kind': <type 'list'>, 'mandatory': None, 'name': 'modules', 'constraint': None, 'default': None, 'allowed_values': None, 'global_alias': None, 'override': False})", "Param({'kind': <function integer>, 'mandatory': None, 'name': 'install_timeout', 'constraint': None, 'default': 300, 'allowed_values': None, 'global_alias': None, 'override': False})", "Param({'kind': <function boolean>, 'mandatory': None, 'name': 'check_apk', 'constraint': None, 'default': True, 'allowed_values': None, 'global_alias': None, 'override': False})", "Param({'kind': <function boolean>, 'mandatory': None, 'name': 'force_install', 'constraint': None, 'default': False, 'allowed_values': None, 'global_alias': None, 'override': False})", "Param({'kind': <function boolean>, 'mandatory': None, 'name': 'uninstall_apk', 'constraint': None, 'default': False, 'allowed_values': None, 'global_alias': None, 'override': False})", "Param({'kind': <function boolean>, 'mandatory': None, 'name': 'exact_abi', 'constraint': None, 'default': False, 'allowed_values': None, 'global_alias': None, 'override': False})", "Param({'kind': <function boolean>, 'mandatory': None, 'name': 'clear_data_on_reset', 'constraint': None, 'default': True, 'allowed_values': None, 'global_alias': None, 'override': False})", "Param({'_overridden': 'GeekbenchCorproate', 'kind': <type 'str'>, 'mandatory': None, 'name': 'version', 'constraint': None, 'default': '4.1.0', 'allowed_values': ['4.1.0'], 'global_alias': None, 'override': True})", "Param({'kind': <function integer>, 'mandatory': None, 'name': 'times', 'constraint': None, 'default': 1, 'allowed_values': None, 'global_alias': None, 'override': False})", "Param({'kind': <function integer>, 'mandatory': None, 'name': 'timeout', 'constraint': None, 'default': 900, 'allowed_values': None, 'global_alias': None, 'override': False})", "Param({'kind': <function boolean>, 'mandatory': None, 'name': 'disable_update_result', 'constraint': None, 'default': False, 'allowed_values': None, 'global_alias': None, 'override': False})"])
validate(*args, **kwargs)
versions = ['4.1.0']
wlauto.workloads.geekbench.namemify(basename, i)[source]
wlauto.workloads.geekbench.versiontuple(v)[source]