рдЬреАрд╕реАрд╕реА 9 рдХрдВрдкрд╛рдЗрд▓рд░ рд╕реБрдЗрдЯ рдХрд╛ рд╡рд┐рдореЛрдЪрди

рдПрдХ рд╕рд╛рд▓ рдХреЗ рд╡рд┐рдХрд╛рд╕ рдХреЗ рдмрд╛рдж рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрдВрдкрд╛рдЗрд▓рд░реЛрдВ рдХрд╛ рдПрдХ рдирд┐рдГрд╢реБрд▓реНрдХ рд╕реЗрдЯ рдЬрд╛рд░реА рдХрд░рдирд╛ рдЬреАрд╕реАрд╕реА 9.1, рдирдИ GCC 9.x рд╢рд╛рдЦрд╛ рдореЗрдВ рдкрд╣рд▓реА рдмрдбрд╝реА рд░рд┐рд▓реАрдЬрд╝ред рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдирдИ рдпреЛрдЬрдирд╛ рд░рд┐рд▓реАрдЬрд╝ рдирдВрдмрд░, рд╕рдВрд╕реНрдХрд░рдг 9.0 рдХрд╛ рдЙрдкрдпреЛрдЧ рд╡рд┐рдХрд╛рд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рджреМрд░рд╛рди рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдФрд░ рдЬреАрд╕реАрд╕реА 9.1 рдХреА рд░рд┐рд▓реАрдЬрд╝ рд╕реЗ рдХреБрдЫ рд╕рдордп рдкрд╣рд▓реЗ, рдЬреАрд╕реАрд╕реА 10.0 рд╢рд╛рдЦрд╛ рдкрд╣рд▓реЗ рд╣реА рдмрдВрдж рд╣реЛ рдЪреБрдХреА рдереА, рдЬрд┐рд╕рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЕрдЧрд▓реА рдорд╣рддреНрд╡рдкреВрд░реНрдг рд░рд┐рд▓реАрдЬрд╝, рдЬреАрд╕реАрд╕реА 10.1 рдХрд╛ рдЧрдарди рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

GCC 9.1 C++17 рдорд╛рдирдХ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдХреЛ рд╕реНрдерд┐рд░ рдХрд░рдиреЗ, рднрд╡рд┐рд╖реНрдп рдХреЗ C++20 рдорд╛рдирдХ (рдХреЛрдбрдирд╛рдо C++2a) рдХреА рдХреНрд╖рдорддрд╛рдУрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ, D рднрд╛рд╖рд╛ рдХреЗ рд▓рд┐рдП рдлреНрд░рдВрдЯрдПрдВрдб рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдХрд░рдиреЗ, OpenMP 5.0 рдХреЗ рд▓рд┐рдП рдЖрдВрд╢рд┐рдХ рд╕рдорд░реНрдерди рдХреЗ рд▓рд┐рдП рдЙрд▓реНрд▓реЗрдЦрдиреАрдп рд╣реИред , рдУрдкрдирдПрд╕реАрд╕реА 2.5 рдХреЗ рд▓рд┐рдП рд▓рдЧрднрдЧ рдкреВрд░реНрдг рд╕рдорд░реНрдерди, рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдЪрд░рдг рдореЗрдВ рдЕрдВрддрд░рдкреНрд░рдХреНрд░рд┐рдпрд╛рддреНрдордХ рдЕрдиреБрдХреВрд▓рди рдФрд░ рдЕрдиреБрдХреВрд▓рди рдХреА рд╕реНрдХреЗрд▓реЗрдмрд┐рд▓рд┐рдЯреА рдмрдврд╝рд╛рдирд╛, рдбрд╛рдпрдЧреНрдиреЛрд╕реНрдЯрд┐рдХ рдЯреВрд▓ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдФрд░ рдирдИ рдЪреЗрддрд╛рд╡рдирд┐рдпреЛрдВ рдХреЛ рдЬреЛрдбрд╝рдирд╛, рдУрдкрдирдЖрд░рдЖрдИрдПрд╕рд╕реА, рд╕реА-рд╕реНрдХрд╛рдИ рд╡реА2 рдФрд░ рдПрдПрдордбреА рдЬреАрд╕реАрдПрди рдЬреАрдкреАрдпреВ рдХреЗ рд▓рд┐рдП рдмреИрдХрдПрдВрдбред

рдореБрдЦреНрдп рдкрд░рд┐рд╡рд░реНрддрди:

  • рдбреА рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ред рдЬреАрд╕реАрд╕реА рдореЗрдВ рдПрдХ рдХрдВрдкрд╛рдЗрд▓рд░ рдХреЗ рд╕рд╛рде рдПрдХ рдлреНрд░рдВрдЯрдПрдВрдб рд╢рд╛рдорд┐рд▓ рд╣реИ рдЬреАрдбреАрд╕реА (рдЬреАрдПрдирдпреВ рдбреА рдХрдВрдкрд╛рдЗрд▓рд░) рдФрд░ рд░рдирдЯрд╛рдЗрдо рд▓рд╛рдЗрдмреНрд░реЗрд░реАрдЬрд╝ (рд▓рд┐рдмрдлреЛрдмреЛрд╕), рдЬреЛ рдЖрдкрдХреЛ рдбреА рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛ рдореЗрдВ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдорд╛рдирдХ рдЬреАрд╕реАрд╕реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреЗ рд╣реИрдВред рдЬреАрд╕реАрд╕реА рдореЗрдВ рдбреА рднрд╛рд╖рд╛ рд╕рдорд░реНрдерди рдХреЛ рд╕рдХреНрд╖рдо рдХрд░рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╢реБрд░реВ рдХрд░ рджрд┐рдпрд╛ 2011 рдореЗрдВ рд╡рд╛рдкрд╕, рд▓реЗрдХрд┐рди рдШрд╕реАрдЯрддрд╛ рд░рд╣рд╛ рдХреЛрдб рдХреЛ рдЬреАрд╕реАрд╕реА рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЗ рдЕрдиреБрдкрд╛рд▓рди рдореЗрдВ рд▓рд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдФрд░ рдбрд┐рдЬрд┐рдЯрд▓ рдорд╛рд░реНрд╕ рдХреЛ рдмреМрджреНрдзрд┐рдХ рд╕рдВрдкрджрд╛ рдЕрдзрд┐рдХрд╛рд░реЛрдВ рдХреЗ рд╣рд╕реНрддрд╛рдВрддрд░рдг рдХреЗ рд╕рд╛рде рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЗ рдХрд╛рд░рдг, рдЬреЛ рдбреА рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛ рд╡рд┐рдХрд╕рд┐рдд рдХрд░ рд░рд╣рд╛ рд╣реИ;
  • рдХреЛрдб рдЬрдирд░реЗрдЯрд░ рдореЗрдВ рд╕реБрдзрд╛рд░ рдХрд┐рдП рдЧрдП рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд╕реНрд╡рд┐рдЪ рдПрдХреНрд╕рдкреНрд░реЗрд╢рди (рдЬрдВрдк рдЯреЗрдмрд▓, рдмрд┐рдЯ рдЯреЗрд╕реНрдЯ, рдбрд┐рд╕реАрдЬрди рдЯреНрд░реА) рдХреЗ рд╡рд┐рд╕реНрддрд╛рд░ рдХреЗ рд▓рд┐рдП рд╡рд┐рднрд┐рдиреНрди рд░рдгрдиреАрддрд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рд░реИрдЦрд┐рдХ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдмрджрд▓рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдЬреЛрдбрд╝реА рдЧрдИ рдЬрд┐рд╕рдореЗрдВ "-рдлреНрдЯреНрд░реА-рд╕реНрд╡рд┐рдЪ-рд░реВрдкрд╛рдВрддрд░рдг" рдЕрдиреБрдХреВрд▓рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рд╕реНрд╡рд┐рдЪ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рд╢рд╛рдорд┐рд▓ рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, "рдХреЗрд╕ 2: рдХреИрд╕реЗ = 205; рдмреНрд░реЗрдХ; рдХреЗрд╕ 3: рдХреИрд╕реЗ = 305; рдмреНрд░реЗрдХ" рдЬреИрд╕реА рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдХрд╛ рдПрдХ рд╕реЗрдЯ) ;тАЭ рдХреЛ "100 * рдХреИрд╕реЗ + 5" рдореЗрдВ рдмрджрд▓ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛;
  • рдмреЗрд╣рддрд░ рдЕрдВрддрд░рдкреНрд░рдХреНрд░рд┐рдпрд╛рддреНрдордХ рдЕрдиреБрдХреВрд▓рдиред рдЗрдирд▓рд╛рдЗрди рдкрд░рд┐рдирд┐рдпреЛрдЬрди рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЛ рдЖрдзреБрдирд┐рдХ C++ рдХреЛрдбрдмреЗрд╕ рдХреЗ рд▓рд┐рдП рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдирдП рдорд╛рдкрджрдВрдбреЛрдВ max-inline-insns-small, max-inline-insns-size, uninlined-function-insns, uninlined-function-time, uninlined-thunk-insns рдФрд░ uninlined рдХреЗ рд╕рд╛рде рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред -рдердВрдХ-рдЯрд╛рдЗрдоред рдардВрдбреЗ/рдЧрд░реНрдо рдХреЛрдб рдкреГрдердХреНрдХрд░рдг рдХреА рдмреЗрд╣рддрд░ рд╕рдЯреАрдХрддрд╛ рдФрд░ рдЖрдХреНрд░рд╛рдордХрддрд╛ред рдмрд╣реБрдд рдмрдбрд╝реЗ рдкреИрдорд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдмреЗрд╣рддрд░ рдорд╛рдкрдиреАрдпрддрд╛ рдЕрдиреБрд╡рд╛рдж рдЗрдХрд╛рдЗрдпрд╛рдБ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдмрдбрд╝реЗ рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рдЪрд░рдг рдореЗрдВ рдЕрдиреБрдХреВрд▓рди рд▓рд╛рдЧреВ рдХрд░рддреЗ рд╕рдордп);
  • рдХреЛрдб рдкреНрд░реЛрдлрд╛рдЗрд▓рд┐рдВрдЧ (рдкреАрдЬреАрдУ - рдкреНрд░реЛрдлрд╛рдЗрд▓-рдирд┐рд░реНрджреЗрд╢рд┐рдд рдЕрдиреБрдХреВрд▓рди) рдХреЗ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЕрдиреБрдХреВрд▓рди рддрдВрддреНрд░ рдореЗрдВ рд╕реБрдзрд╛рд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЬреЛ рдХреЛрдб рдирд┐рд╖реНрдкрд╛рджрди рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЕрдзрд┐рдХ рдЗрд╖реНрдЯрддрдо рдХреЛрдб рдЙрддреНрдкрдиреНрди рдХрд░рддрд╛ рд╣реИред рд╕рд╛рд░рд╛рдВрд╢ рд╡рд┐рдХрд▓реНрдк "-рдлреНрд░реЛрдлрд╛рдЗрд▓-рдЙрдкрдпреЛрдЧ"рдЕрдм рдЕрдиреБрдХреВрд▓рди рдореЛрдб "-fversion-loops-for-strides", "-floop-interchange", "-floop-unroll-and-jam" рдФрд░ "-ftree-loop-distribution" рд╢рд╛рдорд┐рд▓ рд╣реИрдВред рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ рдХрд╛рдЙрдВрдЯрд░реЛрдВ рдХреЗ рд╕рд╛рде рд╣рд┐рд╕реНрдЯреЛрдЧреНрд░рд╛рдо рдХреЗ рд╕рдорд╛рд╡реЗрд╢ рдХреЛ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЧрдпрд╛, рдЬрд┐рд╕рд╕реЗ рдкреНрд░реЛрдлрд╛рдЗрд▓ рдХреЗ рд╕рд╛рде рдлрд╝рд╛рдЗрд▓реЛрдВ рдХрд╛ рдЖрдХрд╛рд░ рдХрдо рд╣реЛ рдЧрдпрд╛ (рд▓рд┐рдВрдХрд┐рдВрдЧ рдХреЗ рджреМрд░рд╛рди рдЕрдиреБрдХреВрд▓рди рдХрд░рддреЗ рд╕рдордп рд╣рд┐рд╕реНрдЯреЛрдЧреНрд░рд╛рдо рдЕрдм рддреБрд░рдВрдд рдЙрддреНрдкрдиреНрди рд╣реЛрддреЗ рд╣реИрдВ);
  • рдЙрдиреНрдирдд рд▓рд┐рдВрдХрд┐рдВрдЧ рд╕рдордп рдЕрдиреБрдХреВрд▓рди (рдПрд▓рдЯреАрдУ)ред рдкрд░рд┐рдгрд╛рдо рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдкреНрд░рдХрд╛рд░реЛрдВ рдХрд╛ рд╕рд░рд▓реАрдХрд░рдг рдкреНрд░рджрд╛рди рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЬрд┐рд╕рд╕реЗ рдПрд▓рдЯреАрдУ рдСрдмреНрдЬреЗрдХреНрдЯ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рдЖрдХрд╛рд░ рдХреЛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд░реВрдк рд╕реЗ рдХрдо рдХрд░рдирд╛, рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдЪрд░рдг рдореЗрдВ рдореЗрдореЛрд░реА рдЦрдкрдд рдХреЛ рдХрдо рдХрд░рдирд╛ рдФрд░ рд╕рдВрдЪрд╛рд▓рди рдХреЗ рд╕рдорд╛рдирд╛рдВрддрд░реАрдХрд░рдг рдореЗрдВ рд╕реБрдзрд╛рд░ рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реЛ рдЧрдпрд╛ред рд╡рд┐рднрд╛рдЬрдиреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ (-рдкрд░рдо рдПрд▓рдЯреАрдУ-рд╡рд┐рднрд╛рдЬрди) 32 рд╕реЗ рдмрдврд╝рд╛рдХрд░ 128 рдХрд░ рджреА рдЧрдИ рд╣реИ, рдЬреЛ рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рд╕реАрдкреАрдпреВ рдереНрд░реЗрдб рд╡рд╛рд▓реЗ рд╕рд┐рд╕реНрдЯрдо рдкрд░ рдкреНрд░рджрд░реНрд╢рди рдореЗрдВ рд╕реБрдзрд╛рд░ рдХрд░рддреА рд╣реИред рдСрдкреНрдЯрд┐рдорд╛рдЗрдЬрд╝рд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреИрд░рд╛рдореАрдЯрд░ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рд╣реИ
    "-рдкрд░рдо рдПрд▓рдЯреАрдУ-рдореИрдХреНрд╕-рд╕реНрдЯреНрд░реАрдорд┐рдВрдЧ-рд╕рдорд╛рдирд╛рдВрддрд░рд╡рд╛рдж";

    рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, GCC 8.3 рдХреА рддреБрд▓рдирд╛ рдореЗрдВ, GCC 9 рдореЗрдВ рдЕрдиреБрдХреВрд▓рди рдкреЗрд╢ рдХрд┐рдП рдЧрдП рдЕрдиреБрдорддрд┐ рдлрд╝рд╛рдпрд░рдлрд╝реЙрдХреНрд╕ 5 рдФрд░ рд▓рд┐рдмреНрд░реЗ рдСрдлрд┐рд╕ 66 рдХреЗ рд╕рдВрдХрд▓рди рд╕рдордп рдХреЛ рд▓рдЧрднрдЧ 6.2.3% рдХрдо рдХрд░реЗрдВред рдСрдмреНрдЬреЗрдХреНрдЯ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХрд╛ рдЖрдХрд╛рд░ 7% рдХрдо рд╣реЛ рдЧрдпрд╛ред 8-рдХреЛрд░ рд╕реАрдкреАрдпреВ рдкрд░ рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рд╕рдордп 11% рдХрдо рд╣реЛ рдЧрдпрд╛ред рд▓рд┐рдВрдХрд┐рдВрдЧ рдЪрд░рдг рдХрд╛ рдЕрдиреБрдХреНрд░рдорд┐рдХ рдЕрдиреБрдХреВрд▓рди рдЪрд░рдг рдЕрдм 28% рддреЗрдЬрд╝ рд╣реИ рдФрд░ 20% рдХрдо рдореЗрдореЛрд░реА рдХреА рдЦрдкрдд рдХрд░рддрд╛ рд╣реИред рдПрд▓рдЯреАрдУ рдХреЗ рд╕рдорд╛рдирд╛рдВрддрд░ рдЪрд░рдг рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреА рдореЗрдореЛрд░реА рдЦрдкрдд рдореЗрдВ 30% рдХреА рдХрдореА рдЖрдИ;

  • рдЕрдзрд┐рдХрд╛рдВрд╢ рд╕рдорд╛рдирд╛рдВрддрд░ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рд╡рд┐рдирд┐рд░реНрджреЗрд╢ C, C++ рдФрд░ рдлреЛрд░рдЯреНрд░рд╛рди рднрд╛рд╖рд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ рдУрдкрдирдПрд╕реАрд╕реА 2.5, рдЬреЛ GPU рдФрд░ NVIDIA PTX рдЬреИрд╕реЗ рд╡рд┐рд╢реЗрд╖ рдкреНрд░реЛрд╕реЗрд╕рд░ рдкрд░ рдСрдлрд▓реЛрдбрд┐рдВрдЧ рд╕рдВрдЪрд╛рд▓рди рдХреЗ рд▓рд┐рдП рдЯреВрд▓ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддрд╛ рд╣реИ;
  • C рдФрд░ C++ рдХреЗ рд▓рд┐рдП рдорд╛рдирдХ рдХрд╛ рдЖрдВрд╢рд┐рдХ рд╕рдорд░реНрдерди рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдУрдкрдирдПрдордкреА 5.0 (рдУрдкрди рдорд▓реНрдЯреА-рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ), рдЬреЛ рд╕рд╛рдЭрд╛ рдореЗрдореЛрд░реА рдФрд░ рд╡реЗрдХреНрдЯрд░рд╛рдЗрдЬреЗрд╢рди рдЗрдХрд╛рдЗрдпреЛрдВ (SIMD) рдХреЗ рд╕рд╛рде рдорд▓реНрдЯреА-рдХреЛрд░ рдФрд░ рд╣рд╛рдЗрдмреНрд░рд┐рдб (рд╕реАрдкреАрдпреВ+рдЬреАрдкреАрдпреВ/рдбреАрдПрд╕рдкреА) рд╕рд┐рд╕реНрдЯрдо рдкрд░ рд╕реА, рд╕реА++ рдФрд░ рдлреЛрд░рдЯреНрд░рд╛рди рднрд╛рд╖рд╛рдУрдВ рдХреЗ рд▓рд┐рдП рд╕рдорд╛рдирд╛рдВрддрд░ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рдПрдкреАрдЖрдИ рдФрд░ рддрд░реАрдХреЛрдВ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддрд╛ рд╣реИред ;
  • C рднрд╛рд╖рд╛ рдХреЗ рд▓рд┐рдП рдирдИ рдЪреЗрддрд╛рд╡рдирд┐рдпрд╛рдБ рдЬреЛрдбрд╝реА рдЧрдИ рд╣реИрдВ: "-рдкреИрдХреНрдб-рд╕рджрд╕реНрдп рдХрд╛ рдкрддрд╛" (рдХрд┐рд╕реА рд╕рдВрд░рдЪрдирд╛ рдпрд╛ рд╕рдВрдШ рдХреЗ рдкреИрдХреНрдб рд╕рджрд╕реНрдп рдХреЗ рд▓рд┐рдП рдЕрд╕рдВрд░реЗрдЦрд┐рдд рд╕реВрдЪрдХ рдорд╛рди) рдФрд░
    ┬л-рд╡рд╛рдмреНрд╕реЛрд▓реНрдпреВрдЯ-рд╡реИрд▓реНрдпреВ" (рдкреВрд░реНрдг рдорд╛рди рдХреА рдЧрдгрдирд╛ рдХреЗ рд▓рд┐рдП рдлрд╝рдВрдХреНрд╢рдВрд╕ рддрдХ рдкрд╣реБрдВрдЪрддреЗ рд╕рдордп, рдпрджрд┐ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рддрд░реНрдХ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рдЙрдкрдпреБрдХреНрдд рдлрд╝рдВрдХреНрд╢рди рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдмреНрд╕ (3.14) рдХреЗ рдмрдЬрд╛рдп рдлреИрдмреНрд╕ (3.14) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред C++ рдХреЗ рд▓рд┐рдП рдирдИ рдЪреЗрддрд╛рд╡рдирд┐рдпрд╛рдБ рдЬреЛрдбрд╝реА рдЧрдИрдВ: "-Wdeprecated-copy",
    "-рд╡рд┐рдирд┐рдЯ-рд▓рд┐рд╕реНрдЯ-рд▓рд╛рдЗрдлрдЯрд╛рдЗрдо", "-рд░реЗрдбрдВрдбреЗрдВрдЯ-рдореВрд╡", "-рдбрдмреНрд▓реНрдпреВрдкреЗрд╕рд┐рдорд╛рдЗрдЬрд┐рдВрдЧ-рдореВрд╡" рдФрд░ "-рдбрдмреНрд▓реНрдпреВрдХреНрд▓рд╛рд╕-рдХрдиреНрд╡рд░реНрдЬрд╝рди"ред рдкрд╣рд▓реЗ рд╕реЗ рдЙрдкрд▓рдмреНрдз рдХрдИ рдЪреЗрддрд╛рд╡рдирд┐рдпреЛрдВ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ;

  • рднрд╡рд┐рд╖реНрдп рдХреЗ C рднрд╛рд╖рд╛ рдорд╛рдирдХ рдХреЗ рднрд╛рдЧ рдХреЗ рд▓рд┐рдП рдкреНрд░рдпреЛрдЧрд╛рддреНрдордХ рд╕рдорд░реНрдерди рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛, рдЬрд┐рд╕рдХрд╛ рдХреЛрдбрдиреЗрдо C2x рд╣реИред C2x рд╕рдорд░реНрдерди рд╕рдХреНрд╖рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╡рд┐рдХрд▓реНрдк "-std=c2x" рдФрд░ "-std=gnu2x" (GNU рдПрдХреНрд╕рдЯреЗрдВрд╢рди рд╕рдХреНрд╖рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред рдорд╛рдирдХ рдЕрднреА рднреА рд╡рд┐рдХрд╛рд╕ рдХреЗ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдЪрд░рдг рдореЗрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП, рдЗрд╕рдХреА рдХреНрд╖рдорддрд╛рдУрдВ рдореЗрдВ рд╕реЗ, рдХреЗрд╡рд▓ рдПрдХ рддрд░реНрдХ рдХреЗ рд╕рд╛рде рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ _Static_assert рд╕рдорд░реНрдерд┐рдд рд╣реИ (рджреЛ рддрд░реНрдХреЛрдВ рдХреЗ рд╕рд╛рде _Static_assert рдХреЛ C11 рдореЗрдВ рдорд╛рдирдХреАрдХреГрдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ);
  • C++17 рдорд╛рдирдХ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рд╕реНрдерд┐рд░ рдШреЛрд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдлреНрд░рдВрдЯрдПрдВрдб рдореЗрдВ, C++17 рдХреА рднрд╛рд╖рд╛ рдХреНрд╖рдорддрд╛рдПрдВ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХреА рдЬрд╛рддреА рд╣реИрдВ, рдФрд░ libstdc++ рдореЗрдВ, рдорд╛рдирдХ рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдлрд╝рдВрдХреНрд╢рди рдкреВрд░реНрдг рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рдХрд░реАрдм рд╣реИрдВ;
  • рдирд┐рд░рдВрддрд░ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рднрд╡рд┐рд╖реНрдп рдХреЗ C++2a рдорд╛рдирдХ рдХреЗ рддрддреНрд╡ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрд░рдВрднреАрдХрд░рдг рдХреЗ рджреМрд░рд╛рди рд╢реНрд░реЗрдгрд┐рдпреЛрдВ рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдЬреЛрдбрд╝реА рдЧрдИ рд╣реИ, рд▓реИрдореНрдмреНрдбрд╛ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХреНрд╕рдЯреЗрдВрд╢рди рд▓рд╛рдЧреВ рдХрд┐рдП рдЧрдП рд╣реИрдВ, рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛рдУрдВ рдХреЗ рдЦрд╛рд▓реА рд╕рджрд╕реНрдпреЛрдВ рдФрд░ рд╕рдВрднрд╛рд╡рд┐рдд/рдЕрд╕рдВрднрд╛рд╡рд┐рдд рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рд╣реИ, рд╕рд╢рд░реНрдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдпреЛрдВ рдореЗрдВ рдЖрднрд╛рд╕реА рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдкреНрд░рджрд╛рди рдХреА рдЧрдИ рд╣реИ , рд╡рдЧреИрд░рд╣ред
    C++2a рд╕рдорд░реНрдерди рд╕рдХреНрд╖рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, "-std=c++2a" рдФрд░ "-std=gnu++2a" рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред C++2a, std::remove_cvref, std::unwrap_reference, std::unwrap_decay_ref, std::is_nothrow_convertible рдФрд░ std::type_identity рд▓рдХреНрд╖рдг, std::midpoint, std::lerp рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд▓рд┐рдП libstdc++ рдореЗрдВ рдмрд┐рдЯ рдФрд░ рд╕рдВрд╕реНрдХрд░рдг рд╣реЗрдбрд░ рдлрд╝рд╛рдЗрд▓реЗрдВ рдЬреЛрдбрд╝реА рдЧрдИрдВ , std::bind_front,
    std::visit, std::is_constant_evaluated рдФрд░ std::assume_aligned, char8_t рдкреНрд░рдХрд╛рд░ рдХреЗ рд▓рд┐рдП рдЕрддрд┐рд░рд┐рдХреНрдд рд╕рдорд░реНрдерди, рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдХреЗ рдЙрдкрд╕рд░реНрдЧ рдФрд░ рдкреНрд░рддреНрдпрдп рдХреА рдЬрд╛рдВрдЪ рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рд▓рд╛рдЧреВ рдХреА рдЧрдИ (starts_with,ends_with);

  • рдирдП рдПрдЖрд░рдПрдо рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛
    рдХреЙрд░реНрдЯреЗрдХреНрд╕-рдП76, рдХреЙрд░реНрдЯреЗрдХреНрд╕-рдП55, рдХреЙрд░реНрдЯреЗрдХреНрд╕-рдП76 рдбрд╛рдпрдирд╛рдорд┐рдХрдЖрдИрдХреНрдпреВ рдмрд┐рдЧ.рд▓рд┐рдЯрд▓ рдФрд░ рдирд┐рдпреЛрд╡рд░реНрд╕ рдПрди1ред рдЬрдЯрд┐рд▓ рд╕рдВрдЦреНрдпрд╛рдУрдВ, рдЫрджреНрдо-рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд╕рдВрдЦреНрдпрд╛ рдкреАрдврд╝реА (рдЖрд░рдПрдирдЬреА) рдФрд░ рдореЗрдореЛрд░реА рдЯреИрдЧрд┐рдВрдЧ (рдореЗрдордЯреИрдЧ) рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд░реНрдорд╡8.3-рдП рдореЗрдВ рдкреЗрд╢ рдХрд┐рдП рдЧрдП рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛, рд╕рд╛рде рд╣реА рд╢рд╛рдЦрд╛ рднрд╡рд┐рд╖реНрдпрд╡рд╛рдгреА рдЗрдХрд╛рдИ рдХреЗ рд╕рдЯреНрдЯрд╛ рдирд┐рд╖реНрдкрд╛рджрди рдФрд░ рд╕рдВрдЪрд╛рд▓рди рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣рдорд▓реЛрдВ рдХреЛ рд░реЛрдХрдиреЗ рдХреЗ рдирд┐рд░реНрджреЗрд╢ рднреА рджрд┐рдП рдЧрдПред . AArch64 рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдХреЗ рд▓рд┐рдП, рдПрдХ рд╕реБрд░рдХреНрд╖рд╛ рдореЛрдб рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рд╣реИ рдвреЗрд░ рдФрд░ рдвреЗрд░ рдХрд╛ рдкреНрд░рддрд┐рдЪреНрдЫреЗрджрди ("-рдлрд╕реНрдЯреИрдХ-рдХреНрд▓реИрд╢-рдкреНрд░реЛрдЯреЗрдХреНрд╢рди")ред Armv8.5-A рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдХреА рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╡рд┐рдХрд▓реНрдк "-march=armv8.5-a" рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рд╣реИ

  • рдЗрд╕рдореЗрдВ GCN рдорд╛рдЗрдХреНрд░реЛрдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдкрд░ рдЖрдзрд╛рд░рд┐рдд AMD GPU рдХреЗ рд▓рд┐рдП рдХреЛрдб рдЬреЗрдирд░реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдмреИрдХрдПрдВрдб рд╢рд╛рдорд┐рд▓ рд╣реИред рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдПрдХрд▓-рдереНрд░реЗрдбреЗрдб рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд╕рдВрдХрд▓рди рддрдХ рд╕реАрдорд┐рдд рд╣реИ (рдУрдкрдирдПрдордкреА рдФрд░ рдУрдкрдирдПрд╕реАрд╕реА рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдмрд╣реБ-рдереНрд░реЗрдбреЗрдб рдЧрдгрдирд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдмрд╛рдж рдореЗрдВ рдкреЗрд╢ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛) рдФрд░ рдЬреАрдкреАрдпреВ рдлрд┐рдЬреА рдФрд░ рд╡реЗрдЧрд╛ 10 рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди;
  • рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЗ рд▓рд┐рдП рдирдпрд╛ рдмреИрдХрдПрдВрдб рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рдУрдкрдирдЖрд░рдЖрдИрдПрд╕рд╕реА;
  • рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЗ рд▓рд┐рдП рдмреИрдХрдПрдВрдб рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рд╕реА-рд╕реНрдХрд╛рдИ V2, рд╡рд┐рднрд┐рдиреНрди рдЙрдкрднреЛрдХреНрддрд╛ рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рд╣реА рдирд╛рдо рдХреА рдЪреАрдиреА рдХрдВрдкрдиреА рджреНрд╡рд╛рд░рд╛ рдирд┐рд░реНрдорд┐рдд;
  • рдмрд╛рдЗрдЯ рдорд╛рди рд╕рдВрдЪрд╛рд▓рд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд╕рднреА рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рд╡рд┐рдХрд▓реНрдк рдкреНрд░рддреНрдпрдп kb, KiB, MB, MiB, GB рдФрд░ GiB рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддреЗ рд╣реИрдВ;
  • рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд "-рдлреНрд▓рд╛рдЗрд╡-рдкреИрдЪрд┐рдВрдЧ=[рдЗрдирд▓рд╛рдЗрди-рдУрдирд▓реА-рд╕реНрдЯреИрдЯрд┐рдХ|рдЗрдирд▓рд╛рдЗрди-рдХреНрд▓реЛрди]" рд╡рд┐рдХрд▓реНрдк рдЖрдкрдХреЛ рдЗрдВрдЯрд░рдкреНрд░реЛрд╕реЗрдбреНрдпреВрд░рд▓ рдХреЗ рдЙрдкрдпреЛрдЧ рдкрд░ рдмрд╣реБ-рд╕реНрддрд░реАрдп рдирд┐рдпрдВрддреНрд░рдг рдХреЗ рдХрд╛рд░рдг рд▓рд╛рдЗрд╡-рдкреИрдЪрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд▓рд┐рдП рд╕реБрд░рдХреНрд╖рд┐рдд рд╕рдВрдХрд▓рди рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ (рдЖрдИрдкреАрдП) рдЕрдиреБрдХреВрд▓рди;
  • рдмреИрд╢ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рд╡рд┐рдХрд▓реНрдк рдкреВрд░реНрдгрддрд╛ рдХреЗ рдмрд╛рд░реАрдХ рдирд┐рдпрдВрддреНрд░рдг рдХреЗ рд▓рд┐рдП "--рдкреВрд░реНрдгрддрд╛" рд╡рд┐рдХрд▓реНрдк рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛;
  • рдбрд╛рдпрдЧреНрдиреЛрд╕реНрдЯрд┐рдХ рдЙрдкрдХрд░рдг рд╕реНрд░реЛрдд рдкрд╛рда рдЕрдВрд╢реЛрдВ рдХрд╛ рдкреНрд░рджрд░реНрд╢рди рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рдкрдВрдХреНрддрд┐ рд╕рдВрдЦреНрдпрд╛ рджрд░реНрд╢рд╛рддреЗ рд╣реИрдВ рдФрд░ рдСрдкрд░реЗрдВрдб рдкреНрд░рдХрд╛рд░ рдЬреИрд╕реА рд╕рдВрдмрдВрдзрд┐рдд рдЬрд╛рдирдХрд╛рд░реА рдХреЛ рджреГрд╖реНрдЯрд┐рдЧрдд рд░реВрдк рд╕реЗ рдЪрд┐рд╣реНрдирд┐рдд рдХрд░рддреЗ рд╣реИрдВред рд▓рд╛рдЗрди рдирдВрдмрд░реЛрдВ рдФрд░ рд▓реЗрдмрд▓реЛрдВ рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдХреЛ рдЕрдХреНрд╖рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╡рд┐рдХрд▓реНрдк "-fno-diagnostics-show-line-numbers" рдФрд░ "-fno-diagnostics-show-labels" рдкреНрд░рджрд╛рди рдХрд┐рдП рдЧрдП рд╣реИрдВ;

    рдЬреАрд╕реАрд╕реА 9 рдХрдВрдкрд╛рдЗрд▓рд░ рд╕реБрдЗрдЯ рдХрд╛ рд╡рд┐рдореЛрдЪрди

  • рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд C++ рдХреЛрдб рдореЗрдВ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХрд╛ рдирд┐рджрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдХрд░рдг, рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рдХрд╛рд░рдгреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдХреА рдмреЗрд╣рддрд░ рдкрдардиреАрдпрддрд╛ рдФрд░ рд╕рдорд╕реНрдпрд╛рдЧреНрд░рд╕реНрдд рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рдЙрдЬрд╛рдЧрд░ рдХрд░рдирд╛;

    рдЬреАрд╕реАрд╕реА 9 рдХрдВрдкрд╛рдЗрд▓рд░ рд╕реБрдЗрдЯ рдХрд╛ рд╡рд┐рдореЛрдЪрди

  • рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рд╡рд┐рдХрд▓реНрдк "-fdiagnostics-format=json", рдЬреЛ рдорд╢реАрди-рдкрдардиреАрдп рдкреНрд░рд╛рд░реВрдк (JSON) рдореЗрдВ рдбрд╛рдпрдЧреНрдиреЛрд╕реНрдЯрд┐рдХ рдЖрдЙрдЯрдкреБрдЯ рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ;
  • рд╕рдВрд╕рд╛рдзрд┐рдд рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рд╕реНрд░реЛрдд рдлрд╝рд╛рдЗрд▓реЛрдВ рдХрд╛ рдЪрдпрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирдП рдкреНрд░реЛрдлрд╛рдЗрд▓рд┐рдВрдЧ рд╡рд┐рдХрд▓реНрдк "-fprofile-filter-files" рдФрд░ "-fprofile-exclude-files" рдЬреЛрдбрд╝реЗ рдЧрдП;
  • рдПрдбреНрд░реЗрд╕рд╕реЗрдирд┐рдЯрд╛рдЗрдЬрд╝рд░ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдЪрд░ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рдХреЙрдореНрдкреИрдХреНрдЯ рд╕рддреНрдпрд╛рдкрди рдХреЛрдб рдХреА рдкреАрдврд╝реА рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рдЬрд╛рдВрдЪ рдХреА рдЬрд╛ рд░рд╣реА рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдлрд╝рд╛рдЗрд▓ рдХреА рдореЗрдореЛрд░реА рдЦрдкрдд рдХреЛ рдХрдо рдХрд░рддрд╛ рд╣реИ;
  • "рдореЗрдВ рдмреЗрд╣рддрд░ рдЖрдЙрдЯрдкреБрдЯ-рдлреЛрдкреНрдЯ-рдЬрд╛рдирдХрд╛рд░реА┬╗ (рдЕрддрд┐рд░рд┐рдХреНрдд рдЕрдиреБрдХреВрд▓рди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╡рд┐рд╕реНрддреГрдд рдЬрд╛рдирдХрд╛рд░реА)ред рдкрд╣рд▓реЗ рд╕реЗ рдЙрдкрд▓рдмреНрдз рдЙрдкрд╕рд░реНрдЧ "рдиреЛрдЯ" рдХреЗ рдЕрддрд┐рд░рд┐рдХреНрдд рдирдП рдЙрдкрд╕рд░реНрдЧ "рдЕрдиреБрдХреВрд▓рд┐рдд" рдФрд░ "рдЫреВрдЯреЗ" рдЬреЛрдбрд╝реЗ рдЧрдПред рдЗрдирд▓рд╛рдЗрди-рдЕрдирдлреЛрд▓реНрдбрд┐рдВрдЧ рдФрд░ рдЪрдХреНрд░реЛрдВ рдХреЗ рд╡реИрд╢реНрд╡реАрдХрд░рдг рдкрд░ рдирд┐рд░реНрдгрдп рд▓реЗрдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдХрд╛ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рдЖрдЙрдЯрдкреБрдЯ;
  • рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╣реЛрдиреЗ рдкрд░ "-fsave-рдСрдкреНрдЯрд┐рдорд╛рдЗрдЬрд╝реЗрд╢рди-рд░рд┐рдХреЙрд░реНрдб" рд╡рд┐рдХрд▓реНрдк рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛, GCC рдХреБрдЫ рдЕрдиреБрдХреВрд▓рди рдХреЗ рдЙрдкрдпреЛрдЧ рдкрд░ рдирд┐рд░реНрдгрдпреЛрдВ рдХреЗ рд╡рд┐рд╡рд░рдг рдХреЗ рд╕рд╛рде SRCFILE.opt-record.json.gz рдлрд╝рд╛рдЗрд▓ рдХреЛ рд╕рд╣реЗрдЬрддрд╛ рд╣реИред рдирдпрд╛ рд╡рд┐рдХрд▓реНрдк рдЕрддрд┐рд░рд┐рдХреНрдд рдореЗрдЯрд╛рдбреЗрдЯрд╛, рдЬреИрд╕реЗ рдкреНрд░реЛрдлрд╝рд╛рдЗрд▓ рдФрд░ рдЗрдирд▓рд╛рдЗрди рд╢реНрд░реГрдВрдЦрд▓рд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рд╢рд╛рдорд┐рд▓ рдХрд░рдХреЗ "-рдлрд╝реЙрдкреНрдЯ-рдЗрдиреНрдлреЛ" рдореЛрдб рд╕реЗ рднрд┐рдиреНрди рд╣реИ;
  • рд╕реНрдЯреИрдХ рд╕рдВрд░реЗрдЦрдг рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдиреЗ рдФрд░ рдЕрдВрддрд░рдкреНрд░рдХреНрд░рд┐рдпрд╛рддреНрдордХ рдЕрдиреБрдХреВрд▓рди рдХреЗ рджреМрд░рд╛рди рд╕реНрдерд┐рд░ рдЪрд░ рдХреЗ рд▓рд┐рдП рдПрдбреНрд░реЗрд╕рд┐рдВрдЧ рдореЛрдб (рдХреЗрд╡рд▓-рд▓рд┐рдЦрдиреЗ рдпрд╛ рдкрдврд╝рдиреЗ-рд╕рдЯреАрдХ) рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рд╡рд┐рдХрд▓реНрдк "-рдлрд┐рдкрд╛-рд╕реНрдЯреИрдХ-рдПрд▓рд╛рдЗрдирдореЗрдВрдЯ" рдФрд░ "-рдлрд┐рдкрд╛-рд░реЗрдлрд░реЗрдВрд╕-рдПрдбреНрд░реЗрд╕реЗрдмрд▓" рдЬреЛрдбрд╝реЗ рдЧрдП;
  • рд╡рд┐рд╢реЗрд╖рддрд╛ рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдХреЗ рд╕рд╛рде-рд╕рд╛рде рд╢рд╛рдЦрд╛ рднрд╡рд┐рд╖реНрдпрд╡рд╛рдгреА рдФрд░ рд╕рдЯреНрдЯрд╛ рдирд┐рд░реНрджреЗрд╢ рдирд┐рд╖реНрдкрд╛рджрди рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирдП рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдлрд╝рдВрдХреНрд╢рди рдкреЗрд╢ рдХрд┐рдП рдЧрдП рд╣реИрдВ: "__рдмрд┐рд▓реНрдЯрдЗрди_рд╣реИ_рдПрдЯреНрд░рд┐рдмреНрдпреВрдЯ" '__рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд_рдЙрдореНрдореАрдж_рд╕рд╛рде_рд╕рдВрднрд╛рд╡рдирд╛" рдФрд░ "__рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд_рдЕрдЯрдХрд▓реЗрдВ_рд╕реБрд░рдХреНрд╖рд┐рдд_рдореВрд▓реНрдп". рдлрд╝рдВрдХреНрд╢рдВрд╕, рд╡реЗрд░рд┐рдПрдмрд▓реНрд╕ рдФрд░ рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдирдИ рд╡рд┐рд╢реЗрд╖рддрд╛ рдЬреЛрдбрд╝реА рдЧрдИ рд╣реИ рдкреНрд░рддрд┐рд▓рд┐рдкрд┐;
  • рдлреЛрд░рдЯреНрд░рд╛рди рднрд╛рд╖рд╛ рдХреЗ рд▓рд┐рдП рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рдЗрдирдкреБрдЯ/рдЖрдЙрдЯрдкреБрдЯ рдХреЗ рд▓рд┐рдП рдкреВрд░реНрдг рд╕рдорд░реНрдерди рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ;
  • рд╕реЛрд▓рд╛рд░рд┐рд╕ 10 (*-*-рд╕реЛрд▓рд╛рд░рд┐рд╕2.10) рдФрд░ рд╕реЗрд▓/рдмреАрдИ (рд╕реЗрд▓ рдмреНрд░реЙрдбрдмреИрдВрдб рдЗрдВрдЬрди рдПрд╕рдкреАрдпреВ) рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдмрдВрдж рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдЕрдЧрд▓реЗ рдкреНрд░рдореБрдЦ рд░рд┐рд▓реАрдЬ рдореЗрдВ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред Armv2, Armv3, Armv5 рдФрд░ Armv5E рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдмрдВрдж рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред Intel MPX (рдореЗрдореЛрд░реА рдкреНрд░реЛрдЯреЗрдХреНрд╢рди рдПрдХреНрд╕рдЯреЗрдВрд╢рди) рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдмрдВрдж рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

рд╕реНрд░реЛрдд: opennet.ru

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╝реЗрдВ