• Ross McIlroy's avatar
    [TurboFan] Reserve space in scheduler node data for split nodes. · bdb4a8d3
    Ross McIlroy authored
    When node splitting is enabled new nodes could be created during scheduling.
    The Scheduler::node_data_ and Schedule::nodeid_to_block_ zone vectors
    reserve enough space for the node count before splitting, however will
    have to reallocate space when node splitting occurs. The vectors double
    in space by default, meaning the peak zone usage is 3x the required amount
    for these vectors as soon as a single node is split. Avoid this in the
    common case by reserving 10% extra space for split nodes. The value
    10% was choosen since it covers 98.7% of the optimized functions in Octane.
    
    BUG=chromium:700364
    
    Change-Id: Ibabd8d04cffd1eb08cc3b8a12b76892208ef3288
    Reviewed-on: https://chromium-review.googlesource.com/458425
    Commit-Queue: Ross McIlroy <rmcilroy@chromium.org>
    Reviewed-by: 's avatarMichael Starzinger <mstarzinger@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#44153}
    bdb4a8d3
scheduler.cc 64.5 KB