From 736b83d7ec539babd606c5cfee90848965a3cc86 Mon Sep 17 00:00:00 2001 From: brave-builds Date: Wed, 4 Sep 2019 23:33:46 +0000 Subject: [PATCH] Uplift of #3356 (squashed) to dev --- app/win/BUILD.gn | 10 +++++++++- tools/win/generate_breakpad_symbols.py | 10 +++++++++- 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/app/win/BUILD.gn b/app/win/BUILD.gn index 0ab39f2618b..24cfda8ba1a 100644 --- a/app/win/BUILD.gn +++ b/app/win/BUILD.gn @@ -8,10 +8,18 @@ action("generate_breakpad_symbols") { symbols_dir ] + # On both Windows x86 and x64 we will single thread + # symbol generation due to Python's Global Interpreter + # Lock (GIL) which causes a large slowdown if + # multi-threaded. + platform_threads = "1" + args = [ "--symbols-dir=" + rebase_path(symbols_dir), - "--jobs=16", + "--jobs=" + platform_threads, "--build-dir=" + rebase_path(root_out_dir), + "--verbose", + "--clear", rebase_path(root_out_dir) ] diff --git a/tools/win/generate_breakpad_symbols.py b/tools/win/generate_breakpad_symbols.py index 18d24918328..2249e623bf4 100644 --- a/tools/win/generate_breakpad_symbols.py +++ b/tools/win/generate_breakpad_symbols.py @@ -16,8 +16,9 @@ import sys import threading +from datetime import datetime, timedelta -CONCURRENT_TASKS=4 +CONCURRENT_TASKS=1 BRAVE_ROOT=os.path.abspath(os.path.dirname(os.path.dirname(os.path.dirname(__file__)))) @@ -59,6 +60,7 @@ def _Worker(): if options.verbose: with print_lock: print "Generating symbols for %s" % binary + thread_start = datetime.utcnow() dump_syms = os.path.join(options.build_dir, 'dump_syms.exe') syms = GetCommandOutput([dump_syms, binary]) @@ -77,6 +79,12 @@ def _Worker(): f.write(syms) f.close() + if options.verbose: + with print_lock: + thread_end = datetime.utcnow() + elapsed = thread_end - thread_start + print("Completed generating symbols for {}: elapsed time {} seconds".format(binary, elapsed.total_seconds())) + queue.task_done() for binary in binaries: