• Show log

    Commit

  • Hash : 71984bff
    Author : Shahbaz Youssefi
    Date : 2021-10-05T14:59:26

    Reduce memory waste in PoolAllocator due to alignments
    
    Prior to this change, the PoolAllocator wasted memory in alignments.
    This was due to the fact that alignment was made to the wrong values,
    and they were fixed with more alignments and conservative extra space
    allocations.
    
    This change makes sure that alignment is applied once, and such that the
    actual pointer that needs to be aligned is aligned, not the header that
    might come before it, and that allocation size is calculated precisely.
    
    This improves memory allocation by reducing waste, but only affects
    the use of the pool in the translator, as Vulkan secondary command
    buffers (the other user) use an alignment of 1 and take a different
    path.
    
    Running TracePerfTest.Run/vulkan_manhattan_10 on Linux, the total
    size of allocations made by this class for the translator goes down from
    466944 bytes to 376832 bytes for a ~20% improvement.
    
    Bug: angleproject:3167
    Change-Id: Ib4e6fd23ac32c8fb21810b20cd383758b8bff47f
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3206255
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Tim Van Patten <timvp@google.com>
    

  • Properties

  • Git HTTP https://git.kmx.io/kc3-lang/angle.git
    Git SSH git@git.kmx.io:kc3-lang/angle.git
    Public access ? public
    Description

    A conformant OpenGL ES implementation for Windows, Mac, Linux, iOS and Android.

    Homepage

    Github

    Users
    kc3_lang_org www_kmx_io thodg_w thodg_l thodg thodg_m
    Tags