diff options
author | Craig Tiller <ctiller@google.com> | 2016-05-20 11:17:31 -0700 |
---|---|---|
committer | Craig Tiller <ctiller@google.com> | 2016-05-20 11:17:31 -0700 |
commit | c0cb23b88594d69e550c6de6e2b2a24d1161ab78 (patch) | |
tree | 56bbf42d7341f75dc06edc4b6a973003c59e43e7 /test/cpp | |
parent | 8a7fe1a0eff0981a470596845ec23bf05825c3b4 (diff) | |
parent | bd24a4611f1a827f2da050c8bf6bf4f9216c9aae (diff) |
Merge branch 'guess_cpu' into test_affine
Diffstat (limited to 'test/cpp')
-rwxr-xr-x | test/cpp/qps/gen_build_yaml.py | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/test/cpp/qps/gen_build_yaml.py b/test/cpp/qps/gen_build_yaml.py index 6b3329b046..e8ad74f0f6 100755 --- a/test/cpp/qps/gen_build_yaml.py +++ b/test/cpp/qps/gen_build_yaml.py @@ -46,6 +46,24 @@ import performance.scenario_config as scenario_config def _scenario_json_string(scenario_json): return json.dumps(scenario_config.remove_nonproto_fields(scenario_json)) +def threads_of_type(scenario_json, path): + d = scenario_json + for el in path.split('/'): + if el not in d: + return 0 + d = d[el] + return d + +def guess_cpu(scenario_json): + client = threads_of_type(scenario_json, 'client_config/async_client_threads') + server = threads_of_type(scenario_json, 'server_config/async_server_threads') + # make an arbitrary guess if set to auto-detect + # about the size of the jenkins instances we have for unit tests + if client == 0: client = 8 + if server == 0: server = 8 + return (scenario_json['num_clients'] * client + + scenario_json['num_servers'] * server) + print yaml.dump({ 'tests': [ { @@ -59,7 +77,7 @@ print yaml.dump({ 'language': 'c++', 'boringssl': True, 'defaults': 'boringssl', - 'cpu_cost': 1000.0, + 'cpu_cost': guess_cpu(scenario_json), 'exclude_configs': [] } for scenario_json in scenario_config.CXXLanguage().scenarios() |