• Takuto Ikuta's avatar
    Do not use tool-wrapper for lld link · f7d47b7e
    Takuto Ikuta authored
    When building chrome on windows, tool-wrapper for linking is called 794 times.
    And I found that calling python wrapper is relatively slow than calling link via ninja.
    
    This CL replaces python wrapper to ninja wrapper to remove such overhead when we use lld.
    
    I compared time of wrapper invocation using following powershell script.
    
    for ($i = 0; $i -lt 100; $i++) {
        # ninja -t msvc -e environment.x64 -- C:/src/depot_tools/win_tools-2_7_6_bin/python/bin/python.exe -c ' '
        # python.exe ../../build/toolchain/win/tool_wrapper.py link-wrapper environment.x64 False C:/src/depot_tools/win_tools-2_7_6_bin/python/bin/python.exe -c ' ' # code for FlushFileBuffers is commented out.
    }
    
    * ninja wrapper, 7.451s for 100 invocation
    * python wrapper, 17.803s for 100 invocation
    Using ninja as env wrapper is more than 2 times faster.
    
    Bug: 787903
    Change-Id: I6531b59a6c43085782b0138a264ecfc9a6f65833
    Reviewed-on: https://chromium-review.googlesource.com/1107678
    Commit-Queue: Takuto Ikuta <tikuta@chromium.org>
    Reviewed-by: default avatarNico Weber <thakis@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#568836}
    f7d47b7e
BUILD.gn 16.2 KB