diff options
Diffstat (limited to 'tools')
-rwxr-xr-x | tools/benchmark.py | 25 | ||||
-rw-r--r-- | tools/benchmark_test.py | 11 | ||||
-rwxr-xr-x | tools/test.py | 2 |
3 files changed, 29 insertions, 9 deletions
diff --git a/tools/benchmark.py b/tools/benchmark.py index fd33863c9..4055eca44 100755 --- a/tools/benchmark.py +++ b/tools/benchmark.py @@ -10,15 +10,10 @@ import sys import json import time import shutil -from util import run, run_output, root_path, build_path +from util import run, run_output, root_path, build_path, executable_suffix import tempfile import http_server -try: - http_server.spawn() -except: - "Warning: another http_server instance is running" - # The list of the tuples of the benchmark name and arguments exec_time_benchmarks = [ ("hello", ["tests/002_hello.ts"]), @@ -54,6 +49,19 @@ def import_data_from_gh_pages(): write_json(data_file, []) # writes empty json data +def get_binary_sizes(build_dir): + path_dict = { + "deno": os.path.join(build_dir, "deno" + executable_suffix), + "main.js": os.path.join(build_dir, "gen/bundle/main.js"), + "main.js.map": os.path.join(build_dir, "gen/bundle/main.js.map"), + "snapshot_deno.bin": os.path.join(build_dir, "gen/snapshot_deno.bin") + } + sizes = {} + for name, path in path_dict.items(): + sizes[name] = os.path.getsize(path) + return sizes + + def get_strace_summary_text(test_args): f = tempfile.NamedTemporaryFile() run(["strace", "-c", "-f", "-o", f.name] + test_args) @@ -124,6 +132,8 @@ def main(argv): print "Usage: tools/benchmark.py [build_dir]" sys.exit(1) + http_server.spawn() + deno_path = os.path.join(build_dir, "deno") benchmark_file = os.path.join(build_dir, "benchmark.json") @@ -139,7 +149,7 @@ def main(argv): new_data = { "created_at": time.strftime("%Y-%m-%dT%H:%M:%SZ"), "sha1": sha1, - "binary_size": os.path.getsize(deno_path), + "binary_size": {}, "thread_count": {}, "syscall_count": {}, "benchmark": {} @@ -155,6 +165,7 @@ def main(argv): "max": data["max"] } + new_data["binary_size"] = get_binary_sizes(build_dir) if "linux" in sys.platform: # Thread count test, only on linux new_data["thread_count"] = run_thread_count_benchmark(deno_path) diff --git a/tools/benchmark_test.py b/tools/benchmark_test.py index cdaad1e1f..42a3465b2 100644 --- a/tools/benchmark_test.py +++ b/tools/benchmark_test.py @@ -19,6 +19,14 @@ def strace_parse_test(): assert summary["total"]["calls"] == 704 +def binary_size_test(build_dir): + binary_size_dict = benchmark.get_binary_sizes(build_dir) + assert binary_size_dict["deno"] > 0 + assert binary_size_dict["main.js"] > 0 + assert binary_size_dict["main.js.map"] > 0 + assert binary_size_dict["snapshot_deno.bin"] > 0 + + def thread_count_test(deno_path): thread_count_dict = benchmark.run_thread_count_benchmark(deno_path) assert "set_timeout" in thread_count_dict @@ -31,8 +39,9 @@ def syscall_count_test(deno_path): assert syscall_count_dict["hello"] > 1 -def benchmark_test(deno_path): +def benchmark_test(build_dir, deno_path): strace_parse_test() + binary_size_test(build_dir) if "linux" in sys.platform: thread_count_test(deno_path) syscall_count_test(deno_path) diff --git a/tools/test.py b/tools/test.py index ac3a5ca95..45c9f5e2b 100755 --- a/tools/test.py +++ b/tools/test.py @@ -41,7 +41,7 @@ def main(argv): # Internal tools testing setup_test() util_test() - benchmark_test(deno_exe) + benchmark_test(build_dir, deno_exe) test_cc = os.path.join(build_dir, "test_cc" + executable_suffix) check_exists(test_cc) |