Menu

#1747 Improve performance of __write_memory

WSL
pending
None
Task
later
Feature_in_WSL_4.1
True
2013-02-20
2012-08-31
Anonymous
No

pseudo-reloc.c is responsible for The slow startup of program with its inefficient implementation of __write_memory.
current implementation of __write_memory doesn't have any states needed to decide whether current memory region requested to write already set writeable by previous __write_memory. so auto_protect_for function do the stateful decision of whether the region need update of protection itself again.
This patch previously confirmed with my cygwin build, and showed reasonable speedup of initialization of clang compiler which has 3000~ entries of pseudo-relocation.

Discussion

  • Earnie Boyd

    Earnie Boyd - 2012-08-31
    • assigned_to: nobody --> earnie
    • status: open --> open-remind
     
  • Earnie Boyd

    Earnie Boyd - 2012-08-31

    Thanks for the patch. I'll take a look at it a bit later in the year.

     
  • Anonymous

    Anonymous - 2012-10-09

    otherwise, adopting changes from mingw-w64 would be good. the project provides better solution.

     
  • Earnie Boyd

    Earnie Boyd - 2013-02-12

    Ticket moved from /p/mingw/patches/528/

     
  • Earnie Boyd

    Earnie Boyd - 2013-02-12
    • status: open-remind --> pending
    • milestone: Patch_needs_review --> WSL
    • type: --> Task
    • resolution: --> later
    • category: --> Unknown
    • patch_attached: --> True
     
  • Earnie Boyd

    Earnie Boyd - 2013-02-20
    • labels: MinGW runtime -->
    • category: Unknown --> Feature_in_WSL_4.1