diff options
Diffstat (limited to 'android_bench_suite/config.py')
-rw-r--r-- | android_bench_suite/config.py | 94 |
1 files changed, 94 insertions, 0 deletions
diff --git a/android_bench_suite/config.py b/android_bench_suite/config.py new file mode 100644 index 00000000..4cfd2613 --- /dev/null +++ b/android_bench_suite/config.py @@ -0,0 +1,94 @@ +# Copyright 2017 The Chromium OS Authors. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + +"""Configuration file for the benchmark suite.""" +from __future__ import print_function + +import ConfigParser +import os + +from parse_result import parse_Panorama +from parse_result import parse_Dex2oat +from parse_result import parse_Hwui +from parse_result import parse_Skia +from parse_result import parse_Synthmark +from parse_result import parse_Binder + +from set_flags import add_flags_Panorama +from set_flags import add_flags_Dex2oat +from set_flags import add_flags_Hwui +from set_flags import add_flags_Skia +from set_flags import add_flags_Synthmark +from set_flags import add_flags_Binder + +home = os.environ['HOME'] + +# Load user configurations for default envrionments +env_config = ConfigParser.ConfigParser(allow_no_value=True) +env_config.read('env_setting') + +def get_suite_env(name, path=False): + variable = env_config.get('Suite_Environment', name) + if variable: + if path and not os.path.isdir(variable): + raise ValueError('The path of %s does not exist.' % name) + return variable + else: + raise ValueError('Please specify %s in env_setting' % name) + +# Android source code type: internal or aosp +android_type = get_suite_env('android_type') + +# Android home directory specified as android_home, +android_home = get_suite_env('android_home', True) + +# The benchmark results will be saved in bench_suite_dir. +# Please create a directory to store the results, default directory is +# android_home/benchtoolchain +bench_suite_dir = get_suite_env('bench_suite_dir', True) + +# Crosperf directory is used to generate crosperf report. +toolchain_utils = get_suite_env('toolchain_utils', True) + +# Please change both product and architecture at same time +# Product can be chosen from the lunch list of android building. +product_combo = get_suite_env('product_combo') + +# Arch can be found from out/target/product +product = get_suite_env('product') + +# Benchmarks list is in following variables, you can change it adding new +# benchmarks. +bench_dict = { + 'Panorama': 'packages/apps/LegacyCamera/jni/', + 'Dex2oat': 'art/compiler/', + 'Hwui': 'frameworks/base/libs/hwui/', + 'Skia': 'external/skia/', + 'Synthmark': 'synthmark/', + 'Binder': 'frameworks/native/libs/binder/', +} + +bench_parser_dict = { + 'Panorama': parse_Panorama, + 'Dex2oat': parse_Dex2oat, + 'Hwui': parse_Hwui, + 'Skia': parse_Skia, + 'Synthmark': parse_Synthmark, + 'Binder': parse_Binder, +} + +bench_flags_dict = { + 'Panorama': add_flags_Panorama, + 'Dex2oat': add_flags_Dex2oat, + 'Hwui': add_flags_Hwui, + 'Skia': add_flags_Skia, + 'Synthmark': add_flags_Synthmark, + 'Binder': add_flags_Binder, +} + +bench_list = bench_dict.keys() + +# Directories used in the benchmark suite +autotest_dir = 'external/autotest/' +out_dir = os.path.join(android_home, 'out') |