aboutsummaryrefslogtreecommitdiffhomepage
path: root/test/cpp
diff options
context:
space:
mode:
authorGravatar Craig Tiller <ctiller@google.com>2016-05-20 11:15:58 -0700
committerGravatar Craig Tiller <ctiller@google.com>2016-05-20 11:15:58 -0700
commitbd24a4611f1a827f2da050c8bf6bf4f9216c9aae (patch)
treee34c0466c81cad81daa6a179d71929674b3ca69b /test/cpp
parent3c62c555a4d1b4385d4f8c6c9f533c34c82cec5a (diff)
Better guesses at benchmarks turned unit tests cpu cost
Diffstat (limited to 'test/cpp')
-rwxr-xr-xtest/cpp/qps/gen_build_yaml.py20
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()