
рд╡рд┐рдЬреБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ 2019 рдкреНрд░реАрд╡реНрдпреВ 3 x64 рдкрд░ C ++ рдЕрдкрд╡рд╛рдж рд╣реИрдВрдбрд▓рд┐рдВрдЧ (рдХреЛрд╢рд┐рд╢ / рдкрдХрдбрд╝ рдФрд░ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд╡рд┐рдзреНрд╡рдВрд╕рдХ) рдХреЗ рджреНрд╡рд┐рдЖрдзрд╛рд░реА рдЖрдХрд╛рд░ рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдирдИ рд╕реБрд╡рд┐рдзрд╛ рдХрд╛ рдкрд░рд┐рдЪрдп рджреЗрддрд╛ рд╣реИред рдбрдмреНрдб FH4 (__CxxFrameHandler4 рдХреЗ рд▓рд┐рдП, рдиреАрдЪреЗ рджреЗрдЦреЗрдВ), рдореИрдВрдиреЗ C ++ рдЕрдкрд╡рд╛рдж рд╣реИрдВрдбрд▓рд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЧрдП рдбреЗрдЯрд╛ рдХреЗ рд▓рд┐рдП рдирдпрд╛ рд╕реНрд╡рд░реВрдкрдг рдФрд░ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рд╡рд┐рдХрд╕рд┐рдд рдХрд┐рдпрд╛ рд╣реИ, рдЬреЛ рдореМрдЬреВрджрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреА рддреБрд▓рдирд╛ рдореЗрдВ ~ 60% рдЫреЛрдЯрд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк C ++ рдХреЗ рднрд╛рд░реА рдЙрдкрдпреЛрдЧ рд╡рд╛рд▓реЗ рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдХреЗ рд▓рд┐рдП 20% рддрдХ рд╕рдордЧреНрд░ рджреНрд╡рд┐рдЖрдзрд╛рд░реА рдХрдореА рдЖрдИ рд╣реИред рдЕрдкрд╡рд╛рдж рд╕реЗ рдирд┐рдкрдЯрдиреЗред
рдмреНрд▓реЙрдЧ рдореЗрдВ рдпрд╣ рд▓реЗрдЦред
рдореИрдВ рдЗрд╕реЗ рдХреИрд╕реЗ рдЪрд╛рд▓реВ рдХрд░реВрдВ?
FH4 рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдмрдВрдж рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рд╕реНрдЯреЛрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд░рдирдЯрд╛рдЗрдо рдкрд░рд┐рд╡рд░реНрддрди рдЗрд╕реЗ рд╡рд░реНрддрдорд╛рди рд░рд┐рд▓реАрдЬрд╝ рдореЗрдВ рдирд╣реАрдВ рдмрдирд╛ рд╕рдХрд╛ред рдЧреИрд░-рд╕реНрдЯреЛрд░ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП FH4 рдХреЛ рдЪрд╛рд▓реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, Visual Studio 2019 рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди 3 рдФрд░ рдЙрд╕рдХреЗ рдмрд╛рдж рдХреЗ MSVC рдХрдВрдкрд╛рдЗрд▓рд░ рдореЗрдВ рдЕрдирд┐рд░реНрдзрд╛рд░рд┐рдд рдзреНрд╡рдЬ "/ d2FH4" рдкрд╛рд╕ рдХрд░реЗрдВред
рд╕реНрдЯреЛрд░ рд░рдирдЯрд╛рдЗрдо рдЕрдкрдбреЗрдЯ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж рд╣рдо рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ FH4 рдХреЛ рд╕рдХреНрд╖рдо рдХрд░рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛рддреЗ рд╣реИрдВред рд╣рдо рд╡рд┐рдЬреБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ 2019 рдЕрдкрдбреЗрдЯ 1 рдореЗрдВ рдРрд╕рд╛ рдХрд░рдиреЗ рдХреА рдЙрдореНрдореАрдж рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдФрд░ рдЗрд╕ рдкреЛрд╕реНрдЯ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВрдЧреЗ рдЬрд┐рд╕реЗ рд╣рдо рдЕрдзрд┐рдХ рдЬрд╛рдирддреЗ рд╣реИрдВред
рдЙрдкрдХрд░рдг рдмрджрд▓ рдЬрд╛рддрд╛ рд╣реИ
рд╡рд┐рдЬреБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ 2019 рдкреНрд░реАрд╡реНрдпреВ 3 рдФрд░ рдЙрд╕рдХреЗ рдмрд╛рдж рдХреЗ рдХрд┐рд╕реА рднреА рдЗрдВрд╕реНрдЯреЙрд▓реЗрд╢рди рдореЗрдВ FH4 рдХреЛ рд╕рдкреЛрд░реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдВрдкрд╛рдЗрд▓рд░ рдФрд░ C ++ рд░рдирдЯрд╛рдЗрдо рдореЗрдВ рдмрджрд▓рд╛рд╡ рд╣реЛрдВрдЧреЗред рд╕рдВрдХрд▓рдХ рдкрд░рд┐рд╡рд░реНрддрди рдЖрдВрддрд░рд┐рдХ рд░реВрдк рд╕реЗ рдЙрдкрд░реЛрдХреНрдд "/ d2FH4" рдЭрдВрдбреЗ рдХреЗ рдиреАрдЪреЗ рдореМрдЬреВрдж рд╣реИрдВред C ++ рд░рдирдЯрд╛рдЗрдо рд╕реНрдкреЛрд░реНрдЯреНрд╕ vcruntime140_1.dll рдирд╛рдордХ рдПрдХ рдирдП DLL рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ VCRedist рджреНрд╡рд╛рд░рд╛ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдирдП рдЕрдкрд╡рд╛рдж рд╣реИрдВрдбрд▓рд░ __CxxFrameHandler4 рдХреЛ рдкреБрд░рд╛рдиреЗ __CxxFrameHandler3 рд░реВрдЯреАрди рдХреЛ рдмрджрд▓рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдирдП C ++ рд░рдирдЯрд╛рдЗрдо рдХреЗ рд╕реНрдЯреЗрдЯрд┐рдХ рд▓рд┐рдВрдХрд┐рдВрдЧ рдФрд░ рдРрдк-рд▓реЛрдХрд▓ рдкрд░рд┐рдирд┐рдпреЛрдЬрди, рджреЛрдиреЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдЕрдм рдордЬрд╝реЗ рдХреА рдЪреАрдЬрд╝ рдкрд░! рдЗрд╕ рдкреЛрд╕реНрдЯ рдХреЗ рдмрд╛рдХреА рд╣рд┐рд╕реНрд╕реЛрдВ рдореЗрдВ рд╡рд┐рдВрдбреЛрдЬ, рдСрдлрд┐рд╕ рдФрд░ рдПрд╕рдХреНрдпреВрдПрд▓ рдкрд░ рдПрдлрдПрдЪ 4 рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рд╕реЗ рдЖрдВрддрд░рд┐рдХ рдкрд░рд┐рдгрд╛рдо рд╢рд╛рдорд┐рд▓ рд╣реЛрдВрдЧреЗ, рдЗрд╕рдХреЗ рдмрд╛рдж рдЗрд╕ рдирдИ рддрдХрдиреАрдХ рдХреЗ рдкреАрдЫреЗ рдЕрдзрд┐рдХ рдЧрд╣рд░рд╛рдИ рд╕реЗ рддрдХрдиреАрдХреА рд╡рд┐рд╡рд░рдг рд╣реЛрдВрдЧреЗред
рдкреНрд░реЗрд░рдгрд╛ рдФрд░ рдкрд░рд┐рдгрд╛рдо
рд▓рдЧрднрдЧ рдПрдХ рд╕рд╛рд▓ рдкрд╣рд▓реЗ, C ++ / WinR T рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдкрд░ рд╣рдорд╛рд░реЗ рд╕рд╛рдереА Microsoft C ++ рдЯреАрдо рдХреЗ рд▓рд┐рдП рдПрдХ рдЪреБрдиреМрддреА рд▓реЗрдХрд░ рдЖрдП рдереЗ: рд╣рдо рдЙрди рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдХреЗ рд▓рд┐рдП рдмрд╛рдЗрдирд░реА рд╕рд╛рдЗрдЬрд╝ рд╣реИрдВрдбрд▓рд┐рдВрдЧ C ++ рдХреЗ рдЕрдкрд╡рд╛рдж рдХреЛ рдХрд┐рддрдирд╛ рдХрдо рдХрд░ рд╕рдХрддреЗ рдереЗ рдЬреЛ рдЗрд╕рдХрд╛ рднрд╛рд░реА рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рдереЗ?
C ++ / WinRT рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рдПрдХ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ, рдЙрдиреНрд╣реЛрдВрдиреЗ рд╣рдореЗрдВ рдПрдХ Windows рдШрдЯрдХ Microsoft.UI.Xaml.dll рдХреА рдУрд░ рдЗрд╢рд╛рд░рд╛ рдХрд┐рдпрд╛ рдЬрд┐рд╕реЗ C ++ рдЕрдкрд╡рд╛рдж рд╣реИрдВрдбрд▓рд┐рдВрдЧ рдХреЗ рдХрд╛рд░рдг рдПрдХ рдмрдбрд╝реЗ рдмрд╛рдЗрдирд░реА рдлрд╝реБрдЯрдкреНрд░рд┐рдВрдЯ рдХреЗ рд▓рд┐рдП рдЬрд╛рдирд╛ рдЬрд╛рддрд╛ рдерд╛ред рдореИрдВрдиреЗ рдкреБрд╖реНрдЯрд┐ рдХреА рдХрд┐ рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдорд╛рдорд▓рд╛ рдерд╛ рдФрд░ рдиреАрдЪреЗ рджрд┐рдЦрд╛рдП рдЧрдП рдореМрдЬреВрджрд╛ __CxxFrameHandler3 рдХреЗ рд╕рд╛рде рджреНрд╡рд┐рдЖрдзрд╛рд░реА рдЖрдХрд╛рд░ рдХреЗ рдЯреВрдЯрдиреЗ рдХреЛ рдЙрддреНрдкрдиреНрди рдХрд░рддрд╛ рд╣реИред рдЪрд╛рд░реНрдЯ рдХреЗ рджрд╛рд╣рд┐рдиреЗ рд╣рд┐рд╕реНрд╕реЗ рдореЗрдВ рдкреНрд░рддрд┐рд╢рдд рдХреБрд▓ рдмрд╛рдЗрдирд░реА рдЖрдХрд╛рд░ рдХрд╛ рдкреНрд░рддрд┐рд╢рдд рд╣реИ рдЬреЛ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдореЗрдЯрд╛рдбреЗрдЯрд╛ рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдФрд░ рдЙрд▓реНрд▓рд┐рдЦрд┐рдд рдХреЛрдб рджреНрд╡рд╛рд░рд╛ рдХрдмреНрдЬрд╛ рдХрд░ рд▓рд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

рдореИрдВ рдЗрд╕ рдкреЛрд╕реНрдЯ рдореЗрдВ рдЪрд░реНрдЪрд╛ рдирд╣реАрдВ рдХрд░реВрдВрдЧрд╛ рдХрд┐ рдЪрд╛рд░реНрдЯ рдХреЗ рджрд╛рдИрдВ рдУрд░ рдХреА рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕рдВрд░рдЪрдирд╛рдПрдВ рдХреНрдпрд╛ рдХрд░рддреА рд╣реИрдВ (рджреЗрдЦреЗрдВ рдЬреЗрдореНрд╕ рдореИрдХрдиреЗрд▓рд┐рд╕ рдХреА рдЪрд░реНрдЪрд╛ рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдП рд╡рд┐рдВрдбреЛрдЬ рдкрд░ рд╕реНрдЯреИрдХ рдЕрдирдЗрдВрдбрд┐рдВрдЧ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддреА рд╣реИ )ред рд╣рд╛рд▓рд╛рдВрдХрд┐ рдХреБрд▓ рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдФрд░ рдХреЛрдб рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП, рдмрд╛рдЗрдирд░реА рдЖрдХрд╛рд░ рдХрд╛ 26.4% рд╕реА ++ рдЕрдкрд╡рд╛рдж рд╣реИрдВрдбрд▓рд┐рдВрдЧ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдпрд╣ рдПрдХ рд╡рд┐рд╢рд╛рд▓ рд╕реНрдерд╛рди рд╣реИ рдФрд░ C ++ / WinRT рдХреЛ рдЕрдкрдирд╛рдиреЗ рдореЗрдВ рдмрд╛рдзрд╛ рдЙрддреНрдкрдиреНрди рдХрд░ рд░рд╣рд╛ рдерд╛ред
рд╣рдордиреЗ рд░рдирдЯрд╛рдЗрдо рдХреЛ рдмрджрд▓реЗ рдмрд┐рдирд╛ рдХрдВрдкрд╛рдЗрд▓рд░ рдореЗрдВ C ++ рдЕрдкрд╡рд╛рдж рд╣реИрдВрдбрд▓рд┐рдВрдЧ рдХреЗ рдЖрдХрд╛рд░ рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрддреАрдд рдореЗрдВ рдмрджрд▓рд╛рд╡ рдХрд┐рдП рд╣реИрдВред рдЗрд╕рдореЗрдВ рдХреЛрдб рдХреЗ рдХреНрд╖реЗрддреНрд░реЛрдВ рдХреЗ рд▓рд┐рдП рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдХреЛ рдЫреЛрдбрд╝рдирд╛ рд╢рд╛рдорд┐рд▓ рд╣реИ рдЬреЛ рддрд╛рд░реНрдХрд┐рдХ рд░реВрдк рд╕реЗ рд╕рдорд╛рди рд░рд╛рдЬреНрдпреЛрдВ рдХреЛ рдлреЗрдВрдХ рдФрд░ рдореЛрдбрд╝ рдирд╣реАрдВ рд╕рдХрддреЗ рд╣реИрдВред рд╣рд╛рд▓рд╛рдВрдХрд┐, рд╣рдо рдХреЗрд╡рд▓ рд╕рдВрдХрд▓рдХ рдореЗрдВ рдЬреЛ рдХрд░ рд╕рдХрддреЗ рдереЗ, рдЙрд╕рдХреЗ рдЕрдВрдд рддрдХ рдкрд╣реБрдВрдЪ рд░рд╣реЗ рдереЗ рдФрд░ рдЗрд╕ рдмрдбрд╝реЗ рд╣рд┐рд╕реНрд╕реЗ рдореЗрдВ рдХреБрдЫ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╕реЗрдВрдз рд▓рдЧрд╛рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдирд╣реАрдВ рдереЗред рд╡рд┐рд╢реНрд▓реЗрд╖рдг рд╕реЗ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рдбреЗрдЯрд╛, рдХреЛрдб, рдФрд░ рд░рдирдЯрд╛рдЗрдо рдореЗрдВ рдореВрд▓рднреВрдд рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЗ рд▓рд┐рдП рдорд╣рддреНрд╡рдкреВрд░реНрдг рдЬреАрддреЗрдВ рдереАрдВред рдЗрд╕рд▓рд┐рдП рд╣рдордиреЗ рдЖрдЧреЗ рдмрдврд╝рдХрд░ рдЙрдиреНрд╣реЗрдВ рдХрд┐рдпрд╛ред
рдирдП __CxxFrameHandler4 рдФрд░ рдЙрд╕рдХреЗ рд╕рд╛рде рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде, Microsoft.UI.XAML.dll рдХреЗ рд▓рд┐рдП рдЖрдХрд╛рд░ рдХрд╛ рдЯреВрдЯрдирд╛ рдЕрдм рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╣реИ:

рд╕реА + + рдЕрдкрд╡рд╛рдж рд╣реИрдВрдбрд▓рд┐рдВрдЧ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдмрд╛рдЗрдирд░реА рдЖрдХрд╛рд░ 64% рддрдХ рдЧрд┐рд░рддрд╛ рд╣реИ рдЬрд┐рд╕рд╕реЗ рдЗрд╕ рдмрд╛рдЗрдирд░реА рдкрд░ 18.6% рдХреА рдХреБрд▓ рджреНрд╡рд┐рдЖрдзрд╛рд░реА рдЖрдХрд╛рд░ рдХреА рдХрдореА рд╣реЛрддреА рд╣реИред рд╣рд░ рдкреНрд░рдХрд╛рд░ рдХреА рд╕рдВрд░рдЪрдирд╛ рдХрдВрдкрд┐рдд рдбрд┐рдЧреНрд░реА рджреНрд╡рд╛рд░рд╛ рдЖрдХрд╛рд░ рдореЗрдВ рд╕рд┐рдХреБрдбрд╝ рдЧрдИ:
рдПрд╣ рдбрд╛рдЯрд╛ | __CxxFrameHandler3 рдЖрдХрд╛рд░ (рдмрд╛рдЗрдЯреНрд╕) | __CxxFrameHandler4 рдЖрдХрд╛рд░ (рдмрд╛рдЗрдЯреНрд╕) | % рдЖрдХрд╛рд░ рдореЗрдВ рдХрдореА |
рдкреАрдбрд╛ рдкреНрд░рд╡рд┐рд╖реНрдЯреЗ | 147.864 | 118.260 | 20.0% |
рдХреЛрдб рдХрд╛ рдЙрд▓рдЯрд╛ рдХрд░реЗрдВ | 224.284 | 92.810 | 58.6% |
рдлрдВрдХреНрд╢рди рдЗрдиреНрдлреЛрд╕ | 255.440 | 27.755 | 89.1% |
IP2State рдореИрдкреНрд╕ | 186.944 | 45.098 | 75.9% |
рдирдХреНрд╢реЗ рдХреЛ рдЕрдирд╡рд┐рдВрдб рдХрд░реЗрдВ | 80.952 | 69.757 | 13.8% |
рд╣реИрдВрдбрд▓рд░ рдирдХреНрд╢реЗ рдкрдХрдбрд╝реЛ | 52.060 | 6.147 | 88.2% |
рдирдХреНрд╢реЗ рдЖрдЬрд╝рдорд╛рдПрдВ | 51.960 | 5196 | 90.0% |
рдбреЛрд░рд░ рдлрдВрдЯреЗ | 54.570 | 45.739 | 16.2% |
рдкрдХрдбрд╝ рд▓реЛ рдорд╕реНрддреА | 102,400 | 4301 | 95.8% |
рд╕рдВрдкреВрд░реНрдг | 1,156,474 | 415.063 | 64.1% |
рд╕рдВрдпреБрдХреНрдд, __CxxFrameHandler4 рдкрд░ рд╕реНрд╡рд┐рдЪрд┐рдВрдЧ рдиреЗ Microsoft.UI.Xaml.dll рдХрд╛ рд╕рдордЧреНрд░ рдЖрдХрд╛рд░ 4.4 рдПрдордмреА рд╕реЗ 3.6 рдПрдордмреА рдиреАрдЪреЗ рдЧрд┐рд░рд╛ рджрд┐рдпрд╛ред
Office рдмрд╛рдпрдиреЗрд░рд┐рдЬрд╝ рдХреЗ рдкреНрд░рддрд┐рдирд┐рдзрд┐ рд╕реЗрдЯ рдкрд░ FH4 рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рд╕реЗ DLL рдореЗрдВ ~ 10% рдЖрдХрд╛рд░ рдореЗрдВ рдХрдореА рджрд┐рдЦрд╛рдИ рджреЗрддреА рд╣реИ рдЬреЛ рдЕрдкрд╡рд╛рджреЛрдВ рдХрд╛ рднрд╛рд░реА рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рд╡рд░реНрдб рдФрд░ рдПрдХреНрд╕реЗрд▓ рдореЗрдВ, рдЬреЛ рдЕрдкрд╡рд╛рдж рдЙрдкрдпреЛрдЧ рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдП рдЧрдП рд╣реИрдВ, рдЕрднреА рднреА рджреНрд╡рд┐рдЖрдзрд╛рд░реА рдЖрдХрд╛рд░ рдореЗрдВ рдПрдХ рд╕рд╛рд░реНрдердХ рдХрдореА рд╣реИред
рдмрд╛рдЗрдирд░реА | рдкреБрд░рд╛рдирд╛ рдЖрдХрд╛рд░ (MB) | рдирдпрд╛ рдЖрдХрд╛рд░ (MB) | % рдЖрдХрд╛рд░ рдореЗрдВ рдХрдореА | рд╡рд┐рд╡рд░рдг |
chart.dll | 17.27 | 15.10 | 12.6% | рдЪрд╛рд░реНрдЯ рдФрд░ рдЧреНрд░рд╛рдлрд╝ рдХреЗ рд╕рд╛рде рдмрд╛рддрдЪреАрдд рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди |
Csi.dll | 9.78 | 8.66 | 11.4% | рдХреНрд▓рд╛рдЙрдб рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди |
Mso20Win32Client.dll | 6.07 | 5.41 | 11.0% | рд╕рд╛рдорд╛рдиреНрдп рдХреЛрдб рдЬреЛ рд╕рднреА рдХрд╛рд░реНрдпрд╛рд▓рдп рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рдмреАрдЪ рд╕рд╛рдЭрд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ |
Mso30Win32Client.dll | 8.11 | 7.30 | 9.9% | рд╕рд╛рдорд╛рдиреНрдп рдХреЛрдб рдЬреЛ рд╕рднреА рдХрд╛рд░реНрдпрд╛рд▓рдп рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рдмреАрдЪ рд╕рд╛рдЭрд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ |
oart.dll | 18.21 | 16.20 | 11.0% | рдЧреНрд░рд╛рдлрд┐рдХреНрд╕ рд╕реБрд╡рд┐рдзрд╛рдПрдБ рдЬреЛ рдХрд╛рд░реНрдпрд╛рд▓рдп рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рдмреАрдЪ рд╕рд╛рдЭрд╛ рдХреА рдЬрд╛рддреА рд╣реИрдВ |
wwlib.dll | 42.15 | 41.12 | 2.5% | Microsoft Word рдХрд╛ рдореБрдЦреНрдп рдмрд╛рдЗрдирд░реА |
excel.exe | 52.86 | 50.29 | 4.9% | Microsoft Excel рдХрд╛ рдореБрдЦреНрдп рдмрд╛рдЗрдирд░реА |
рдореБрдЦреНрдп SQL рдмрд╛рдпрдиреЗрд░реА рдкрд░ FH4 рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рд╕реЗ рдЖрдХрд╛рд░ рдореЗрдВ 4-21% рдХреА рдХрдореА рджрд┐рдЦрд╛рдИ рджреЗрддреА рд╣реИ, рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рдЕрдЧрд▓реЗ рднрд╛рдЧ рдореЗрдВ рд╡рд░реНрдгрд┐рдд рдореЗрдЯрд╛рдбреЗрдЯрд╛ рд╕рдВрдкреАрдбрд╝рди рд╕реЗ:
рдмрд╛рдЗрдирд░реА | рдкреБрд░рд╛рдирд╛ рдЖрдХрд╛рд░ (MB) | рдирдпрд╛ рдЖрдХрд╛рд░ (MB) | % рдЖрдХрд╛рд░ рдореЗрдВ рдХрдореА | рд╡рд┐рд╡рд░рдг |
sqllang.dll | 47.12 | 44.33 | 5.9% | рд╢реАрд░реНрд╖ рд╕реНрддрд░ рдХреА рд╕реЗрд╡рд╛рдПрдВ: рднрд╛рд╖рд╛ рдкрд╛рд░реНрд╕рд░, рдмрд╛рдВрдзрдиреЗ рдХреА рдорд╢реАрди, рдЕрдиреБрдХреВрд▓рдХ, рдФрд░ рдирд┐рд╖реНрдкрд╛рджрди рдЗрдВрдЬрди |
sqlmin.dll | 48.17 | 45.83 | 4.8% | рдирд┐рдореНрди-рд╕реНрддрд░реАрдп рд╕реЗрд╡рд╛рдПрдВ: рд▓реЗрдирджреЗрди рдФрд░ рднрдВрдбрд╛рд░рдг рдЗрдВрдЬрди |
qds.dll | 1.42 | 1.33 | 6.3% | рдХреНрд╡реЗрд░реА рд╕реНрдЯреЛрд░ рдХреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ |
SqlDK.dll | 3.19 | 3.05 | 4.4% | рдПрд╕рдХреНрдпреВрдПрд▓ рдУрдПрд╕ рдЕрдореВрд░реНрдд: рдореЗрдореЛрд░реА, рдереНрд░реЗрдбреНрд╕, рд╢реЗрдбреНрдпреВрд▓рд┐рдВрдЧ, рдЖрджрд┐ред |
autoadmin.dll | 1.77 | 1.64 | 7.3% | рдбреЗрдЯрд╛рдмреЗрд╕ рдЯреНрдпреВрдирд┐рдВрдЧ рд╕рд▓рд╛рд╣рдХрд╛рд░ рддрд░реНрдХ |
xedetours.dll | 0.45 | 0.36 | 21.6% | рдкреНрд░рд╢реНрдиреЛрдВ рдХреЗ рд▓рд┐рдП рдЙрдбрд╝рд╛рди рдбреЗрдЯрд╛ рд░рд┐рдХреЙрд░реНрдбрд░ |
рддрдХрдиреАрдХ
рдЬрдм Microsoft +UI.Xaml.dll рдореЗрдВ рдбреЗрдЯрд╛ рдХреЛ рд╕рдВрднрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП C ++ рдЕрдкрд╡рд╛рдж рд╕реЗ рдирд┐рдкрдЯрдиреЗ рдХреЗ рдХрд╛рд░рдг рдХреНрдпрд╛ рд╣реБрдЖ, рдЗрд╕рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рддреЗ рд╣реБрдП рдореИрдВрдиреЗ рджреЛ рдкреНрд░рд╛рдердорд┐рдХ рдЧреБрдг рдкрд╛рдП:
- рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛рдПрдВ рд╕реНрд╡рдпрдВ рдмрдбрд╝реА рд╣реИрдВ: рдореЗрдЯрд╛рдбреЗрдЯрд╛ рддрд╛рд▓рд┐рдХрд╛рдПрдБ рдкреНрд░рддреНрдпреЗрдХ рдЪрд╛рд░ рдмрд╛рдЗрдЯреНрд╕ рд▓рдВрдмреА рдЫрд╡рд┐-рд╕рд╛рдкреЗрдХреНрд╖ рдСрдлрд╝рд╕реЗрдЯреНрд╕ рдФрд░ рдкреВрд░реНрдгрд╛рдВрдХреЛрдВ рдХреЗ рдХреНрд╖реЗрддреНрд░реЛрдВ рдХреЗ рд╕рд╛рде рдирд┐рд╢реНрдЪрд┐рдд рдЖрдХрд╛рд░ рдХреА рдереАрдВред рдПрдХрд▓ рдкреНрд░рдпрд╛рд╕ / рдХреИрдЪ рдФрд░ рдПрдХ рдпрд╛ рджреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд╡рд┐рдзреНрд╡рдВрд╕рдХ рдХреЗ рд╕рд╛рде рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдХреЗ 100 рд╕реЗ рдЕрдзрд┐рдХ рдмрд╛рдЗрдЯреНрд╕ рдереЗред
- рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛ рдФрд░ рдЙрддреНрдкрдиреНрди рдХреЛрдб рд╡рд┐рд▓рдп рдХреЗ рд▓рд┐рдП рдЙрддреНрддрд░рджрд╛рдпреА рдирд╣реАрдВ рдереЗред рдореЗрдЯрд╛рдбреЗрдЯрд╛ рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдореЗрдВ рдЗрдореЗрдЬ-рд░рд┐рд▓реЗрдЯреЗрдб рдСрдлрд╝рд╕реЗрдЯреНрд╕ рд╣реЛрддреЗ рд╣реИрдВ рдЬреЛ COMDAT рдлреЛрд▓реНрдбрд┐рдВрдЧ рдХреЛ рд░реЛрдХрддреЗ рд╣реИрдВ (рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЬрд╣рд╛рдВ рд▓рд┐рдВрдХрд░ рд╕реНрдкреЗрд╕ рдХреЛ рдмрдЪрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛ рдХреЗ рд╕рдорд╛рди рдЯреБрдХрдбрд╝реЛрдВ рдХреЛ рдПрдХ рд╕рд╛рде рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ) рдЬрдм рддрдХ рдХрд┐ рд╡реЗ рдЬреЛ рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рддреЗ рд╣реИрдВ рд╡реЗ рд╕рдорд╛рди рдирд╣реАрдВ рдереЗред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдХреИрдЪ рдлрдВрдЯреНрдЯреНрд╕ (рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЗ рдХреИрдЪ рдмреНрд▓реЙрдХреНрд╕ рд╕реЗ рдЙрд▓реНрд▓рд┐рдЦрд┐рдд рдХреЛрдб) рдХреЛ рддрдм рднреА рдлреЛрд▓реНрдб рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдпрджрд┐ рд╡реЗ рдХреЛрдб-рд╕рдорд╛рди рдереЗ, рдХреНрдпреЛрдВрдХрд┐ рдЙрдирдХрд╛ рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдЙрдирдХреЗ рдорд╛рддрд╛-рдкрд┐рддрд╛ рдореЗрдВ рд╕рдорд╛рд╣рд┐рдд рд╣реИред
рдЗрди рдореБрджреНрджреЛрдВ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, FH4 рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдФрд░ рдХреЛрдб рдХреЛ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдкреБрдирд░реНрдЧрдарди рдХрд░рддрд╛ рд╣реИ:
- рдкрд┐рдЫрд▓реЗ рдирд┐рд╢реНрдЪрд┐рдд рдЖрдХрд╛рд░ рдХреЗ рдорд╛рдиреЛрдВ рдХреЛ рдПрдХ рдЪрд░-рд▓рдВрдмрд╛рдИ рдкреВрд░реНрдгрд╛рдВрдХ рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рдВрдХреБрдЪрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдЬреЛ рдбреНрд░реЙрдкрдбрд╛рдЙрди рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдлрд╝реАрд▓реНрдб рдХреЗ рдЪрд╛рд░ рдмрд╛рдЗрдЯреНрд╕ рд╕реЗ 90% рддрдХ рдиреАрдЪреЗ рдЬрд╛рддрд╛ рд╣реИред рдореЗрдЯрд╛рдбреЗрдЯрд╛ рддрд╛рд▓рд┐рдХрд╛рдПрдБ рдЕрдм рдпрд╣ рдмрддрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдХреНрдпрд╛ рдХреБрдЫ рдлрд╝реАрд▓реНрдб рдЦрд╛рд▓реА рдлрд╝реАрд▓реНрдбреЛрдВ рдХреЛ рд╕рд╣реЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдореМрдЬреВрдж рд╣реИрдВ, рдПрдХ рд╣реЗрдбрд░ рдХреЗ рд╕рд╛рде рдкрд░рд┐рд╡рд░реНрддрдиреАрдп рд▓рдВрдмрд╛рдИ рднреА рд╣реИред
- рд╕рднреА рдЫрд╡рд┐-рд╕рд╛рдкреЗрдХреНрд╖ рдСрдлрд╝рд╕реЗрдЯ рдЬреЛ рдлрд╝рдВрдХреНрд╢рди-рд╕рд╛рдкреЗрдХреНрд╖ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ, рдЙрдиреНрд╣реЗрдВ рдлрд╝рдВрдХреНрд╢рди-рд╕рд╛рдкреЗрдХреНрд╖ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред рдпрд╣ COMDAT рдХреЛ рд╕рдорд╛рди рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЗ рд╕рд╛рде рд╡рд┐рднрд┐рдиреНрди рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдХреЗ рдмреАрдЪ рддрд╣ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ (рдЯреЗрдореНрдкрд▓реЗрдЯ рддрд╛рддреНрдХрд╛рд▓рд┐рдХрддрд╛рдПрдВ рд╕реЛрдЪреЛ) рдФрд░ рдЗрди рдореВрд▓реНрдпреЛрдВ рдХреЛ рд╕рдВрдХреБрдЪрд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдХреИрдЪ рдХреЗ рдлрдиреНрдиреЗрдЯреНрд╕ рдХреЛ рдЙрдирдХреЗ рдорд╛рддрд╛-рдкрд┐рддрд╛ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдХреЗ рд▓рд┐рдП рдЕрдм рдлрд┐рд░ рд╕реЗ рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рддрд╛рдХрд┐ рдХрд┐рд╕реА рднреА рдХреЛрдб-рд╕рдорд╛рди рдХреИрдЪ рдХреЗ рдлрд╝рдирдЯреНрд╕ рдХреЛ рдЕрдм рдмрд╛рдЗрдирд░реА рдореЗрдВ рдПрдХрд▓ рдХреЙрдкреА рдореЗрдВ рдмрджрд▓ рджрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗред
рдЗрд╕реЗ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдЗрдП __CxxFrameHandler3 рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдлрд╝рдВрдХреНрд╢рди рдЬрд╛рдирдХрд╛рд░реА рдореЗрдЯрд╛рдбреЗрдЯрд╛ рддрд╛рд▓рд┐рдХрд╛ рдХреА рдореВрд▓ рдкрд░рд┐рднрд╛рд╖рд╛ рджреЗрдЦреЗрдВред рдпрд╣ рд░рдирдЯрд╛рдЗрдо рдХреЗ рд▓рд┐рдП рдкреНрд░рд╛рд░рдВрднрд┐рдХ рддрд╛рд▓рд┐рдХрд╛ рд╣реИ рдЬрдм рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдИрдПрдЪ рдФрд░ рдЕрдиреНрдп рдореЗрдЯрд╛рдбреЗрдЯрд╛ рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдХреЛрдб рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд░реВрдк рд╕реЗ рдХрд┐рд╕реА рднреА рд╡реАрдПрд╕ рдЗрдВрд╕реНрдЯреЙрд▓реЗрд╢рди рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╣реИ, <VS рдЗрдВрд╕реНрдЯреЙрд▓ рдкрде> \ VC \ Tools \ MSVC \ <рд╡рд░реНрдЬрди> \ _ \ ehdata.h рджреЗрдЦреЗрдВ:
typedef const struct _s_FuncInfo { unsigned int magicNumber:29;
рдпрд╣ рд╕рдВрд░рдЪрдирд╛ рдкреНрд░рддреНрдпреЗрдХ 4 рдмрд╛рдЗрдЯреНрд╕ рд╡рд╛рд▓реЗ 10 рдлрд╝реАрд▓реНрдб рд╡рд╛рд▓реЗ рдирд┐рд╢реНрдЪрд┐рдд рдЖрдХрд╛рд░ рдХреА рд╣реИред рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рд╣реИ рдХрд┐ рд╣рд░ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдХреЗ 40 рдмрд╛рдЗрдЯреНрд╕ рдХреЛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ C ++ рдЕрдкрд╡рд╛рдж рд╣реИрдВрдбрд▓рд┐рдВрдЧ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред
рдЕрдм рдирдИ рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛ рдореЗрдВ (<VS рдЗрдВрд╕реНрдЯреЙрд▓ рдкрде> \ VC \ Tools \ MSVC \ <рд╕рдВрд╕реНрдХрд░рдг> \ рд╢рд╛рдорд┐рд▓ \ ehdata4_export.h):
struct FuncInfoHeader { union { struct { uint8_t isCatch : 1;
рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐:
- рдореИрдЬрд┐рдХ рдирдВрдмрд░ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд╣рд░ рдмрд╛рд░ 0x19930522 рдХрд╛ рдЙрддреНрд╕рд░реНрдЬрди рдПрдХ рд╕рдорд╕реНрдпрд╛ рдмрди рдЬрд╛рддрд╛ рд╣реИ рдЬрдм рдПрдХ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдореЗрдВ рдЗрди рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпреЛрдВ рдореЗрдВ рд╕реЗ рд╣рдЬрд╛рд░реЛрдВ рд╣реЛрддреЗ рд╣реИрдВред
- EHFlags рдХреЛ рд╣реЗрдбрд░ рдореЗрдВ рд▓реЗ рдЬрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ рдЬрдмрдХрд┐ C ++ 17 рдореЗрдВ рдбрд╛рдпрдиреЗрдорд┐рдХ рдЕрдкрд╡рд╛рдж рд╡рд┐рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЗ рдЧрд┐рд░рд╛рдП рдЧрдП рд╕рдорд░реНрдерди рдХреЗ рдХрд╛рд░рдг рдбрд┐рд╕реНрдкреИрд╕реНрдЯ рд▓рд┐рд╕реНрдЯ рдХреЛ рдЪрд░рдгрдмрджреНрдз рд░реВрдк рд╕реЗ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдХрдВрдкрд╛рдЗрд▓рд░ рдкреБрд░рд╛рдиреЗ __CxxFrameHandler3 рдХреЛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдХрд░реЗрдЧрд╛ рдпрджрд┐ рдбрд╛рдпрдиреЗрдорд┐рдХ рдЕрдкрд╡рд╛рдж рд╡рд┐рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
- рдЕрдиреНрдп рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХреА рд▓рдВрдмрд╛рдИ рдЕрдм "рдлрд╝рдВрдХреНрд╢рди рдЬрд╛рдирдХрд╛рд░реА 4" рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдирд╣реАрдВ рдХреА рдЬрд╛рддреА рд╣реИред рдпрд╣ COMDAT рдлреЛрд▓реНрдбрд┐рдВрдЧ рдХреЛ рдкреЙрдЗрдВрдЯ-рдЯреЗрдмрд▓ рдХреЗ рдЕрдзрд┐рдХ рдореЛрдбрд╝рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рднрд▓реЗ рд╣реА "рдлрдВрдХреНрд╢рди рдЗрдиреНрдлреЛ 4" рдЯреЗрдмрд▓ рдХреЛ рд╣реА рдлреЛрд▓реНрдб рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗред
- (рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдирд╣реАрдВ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ) dispFrame рдФрд░ bbtFlags рдлрд╝реАрд▓реНрдб рдЕрдм рдЪрд░-рд▓рдВрдмрд╛рдИ рдкреВрд░реНрдгрд╛рдВрдХ рд╣реИрдВред рдЙрдЪреНрдЪ-рд╕реНрддрд░реАрдп рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдЗрд╕реЗ рдЖрд╕рд╛рди рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд▓рд┐рдП uint32_t рдХреЗ рд░реВрдк рдореЗрдВ рдЫреЛрдбрд╝ рджреЗрддрд╛ рд╣реИред
- bbtFlags, dispUnwindMap, dispTryBlockMap, рдФрд░ dispFrame рдХреЛ рд╣реЗрдбрд░ рдореЗрдВ рд╕реЗрдЯ рдХрд┐рдП рдЧрдП рдлрд╝реАрд▓реНрдб рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЫреЛрдбрд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдЗрд╕ рд╕рдм рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрддреЗ рд╣реБрдП, рдирдИ "рдлрдВрдХреНрд╢рди рдЗрдиреНрдлреЛ 4" рд╕рдВрд░рдЪрдирд╛ рдХрд╛ рдФрд╕рдд рдЖрдХрд╛рд░ рдЕрдм 13 рдмрд╛рдЗрдЯреНрд╕ (1 рдмрд╛рдЗрдЯ рд╣реИрдбрд░ + рддреАрди 4 рдмрд╛рдЗрдЯ рдЗрдореЗрдЬ рдЕрдиреНрдп рдХрд╛рд░реНрдпрд╛рд▓рдпреЛрдВ рдХреЗ рд╕рд╛рдкреЗрдХреНрд╖ рдмрд╛рдЗрдЯреНрд╕) рд╣реИ рдЬреЛ рдХреБрдЫ рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрдиреЗ рдкрд░ рднреА рдЖрдЧреЗ рдмрдврд╝ рд╕рдХрддрд╛ рд╣реИред рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХреА рд▓рдВрдмрд╛рдИ рдХреЛ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдпреЗ рдорд╛рди рдЕрдм рд╕рдВрдкреАрдбрд╝рд┐рдд рд╣реИрдВ рдФрд░ рдЙрдирдореЗрдВ рд╕реЗ 90% Microsoft.UI.Xaml.dll рдореЗрдВ рдПрдХ рд╣реА рдмрд╛рдЗрдЯ рдХреЗ рднреАрддрд░ рдлрд┐рдЯ рдкрд╛рдП рдЧрдПред рд╕рднреА рдХреЛ рдПрдХ рд╕рд╛рде рд░рдЦрддреЗ рд╣реБрдП, рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдирдП рд╣реИрдВрдбрд▓рд░ рдореЗрдВ рд╕рдорд╛рди рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдбреЗрдЯрд╛ рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдФрд╕рдд рдЖрдХрд╛рд░ рдкрд┐рдЫрд▓реЗ 40 рдмрд╛рдЗрдЯреНрд╕ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ 16 рдмрд╛рдЗрдЯреНрд╕ рд╣реИ - рдХрд╛рдлреА рдирд╛рдЯрдХреАрдп рд╕реБрдзрд╛рд░!
рддрд╣ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдЗрдП рдкреБрд░рд╛рдиреЗ рдФрд░ рдирдП рд╣реИрдВрдбрд▓рд░ рдХреЗ рд╕рд╛рде рдЕрджреНрд╡рд┐рддреАрдп рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдФрд░ рдлрдиреНрдиреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рджреЗрдЦреЗрдВ:
рдПрд╣ рдбрд╛рдЯрд╛ | __CxxFrameHandler3 рдореЗрдВ рдЧрдгрдирд╛ рдХрд░реЗрдВ | __CxxFrameHandler4 рдореЗрдВ рдЧрдгрдирд╛ рдХрд░реЗрдВ | % рдХрдореА |
рдкреАрдбрд╛ рдкреНрд░рд╡рд┐рд╖реНрдЯреЗ | 12.322 | 9.855 | 20.0% |
рдлрдВрдХреНрд╢рди рдЗрдиреНрдлреЛрд╕ | 6386 | 2747 | 57.0% |
IP2State рдорд╛рдирдЪрд┐рддреНрд░ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпрд╛рдБ | 6.363 | 2,148 | 66.2% |
рдорд╛рдирдЪрд┐рддреНрд░ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпреЛрдВ рдХреЛ рдЕрдирд╡рд┐рдВрдб рдХрд░реЗрдВ | 1,487 | 1,464 | 1.5% |
рд╣реИрдВрдбрд▓рд░ рдирдХреНрд╢реЗ рдкрдХрдбрд╝реЛ | 2,603 | 601 | 76.9% |
рдирдХреНрд╢реЗ рдЖрдЬрд╝рдорд╛рдПрдВ | 2,598 | 648 | 75.1% |
рдбреЛрд░рд░ рдлрдВрдЯреЗ | 2,301 | 1,527 | 33.6% |
рдкрдХрдбрд╝ рд▓реЛ рдорд╕реНрддреА | 2,603 | 84 | 96.8% |
рд╕рдВрдкреВрд░реНрдг | 36.663 | 19.074 | 48.0% |
RVA рдХреЛ рд╣рдЯрд╛рдХрд░ рдЕрддрд┐рд░рд┐рдХреНрдд рддрд╣ рдХреЗ рдЕрд╡рд╕рд░ рдкреИрджрд╛ рдХрд░рдиреЗ рдФрд░ рдкрдХрдбрд╝рдиреЗ рд╡рд╛рд▓реЗ рдлрдиреНрдиреЛрдВ рдХреЛ рдлрд┐рд░ рд╕реЗ рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд░рдиреЗ рд╕реЗ рдЕрджреНрд╡рд┐рддреАрдп EH рдбреЗрдЯрд╛ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ 48% рддрдХ рдЧрд┐рд░ рдЬрд╛рддреА рд╣реИред рдореИрдВ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рд╣рд░реЗ рд░рдВрдЧ рдореЗрдВ рдЗрдЯреИрд▓рд┐рдХрд╛рдЗрдЬрд╝реНрдб рдХреИрдЪ рдлрдВрдХрдЯреНрд╕ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рдХреЙрд▓ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ: рдпрд╣ 2.603 рд╕реЗ рдШрдЯрдХрд░ рдХреЗрд╡рд▓ 84 рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ C ++ / WinRT рдХрд╛ рдкрд░рд┐рдгрд╛рдо рд╣реИ HRESULTs рдХреЛ C ++ рдЕрдкрд╡рд╛рджреЛрдВ рдореЗрдВ рддрдмреНрджреАрд▓ рдХрд░рдирд╛, рдЬреЛ рдХреЛрдб-рд╕рдорд╛рди рдХреИрдЪ рдлрд╝рдВрдХреНрд╢рдВрд╕ рдХреЗ рдмрд╣реБрдд рд╕рд╛рд░реЗ рд╣реИрдВ рдЬреЛ рдЕрдм рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ рдмрдВрдж рд╣реЛ рдЧрдИред рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЗрд╕ рдкрд░рд┐рдорд╛рдг рдХреА рдПрдХ рдмреВрдВрдж рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЗ рдЙрдЪреНрдЪ-рдЕрдВрдд рдкрд░ рд╣реИ, рд▓реЗрдХрд┐рди рдлрд┐рд░ рднреА рдпрд╣ рджрд░реНрд╢рд╛рддрд╛ рд╣реИ рдХрд┐ рд╕рдВрднрд╛рд╡рд┐рдд рдЖрдХрд╛рд░ рдХреА рдмрдЪрдд рддрд╣ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреА рд╣реИ рдЬрдм рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛рдУрдВ рдХреЛ рдЗрд╕рдХреЗ рд╕рд╛рде рдбрд┐рдЬрд╛рдЗрди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдкреНрд░рджрд░реНрд╢рди
рдбрд┐рдЬрд╛рдЗрди рдХреЛ рдХрдореНрдкреНрд░реЗрд╢рди рд╢реБрд░реВ рдХрд░рдиреЗ рдФрд░ рд░рдирдЯрд╛рдЗрдо рдирд┐рд╖реНрдкрд╛рджрди рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд╕рд╛рде рдЕрдкрд╡рд╛рдж рд╕рдВрдЪрд╛рд▓рди рдкреНрд░рджрд░реНрд╢рди рдХреЗ рдкреНрд░рднрд╛рд╡рд┐рдд рд╣реЛрдиреЗ рдХреА рдЪрд┐рдВрддрд╛ рдереАред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдкреНрд░рднрд╛рд╡ рдПрдХ рд╕рдХрд╛рд░рд╛рддреНрдордХ рд╣реИ: рдЕрдкрд╡рд╛рдж рд╣реИрдВрдбрд▓рд┐рдВрдЧ рдкреНрд░рджрд░реНрд╢рди __CxxFrameHandler4 рдХреЗ рд╕рд╛рде __CxxFrameHandler3 рдХреЗ рд╡рд┐рдкрд░реАрдд рдмреЗрд╣рддрд░ рд╣реЛрддрд╛ рд╣реИ ред рдореИрдВрдиреЗ рдПрдХ рдмреЗрдВрдЪрдорд╛рд░реНрдХ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдереНрд░реВрдкреБрдЯ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рдЬреЛ рдХрд┐ рдкреНрд░рддреНрдпреЗрдХ 100 рд╕реНрдЯреИрдХ рдлреНрд░реЗрдо рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдПрдХ рдХреЛрд╢рд┐рд╢ / рдкрдХрдбрд╝ рдФрд░ 3 рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд╡рд╕реНрддреБрдУрдВ рдХреЛ рдирд╖реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдкреНрд░реЛрдлрд╝рд╛рдЗрд▓ рдирд┐рд╖реНрдкрд╛рджрди рд╕рдордп рдХреЗ рд▓рд┐рдП 50,000 рдмрд╛рд░ рдЪрд▓рд╛рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЬрд┐рд╕рдХреЗ рд╕рдордЧреНрд░ рдирд┐рд╖реНрдкрд╛рджрди рд╕рдордп рдХреЗ рд▓рд┐рдП рдЕрдЧреНрд░рдгреА:
| __CxxFrameHandler3 | __CxxFrameHandler4 |
рдирд┐рд╖реНрдкрд╛рджрди рдХрд╛ рд╕рдордп | 4.84s | 4.25s |
рдкреНрд░реЛрдлрд╛рдЗрд▓рд┐рдВрдЧ рд╕реЗ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ рдХрд┐ рдЕрдкрдШрдЯрди рдЕрддрд┐рд░рд┐рдХреНрдд рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рд╕рдордп рдХрд╛ рдкрд░рд┐рдЪрдп рджреЗрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рдХреА рд▓рд╛рдЧрдд рдирдИ рджреБрдХрд╛рдиреЛрдВ рдХреЗ рдбрд┐рдЬрд╛рдЗрди рдореЗрдВ рдереНрд░реЗрдб-рд▓реЛрдХрд▓ рд╕реНрдЯреЛрд░реЗрдЬ рдХреЗ рд▓рд┐рдП рдХрдо рд╕реНрдЯреЛрд░реЛрдВ рд╕реЗ рдЕрдзрд┐рдХ рд╣реИред
рднрд╡рд┐рд╖реНрдп рдХреА рдпреЛрдЬрдирд╛
рдЬреИрд╕рд╛ рдХрд┐ рд╢реАрд░реНрд╖рдХ рдореЗрдВ рдмрддрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, FH4 рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдХреЗрд╡рд▓ x64 рдмрд╛рдпрдиреЗрд░рд┐рдЬрд╝ рдХреЗ рд▓рд┐рдП рд╕рдХреНрд╖рдо рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рд╡рд░реНрдгрд┐рдд рддрдХрдиреАрдХреЗрдВ ARM32 / ARM64 рдХреЗ рд▓рд┐рдП рдПрдХреНрд╕реНрдЯреЗрдВрд╕рд┐рдмрд▓ рд╣реИрдВ рдФрд░ рдХреБрдЫ рд╣рдж рддрдХ x86 рд╣реИрдВред рд╣рдо рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдЗрд╕ рддрдХрдиреАрдХ рдХреЛ рдЕрдиреНрдп рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ рдкрд░ рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░реЗрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП (рдЬреИрд╕реЗ Microsoft.UI.Xaml.dll) рдЕрдЪреНрдЫреЗ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреА рддрд▓рд╛рд╢ рдХрд░ рд░рд╣реЗ рд╣реИрдВ - рдпрджрд┐ рдЖрдкрдХреЛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдХ рдЕрдЪреНрдЫрд╛ рдЙрдкрдпреЛрдЧ рдорд╛рдорд▓рд╛ рд╣реИ рддреЛ рд╣рдореЗрдВ рдмрддрд╛рдПрдВ!
рдПрдлрдПрдЪ 4 рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрдЯреЛрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рд░рдирдЯрд╛рдЗрдо рдкрд░рд┐рд╡рд░реНрддрди рдХреЛ рдПрдХреАрдХреГрдд рдХрд░рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЙрдбрд╝рд╛рди рдореЗрдВ рд╣реИред рдПрдХ рдмрд╛рд░ рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдирдпрд╛ рд╣реИрдВрдбрд▓рд░ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рд╕рдХреНрд╖рдо рд╣реЛ рдЬрд╛рдПрдЧрд╛, рддрд╛рдХрд┐ рд╣рд░ рдХреЛрдИ рдмрд┐рдирд╛ рдХрд┐рд╕реА рдЕрддрд┐рд░рд┐рдХреНрдд рдкреНрд░рдпрд╛рд╕ рдХреЗ рдЗрди рдмрд╛рдЗрдирд░реА рдЖрдХрд╛рд░ рдХреА рдмрдЪрдд рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХреЗред
рд╕рдорд╛рдкрди рдЯрд┐рдкреНрдкрдгреА
рдЬреЛ рдХреЛрдИ рднреА рд╕реЛрдЪрддрд╛ рд╣реИ рдХрд┐ рдЙрдирдХреЗ x64 рдмрд╛рдпрдиреЗрд░рд┐рдЬрд╝ рдХреБрдЫ рдЯреНрд░рд┐рдорд┐рдВрдЧ рдХреЗ рд╕рд╛рде рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ: рдЖрдЬ FH4 ('/ d2FH4' рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ) рдЖрдЬрд╝рдорд╛рдПрдВ! рд╣рдо рдпрд╣ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЙрддреНрд╕рд╛рд╣рд┐рдд рд╣реИрдВ рдХрд┐ рдпрд╣ рдЕрдм рдХреМрди рд╕реА рдмрдЪрдд рдкреНрд░рджрд╛рди рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╕реБрд╡рд┐рдзрд╛ рдЬрдВрдЧрд▓ рдореЗрдВ рд╣реИред рдмреЗрд╢рдХ, рдпрджрд┐ рдЖрдк рдХрд┐рд╕реА рднреА рдореБрджреНрджреЗ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдХреГрдкрдпрд╛ рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдореЗрдВ рд╣рдореЗрдВ рдИ-рдореЗрд▓ ( visualcpp@microsoft.com ), рдпрд╛ рдбреЗрд╡рд▓рдкрд░ рд╕рдореБрджрд╛рдп рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдмрддрд╛рдПрдВ ред рдЖрдк рд╣рдореЗрдВ рдЯреНрд╡рд┐рдЯрд░ ( @VisualC ) рдкрд░ рднреА рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВред
Kenny Kerr рдХреЛ Microsoft.UI.Xaml.dll рдкрд░ рдирд┐рд░реНрджреЗрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, Office рдкрд░ рд╕рдВрдЦреНрдпрд╛рдПрдБ рдПрдХрддреНрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд░рд╡рд┐ рдкрд┐рдВрдЬрд▓рд╛, рдФрд░ SQL рдкрд░ рдЗрд╕реЗ рдЯреНрд░рд╛рдпрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд░реЙрдмрд░реНрдЯ рд░реЗрдЬрд╝рд▓рд░ред