Add test for memory benchmark in golem
Bug: 121018500
Change-Id: I944f0c57f16ec19124beefc3410905cada7155e2
diff --git a/tools/run_bootstrap_benchmark.py b/tools/run_bootstrap_benchmark.py
index e12051b..bc07347 100755
--- a/tools/run_bootstrap_benchmark.py
+++ b/tools/run_bootstrap_benchmark.py
@@ -12,6 +12,7 @@
import toolhelper
import utils
+MEMORY_XMX_LIMIT_BENCHMARK = 270
def parse_arguments(argv):
parser = argparse.ArgumentParser(
@@ -20,6 +21,10 @@
help = 'Link in third party dependencies.',
default = False,
action = 'store_true')
+ parser.add_argument('--limit-memory-runtime-test',
+ help = 'Run in a specific memory limit.',
+ default = False,
+ action = 'store_true')
return parser.parse_args(argv)
@@ -47,16 +52,29 @@
d8_r8_output = os.path.join(temp, 'd8r8.zip')
d8_pg_output = os.path.join(temp, 'd8pg.zip')
+ run_memory_test = options.limit_memory_runtime_test
+
+ java_args = (['-Xmx%sM' % MEMORY_XMX_LIMIT_BENCHMARK]
+ if run_memory_test else [])
+
+ benchmark_name = "MemoryR8Pinned" if run_memory_test else "BootstrapR8"
+
return_code = minify_tool.minify_tool(
input_jar=utils.PINNED_R8_JAR,
output_jar=r8_output,
debug=False,
build=False,
track_memory_file=memory_file,
- benchmark_name="BootstrapR8")
+ benchmark_name=benchmark_name,
+ java_args=java_args)
+
if return_code != 0:
sys.exit(return_code)
+ if run_memory_test:
+ # We are not tracking code-size, so return early.
+ sys.exit(0)
+
dex(r8_output, d8_r8_output)
print "BootstrapR8(CodeSize):", utils.uncompressed_size(r8_output)
print "BootstrapR8Dex(CodeSize):", utils.uncompressed_size(d8_r8_output)