рдореИрдВрдиреЗ рдирдП Intel VTune рдПрдореНрдкрд▓реАрдлрд╛рдпрд░ XE 2011 рдмреАрдЯрд╛ рдХреЛ рджреЗрдЦрдиреЗ рдФрд░ рдЙрдкрдпреЛрдЧ рдХреЗ рдЙрджрд╛рд╣рд░рдг рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рд▓реЗрдЦ рд▓рд┐рдЦрдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред рд╕рдЪ рд╣реИ, рд▓реЗрдЦрди рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ, рдПрдореНрдкрд▓реАрдлрд╛рдпрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ рд▓реЗрдХрд░ рдЗрд╕рдХреЗ рдкрд░реАрдХреНрд╖рдг рддрдХ рдХрд╛ рдЖрдВрд╢рд┐рдХ рд░реВрдк рд╕реЗ рдЬреЛрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдпрд╣ рднреА рдЕрдЪреНрдЫрд╛ рд╣реИ, рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдЗрдВрдЯреЗрд▓ рдХреЗ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдЗрдЪреНрдЫрд╛рдУрдВ рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦреЗрдВрдЧреЗ рдФрд░ рдЙрдкрдХрд░рдг рдХреЗ рдЕрдЧрд▓реЗ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдмрджрд▓рд╛рд╡ рдХрд░реЗрдВрдЧреЗред рдФрд░ рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░ рдореИрдВ рдЕрдкрдиреА рдФрд░ рд╕рднреА рдХреА рдЖрд▓реЛрдЪрдирд╛ рдХрд░реВрдВрдЧрд╛ред :)
рдореИрдВ рдереЛрдбрд╝реА рджреВрд░ рд╕реЗ рд╢реБрд░реВ рдХрд░реВрдВрдЧрд╛, рдЕрдиреНрдпрдерд╛ рд╕рд╡рд╛рд▓ рдЙрдареЗрдВрдЧреЗ, рдореБрдЭреЗ рдПрдХ рдХреЛрдб рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреНрдпреЛрдВ рдереА рдЬрд┐рд╕реЗ рдореБрдЭреЗ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рдирд╛ рдерд╛ред рд╕реА ++ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реНрдерд┐рд░ рдХреЛрдб рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдХреЗ рд╡рд┐рдХрд╛рд╕ рдХреЗ рджреМрд░рд╛рди, рдореБрдЭреЗ рдмрд╣реБрдд рд╣реА рд╡рд┐рджреЗрд╢реА рдХреЛрдб рдЯреБрдХрдбрд╝реЛрдВ рд╕реЗ рдирд┐рдкрдЯрдирд╛ рд╣реЛрдЧрд╛ред рдХреНрдпрд╛ рдХреЗрд╡рд▓ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреЗ рд╕рд╛рде рдирд╣реАрдВ рдЖрддреЗ рд╣реИрдВред рдФрд░ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдРрд╕реЗ рдХрдВрдкрд╛рдЗрд▓рд░, рдЬреИрд╕реЗ рд╡рд┐рдЬреБрдЕрд▓ C ++ рдпрд╛ Intel C ++, рдирд╣реАрдВ, рдирд╣реАрдВ, рдФрд░ рд╡реЗ рдЕрдЧрд▓реЗ "рд╕реНрдХреНрд╡реАрдЧрд▓" рдкрд░ рдЧрд┐рд░реЗрдВрдЧреЗред
рд╣рдорд╛рд░реЗ PVS-Studio рд╕реНрдереИрддрд┐рдХ рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдореЗрдВ рд╡рд╕реНрддреБрдУрдВ рдХреЗ рдкреНрд░рдХрд╛рд░ рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдПрдХ рдирд╣реАрдВ-рдЕрдЪреНрдЫреА рдЬрдЧрд╣ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ рдирд┐рд░реНрдорд╛рдг рд╣реИ:
typedef int A; рдЯрд╛рдЗрдореНрдбрд┐рдл рдПрдмреА; рдмреА рдорд╛рдпрд╡реИрд▓реНрдпреВ;
рдФрд░ рдЯрд╛рдЗрдк рдмреА рдХреА "рдЧрдгрдирд╛" рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ рддрд╛рдХрд┐ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдпрд╛ рдЬрд╛ рд╕рдХреЗ рдХрд┐ рдпрд╣ рдЗрдВрдЯ рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдХреБрдЫ рднреА рдирд╣реАрдВ рд╣реИред рдЗрд╕ рддрд░рд╣ рдХреЗ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЗ рд╕рд╛рде, рдЬрд╝рд╛рд╣рд┐рд░ рд╣реИ, рдХреЛрдИ рдореБрд╢реНрдХрд┐рд▓ рдирд╣реАрдВ рд╣реИ рдФрд░ рд╕рдм рдХреБрдЫ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдмрд╣реБрдд рдЬрдЯрд┐рд▓ рдкрд░рд┐рд╕реНрдерд┐рддрд┐рдпрд╛рдВ рд╣реИрдВред рдореИрдВ рдПрдХ рдХреЛрдб рдХрд╛ рдЙрджрд╛рд╣рд░рдг рджреЗрддрд╛ рд╣реВрдБ рдЬрд┐рд╕рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рд╡рд┐рднрд┐рдиреНрди рдХрдард┐рдирд╛рдЗрдпрд╛рдБ рд╕рд╛рдордиреЗ рдЖрдиреЗ рд▓рдЧрддреА рд╣реИрдВ:
рдЬрдм рдЪрд░ X рдХреЗ рдкреНрд░рдХрд╛рд░ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рдЬрд╛рддреА рд╣реИ, рддреЛ рд╣рдо рдЗрд╕рдХреЗ рдкреНрд░рдХрд╛рд░ рдХреЛ рдирд╛рдорд╕реНрдерд╛рди B рдореЗрдВ рджреЗрдЦреЗрдВрдЧреЗ рдФрд░ рдЗрд╕реЗ рд╡рд╣рд╛рдВ рдирд╣реАрдВ рдкрд╛рдПрдВрдЧреЗред рдлрд┐рд░ рд╣рдо рджреЗрдЦреЗрдВрдЧреЗ рдХрд┐ рд╣рдореЗрдВ рдирд╛рдо рд╕реНрдерд╛рди рд╕реА рдореЗрдВ рдХреНрдпрд╛ рджреЗрдЦрдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ рдФрд░ рд╣рдордиреЗ рдЗрд╕реЗ рдирд╣реАрдВ рдкрд╛рдпрд╛ред рдЕрдм рд╣рдореЗрдВ рдирд╛рдо рд╕реНрдерд╛рди B ... рд╢рд╛рд╢реНрд╡рдд рдЪрдХреНрд░ рдХреЛ рджреЗрдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдмреЗрд╢рдХ, рдпрд╣ рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдорд╛рдорд▓рд╛ рд╣реИ рдФрд░ рдЗрд╕рдХреЗ рд╕рд╛рде рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИред рд▓реЗрдХрд┐рди рдпрд╣рд╛рдВ рдЯрд╛рдЗрдкреНрдбрд┐рдл, рдЯреЗрдореНрдкреНрд▓реЗрдЯ, рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдорд┐рд▓реА рдХрдХреНрд╖рд╛рдПрдВ рдЬреЛрдбрд╝реЗрдВред рдХрднреА-рдХрднреА рдЖрд╢реНрдЪрд░реНрдпрдЬрдирдХ рд░реВрдк рд╕реЗ рдЬрдЯрд┐рд▓ рдЪреАрдЬреЗрдВ рд╕рд╛рдордиреЗ рдЖрддреА рд╣реИрдВ, рдФрд░ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдирд╣реАрдВред рдпрд╣ рдЦрд╛рд╕рддреМрд░ рдкрд░ рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдХреЗ рд╕рд╛рде рдХреЛрдб рдореЗрдВ рд╕реНрдкрд╖реНрдЯ рд╣реИред
рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдкреАрд╡реАрдПрд╕-рд╕реНрдЯреВрдбрд┐рдпреЛ рдЯреВрд▓ рдХрднреА-рдХрднреА рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ "рд╕рдлрд▓ рдбрд┐рдЬрд╛рдЗрди" рдкрд░ рдПрдХ рдЕрдирдиреНрдд рдЪрдХреНрд░ рдореЗрдВ рдЪрд▓рд╛ рдЧрдпрд╛ рдФрд░ 5 рдорд┐рдирдЯ рдХреЗ рдмрд╛рдж рдЖрддреНрдорд╣рддреНрдпрд╛ рдХрд░ рд▓реА рддрд╛рдХрд┐ рдЕрдиреНрдп рдлрд╛рдЗрд▓реЛрдВ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦрдирд╛ рд╕рдВрднрд╡ рд╣реЛ рд╕рдХреЗред рдПрдХ рдмрд╣реБрдд рд╣реА рджреБрд░реНрд▓рдн рд╕реНрдерд┐рддрд┐, рд▓реЗрдХрд┐рди рдЕрдкреНрд░рд┐рдпред рддреНрд░реБрдЯрд┐рдпрд╛рдВ, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рд╕рд╣реА рдФрд░ рдареАрдХ рдХреА рдЬрд╛рддреА рд╣реИрдВ, рд▓реЗрдХрд┐рди рдирдИ рдкрд░рд┐рд╕реНрдерд┐рддрд┐рдпрд╛рдВ рдкрд╛рдИ рдЬрд╛рддреА рд╣реИрдВред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдирд╛ рд╣рдореЗрд╢рд╛ рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ рдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдкрд╛рд╕ рдХрд┐рд╕ рдкреНрд░рдХрд╛рд░ рдХрд╛ рдХреЛрдб рд╣реИред рдпрд╣ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЯрд╛рдЗрдорд░ рджреНрд╡рд╛рд░рд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдХреЛ рдмрд╛рдзрд┐рдд рдирд╣реАрдВ рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рд▓реЗрдХрд┐рди рд▓реВрдк рд╣реЛрдиреЗ рдкрд░ рдХрд┐рд╕реА рд╡рд╕реНрддреБ рдХреЗ рдкреНрд░рдХрд╛рд░ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рд╕реЗ рдЗрдирдХрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред рд╕рдВрдкреВрд░реНрдг рдлрд╝рд╛рдЗрд▓ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдПрдХ рдЪрд░ рдХреЛ рдЫреЛрдбрд╝рдирд╛ рдмреЗрд╣рддрд░ рд╣реИред
рдпрд╣ рд╕рд┐рджреНрдзрд╛рдВрдд рдФрд░ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреА рдЕрд╕рдВрдЧрддрд┐ рдореЗрдВ рдПрдХ рдмрд╣реБрдд рд╣реА рджрд┐рд▓рдЪрд╕реНрдк рдмрд┐рдВрджреБ рджрд┐рдЦрд╛рддрд╛ рд╣реИред рд╕реИрджреНрдзрд╛рдВрддрд┐рдХ рд░реВрдк рд╕реЗ, рдЖрдкрдХреЛ рд▓рд┐рдЦрдиреЗ рдХреА рдЬрд╝рд░реВрд░рдд рд╣реИ рддрд╛рдХрд┐ рдХреЛрдИ рддреНрд░реБрдЯрд┐ рди рд╣реЛред рдЖрдк рд╣рдореЗрдВ рдзреЛрдЦрд╛ рднреА рджреЗ рд╕рдХрддреЗ рд╣реИрдВред рд╕реНрдЯреЗрдЯрд┐рдХ рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдбреЗрд╡рд▓рдкрд░реНрд╕, рд▓реЗрдЦ рд▓реЗрдЦрдХ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рдмрд┐рдирд╛ рдХреИрд╕реЗ рд▓рд┐рдЦрдирд╛ рд╣реИ, рдФрд░ рд╡реЗ рд╕реНрд╡рдпрдВ рдЪрд░ рдХреЗ рдкреНрд░рдХрд╛рд░ рдХрд╛ рд╕рд╣реА рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ рдХрд┐ рд╣рдо рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рдФрд░ рд╕рд┐рд░реНрдл рд╣рдо рд╣реА рдирд╣реАрдВред C ++ рдХреЛрдб рд╕рдВрдХрд▓рди рдХреЗ рд╕рд╛рде рдЬреБрдбрд╝реЗ рдХрд╛рд░реНрдп рдмреЗрд╣рдж рдЬрдЯрд┐рд▓ рд╣реИрдВред рдФрд░ рдЖрдкрдХреЛ рдХреЗрд╡рд▓ рдорд╛рдорд▓реЗ рдореЗрдВ рдкреИрдЪ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдЪреНрдЪ рдФрд░ рд╕реБрдВрджрд░ рдХреА рдЪрд░реНрдЪрд╛ рд╕реЗ рдЖрдЧреЗ рдмрдврд╝рдирд╛ рд╣реЛрдЧрд╛ред
рдПрдХ рд╕рд░рд▓ рд▓реЗрдХрд┐рди рдкреНрд░рднрд╛рд╡реА рд░реЛрдХ рддрдВрддреНрд░ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред рдпрджрд┐ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рдкреНрд░рдХрд╛рд░ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдкрд░ рд╣рдореЗрдВ рдПрдиреНрдХреЛрдбреЗрдб рдкреНрд░рдХрд╛рд░ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреЙрдЗрдВрдЯрд░ рдорд┐рд▓рддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рд╣рдордиреЗ рдкрд╣рд▓реЗ рд╕реЗ рдХрд╛рдо рдХрд░ рдЪреБрдХреЗ рд╣реИрдВ, рддреЛ рд░реЛрдХ рджреЗрдВред рдЖрд░рдВрдн рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдмрд╕ рдПрдХ рд╡рд░реНрдЧ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ рдЬрд┐рд╕рдореЗрдВ std :: set <const void *> * m_pGuardPointers рд╢рд╛рдорд┐рд▓ рдереЗред рдпрджрд┐ рд╕реЗрдЯ рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдПрдХ рдкреЙрдЗрдВрдЯрд░ рд╣реИ, рддреЛ рдпрд╣ рд░реБрдХрдиреЗ рдХрд╛ рд╕рдордп рд╣реИред
рдЬрдм рдХрдИ рдмрд╛рд░ рдЗрд╕ рддрд░рд╣ рдХреЗ рдмрджрд▓рд╛рд╡ рдХреЗ рдмрд╛рдж рдХрд╛рд░реНрдпрдХреНрд░рдо рдХрд╛ рдкреНрд░рджрд░реНрд╢рди рдЧрд┐рд░ рдЧрдпрд╛ рддреЛ рдореБрдЭреЗ рдЖрд╢реНрдЪрд░реНрдп рдирд╣реАрдВ рд╣реБрдЖред рдореБрдЭреЗ рдПрдХ рд╕рдорд╛рди рдкреНрд░рднрд╛рд╡ рдХреА рдЙрдореНрдореАрдж рдереАред рдореИрдВрдиреЗ рдЧрддрд┐ рднреА рдирд╣реАрдВ рдорд╛рдкреА, рдФрд░ рдЗрд╕рд▓рд┐рдП рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реИ рдХрд┐ рдпрд╣ рдмрд╣реБрдд рдзреАрдорд╛ рд╣реИ рдФрд░ рдЗрд╕рдХрд╛ рдХрд╛рд░рдг рд╕реНрдкрд╖реНрдЯ рд╣реИред рдЖрдорддреМрд░ рдкрд░, рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдХреЗ "рдирд┐рд╖реНрдХрд░реНрд╖" рдХреА рдЧрд╣рд░рд╛рдИ рдмрд╣реБрдд рдЕрдЪреНрдЫреА рдирд╣реАрдВ рд╣реИ, рдФрд░ рдРрд╕реЗ рдорд╛рдорд▓реЛрдВ рдХреЗ рд▓рд┐рдП рднрд╛рд░реА рддреЛрдкрдЦрд╛рдиреЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдХреЗрд╡рд▓ рдмреЗрд╡рдХреВрдлреА рд╣реИ:
рдЯрд╛рдЗрдкрдбрд┐рдл рд▓рдВрдмреЗ рд▓рдВрдмреЗ; рд▓рдВрдмреА x;
рддреБрд░рдВрдд рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдлреЙрд░реНрдо рдХреА рдПрдХ рдХреНрд▓рд╛рд╕ рд▓рд┐рдЦреА рдЧрдИ (рд╕рдВрдХреНрд╖рд┐рдкреНрдд рд░реВрдк рдореЗрдВ рджреА рдЧрдИ):
рдХреНрд▓рд╛рд╕ CPointerDuplacateGuard { рд╕реНрдерд┐рд░ рдХрд╛рд╕реНрдЯ size_t QuickMaxSize = 10; const void * m_ptrs [QuickMaxSize]; size_t m_index; std :: set <const void *> * m_pGuardPointers; рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ: CPointerDuplacateGuard (); CPointerDuplacateGuard (рдХрд╛рд╕реНрдЯ CPointerDuplacateGuard * рдЬрдирдХ); ... };
рд╢реБрд░реБрдЖрдд рдореЗрдВ, рд╣рдо 10 рддрддреНрд╡реЛрдВ рдХреЗ рдПрдХ рд╕рд╛рдзрд╛рд░рдг рд╕рд░рдгреА рдореЗрдВ рдкреЙрдЗрдВрдЯрд░реНрд╕ рдХреЛ рд╕рд╣реЗрдЬрддреЗ рд╣реИрдВ рдФрд░ рджреЗрдЦрддреЗ рд╣реИрдВ, рдФрд░ рдЙрд╕рдХреЗ рдмрд╛рдж рд╣реА рд╣рдо рд╕реЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВред рдпрд╣ рдмрд╣реБрдд рдмреЗрд╣рддрд░ рд╣реЛ рдЧрдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕ рддрдВрддреНрд░ рдХреЗ рдмрд┐рдирд╛ рд╕рдм рдХреБрдЫ рдХрдИ рдЧреБрдирд╛ рдзреАрдорд╛ рд╣реИред
рдФрд░ рдпрд╣рд╛рдБ рдореИрдВрдиреЗ рддрдп рдХрд┐рдпрд╛ рдХрд┐ рдпрд╣ рдЗрдВрдЯреЗрд▓ рд╡реАрдЯреНрдпреВрди рдПрдореНрдкрд▓реАрдлрд╛рдпрд░ рдПрдХреНрд╕рдИ 2011 рдмреАрдЯрд╛ рдХреЛ рджреЗрдЦрдиреЗ рдХрд╛ рд╕рдордп рдерд╛ред рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рдХрд╛рд░рдг рд╣реИред рдпрд╣рд╛рдБ, рдкреНрд░реЛрдлрд╛рдЗрд▓рд░ рдХрд╛ рд╕реНрд╡рд╛рдЧрдд рд╣реИред рдпрд╣ рдкреНрд░рд╢реНрди рдХрд╛ рдЙрддреНрддрд░ рджреЗрдиреЗ рдореЗрдВ рдорджрдж рдХрд░реЗрдЧрд╛, рдХреНрдпрд╛ рдкреНрд░рджрд░реНрд╢рди рдХреЗрд╡рд▓ std :: set рдХреЗ рдЙрдкрдпреЛрдЧ рд╕реЗ рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рд╣реИ, рдпрд╛ рдирд┐рд░рдВрддрд░ рдкреЙрдЗрдВрдЯрд░ рдЪреЗрдХ рдХреЗ рдЙрдкрдпреЛрдЧ рд╕реЗ рдордВрджреА рд╢реБрд░реВ рдХреА рдЧрдИ рд╣реИред рдпрджрд┐ рдореБрдЦреНрдп рдкреНрд░рджрд░реНрд╢рди рдбреНрд░реЙрдк std :: set рдХреЗ рдХрд╛рд░рдг рд╣реИ, рддреЛ рдЖрдкрдХреЛ QuickMaxSize рдХрд╛ рдорд╛рди рдмрдврд╝рд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдпрд╣ std рдХреЗ рдЙрдкрдпреЛрдЧ рдореЗрдВ рджреЗрд░реА рдХрд░реЗрдЧрд╛ :: рд╕рдмрд╕реЗ рдЪрд░рдо рдорд╛рдорд▓реЗ рдХреЗ рд▓рд┐рдП рд╕реЗрдЯред рдпрджрд┐ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдзреАрдорд╛ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдЖрдЧреЗ рд╕реЛрдЪреЗрдВред
рдореБрдЭреЗ рддреБрд░рдВрдд рдХрд╣рдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдореЗрд░реЗ рдкрд╛рд╕ Intel VTune рдПрдореНрдкрд▓реАрдлрд╛рдпрд░ XE 2011 рдмреАрдЯрд╛ рдХреЗ рд╕рд╛рде рдареАрдХ рд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рдХрд╛ рдзреИрд░реНрдп рдирд╣реАрдВ рдерд╛ред рд╡рд╣ рдХрд╛рдо рдореЗрдВ рдЕрдХрд▓реНрдкрдиреАрдп рдмреНрд░реЗрдХрд┐рдВрдЧ рдХрд╛ рдкрд░рд┐рдЪрдп рджреЗрддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐ рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ рдХрд╛рдлреА рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рдкреНрд░рдгрд╛рд▓реА рд╣реИ (4 рдХреЛрд░, 8 рдЬреАрдмреА рдореЗрдореЛрд░реА), рдЕрдЧрд░ рдЗрдВрдЯреЗрд▓ рд╡реАрдЯреАрдПрди рдПрдореНрдкрд▓реАрдлрд╛рдпрд░ рдПрдХреНрд╕рдИ 2011 рдмреАрдЯрд╛ рд╡рд┐рдВрдбреЛ рдЦреБрд▓реА рд╣реИ, рддреЛ рдХреЛрдб рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдПрдХ рд╕рд░рд▓ рдЖрдВрджреЛрд▓рди рднреА рдкрд░рд┐рд╢реНрд░рдо рдФрд░ рдЭрдЯрдХреЗ рдХреЗ рд╕рд╛рде рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, Intel VTune рдПрдореНрдкрд▓реАрдлрд╛рдпрд░ XE 2011 рдЦреБрдж рдХреБрдЫ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдмрд▓реНрдХрд┐, рдпрд╣ рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЛ рд▓реЛрдб рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдирд╣реАрдВ рд▓рд┐рдЦрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдХреНрдпрд╛ рдХрд░рддрд╛ рд╣реИред рдирд┐рд░рд╛рдзрд╛рд░ рдирд╣реАрдВ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдореИрдВ рдбреЗрдореЛ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рджреЗ рджреВрдВрдЧрд╛ред
рд╕реНрдкрд╖реНрдЯрддрд╛ рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ devenv.exe рдХреЛ 4 рдХреЛрд░ рдореЗрдВ рд╕рдВрд▓рдЧреНрди рдХрд┐рдпрд╛ред
рддреЛ, рдЕрдм рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдЦреБрд▓реА рд╣реИ, рдХреБрдЫ рднреА рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред рдЖрдВрдХрдбрд╝рд╛ рдмрддрд╛рддрд╛ рд╣реИ рдХрд┐ рдЪреМрдереЗ рдХреЛрд░ рдХрд╛ рд▓реЛрдб рд╢реВрдиреНрдп рдХреЗ рдХрд░реАрдм рд╣реИ:
рдЕрдм рдореИрдВ рд╕рд┐рд░реНрдл Intel VTune рдПрдореНрдкрд▓реАрдлрд╛рдпрд░ XE 2011 рд▓реЙрдиреНрдЪ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рдореИрдВ рдЕрднреА рдЗрд╕реЗ рд╢реБрд░реВ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рдореИрдВ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдПрдирд╛рд▓рд┐рд╕рд┐рд╕ рдирд╣реАрдВ рдХрд░рддрд╛ рдФрд░ рдХреБрдЫ рднреА рдирд╣реАрдВ рдХрд░рддрд╛ред рд▓реЗрдХрд┐рди рдЪреМрдерд╛ рдХреЛрд░ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╡реНрдпрд╛рдкреНрдд рд╣реИ:
рдпрд╣ рддреБрд░рдВрдд рдХрд┐рд╕реА рднреА рддрд░рд╣ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрд╕рд╣рдЬ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рдЬрд╣рд╛рдБ рднреА рд╕рдВрднрд╡ рд╣реЛ рд╡рд╣рд╛рдБ рдХрд╛ рд╡рд╛рддрд╛рд╡рд░рдг рдзреАрдорд╛ рд╣реЛрдиреЗ рд▓рдЧрддрд╛ рд╣реИред рдпрджрд┐ рдЖрдк Intel VTune рдПрдореНрдкрд▓реАрдлрд╛рдпрд░ XE 2011 рд╡рд┐рдВрдбреЛ рдХреЛ рдмрдВрдж рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдмреНрд░реЗрдХ рд▓рдЧрд╛рдирд╛ рддреБрд░рдВрдд рдЧрд╛рдпрдм рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдХрд░реНрдиреЗрд▓ рд▓реЛрдб рдлрд┐рд░ рд╕реЗ рд╢реВрдиреНрдп рдХреЗ рдХрд░реАрдм рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рд╢рд╛рдпрдж рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ рдЧрдпрд╛ Intel VTune рдПрдореНрдкрд▓реАрдлрд╛рдпрд░ XE 2011 рдХреБрдЫ рдЙрдкрдпреЛрдЧреА рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдЬреЛ рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реИред рдЕрдЧрд░ рд╡рд╣ рдХрд░рддрд╛ рд╣реИ, рддреЛ рдЖрдкрдХреЛ рдХрдо рд╕реЗ рдХрдо рдпрд╣ рджрд┐рдЦрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдореБрдЭреЗ рдХрд┐рд╕реА рддрд░рд╣ рдХреА рдЧрд▓рддреА рдХрд╛ рдЕрд╣рд╕рд╛рд╕ рд╣реБрдЖред
рдмреНрд░реЗрдХрд┐рдВрдЧ рдиреЗ рдореБрдЭреЗ рдирд╣реАрдВ рд░реЛрдХрд╛, рдФрд░ рдореИрдВрдиреЗ рд╣рдорд╛рд░реЗ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХрд╛ рдЕрдзреНрдпрдпрди рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд┐рдпрд╛ред рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдореЛрдб рдЪреБрдирд╛, рдЬреЛ рдХреЙрд▓ рд╕реНрдЯреИрдХ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдПрдХрддреНрд░ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЖрдкрдХреЛ рдпрд╣ рд╕рдордЭрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдХрд┐ рдХреМрди рд╕реЗ рдлрд╝рдВрдХреНрд╢рди рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдордп рдмрд┐рддрд╛рддреЗ рд╣реИрдВ:
рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдЖрд╢реНрдЪрд░реНрдп рдХреЗ рдмрд┐рдирд╛ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛:
рдФрд░ рдореБрдЭреЗ рдПрдХ рдЙрдкрдпреЛрдЧреА рдкрд░рд┐рдгрд╛рдо рдорд┐рд▓рд╛:
рдЕрдзрд┐рдХрд╛рдВрд╢ рд╕рдордп std :: _ рдЯреНрд░реА рдореЗрдВ, рд╕реНрдореГрддрд┐ рдХреЛ рдЖрд╡рдВрдЯрд┐рдд рдХрд░рдиреЗ рдФрд░ рдореБрдХреНрдд рдХрд░рдиреЗ рдХреЗ рдХрд╛рд░реНрдпреЛрдВ рдореЗрдВ рд╡реНрдпрддреАрдд рд╣реЛрддрд╛ рд╣реИред рдпрд╣ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреЛ рддреБрд░рдВрдд рд╕реНрдкрд╖реНрдЯ рд╣реЛ рдЬрд╛рдПрдЧрд╛ рдХрд┐ рдореБрдЦреНрдп рдордВрджреА рдПрд╕рдЯреАрдбреА :: рд╕реЗрдЯ рдХреЗ рдЙрдкрдпреЛрдЧ рд╕реЗ рдЬреБрдбрд╝реА рд╣реИред
рдпрджрд┐ рдЖрдк рд╣реЙрдЯрд╕реНрдкреЙрдЯ рдореЛрдб рдореЗрдВ рдПрдореНрдкрд▓реАрдлрд╛рдпрд░ рдЪрд▓рд╛рддреЗ рд╣реИрдВ, рддреЛ рд╕рдорд╕реНрдпрд╛ рдХреНрд╖реЗрддреНрд░ рдмрд╣реБрдд рдЕрдзрд┐рдХ рд╕реНрдкрд╖реНрдЯ рд╣реЛ рдЬрд╛рдПрдЧрд╛:
рдЗрд╕ рд▓реЙрдиреНрдЪ рдХреЗ рдмрд╛рдж, рдХреЙрд▓ рд╕реНрдЯреИрдХ рдХреЛ рджреЗрдЦрдирд╛ рд╕рдВрднрд╡ рд╣реЛ рдЧрдпрд╛ред рд╕рдЪ рд╣реИ, рдЗрд╕ рдореЛрдб рдореЗрдВ рдореЗрд░рд╛ рдкрд╣рд▓рд╛ рд▓реЙрдиреНрдЪ рд╡рд┐рдлрд▓рддрд╛ рдореЗрдВ рд╕рдорд╛рдкреНрдд рд╣реБрдЖред рдореБрдЭреЗ рдЪреЗрддрд╛рд╡рдиреА рджреА рдЧрдИ рдереА рдХрд┐ "рд╕рдЯреАрдХ рд╕реАрдкреАрдпреВ рд╕рдордп рдПрдХрддреНрд░ рдХрд░реЗрдВ" рдЪреЗрдХрдмреЙрдХреНрд╕ рдЪрд╛рд▓реВ рд╣реЛ рдЬрд╛рдП, рд╕рдм рдХреБрдЫ рдзреАрдорд╛ рд╣реЛ рдЬрд╛рдПрдЧрд╛ред рд▓реЗрдХрд┐рди рдпрд╣ рдХрд┐рд╕реА рднреА рддрд░рд╣ рдзреАрд░реЗ-рдзреАрд░реЗ рдирд┐рдХрд▓рд╛ред рдЬрдм рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рд╕реНрдЯреИрдХ рд╡рд┐рд╕реНрддрд╛рд░ рдмрдЯрди рджрдмрд╛рдпрд╛, рддреЛ рдореИрдВрдиреЗ рдкрд░рд┐рдгрд╛рдо рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдирд╣реАрдВ рдХреА (рдореИрдВрдиреЗ 15 рдорд┐рдирдЯ рдЗрдВрддрдЬрд╛рд░ рдХрд┐рдпрд╛)ред
рдЪреЗрдХрдорд╛рд░реНрдХ рдХреЗ рдмрд┐рдирд╛ рд╢реБрд░реВ рдХрд░рдиреЗ рд╕реЗ рдореБрдЭреЗ рдЖрд╡рд╢реНрдпрдХ рдЬрд╛рдирдХрд╛рд░реА рджрд┐рдЦрд╛рдИ рджреАред рд▓реЗрдХрд┐рди рдпрд╣рд╛рдВ рдореИрдВ рдорд░рд╣рдо рдореЗрдВ рдПрдХ рдордХреНрдЦреА рдирд╣реАрдВ рдЬреЛрдбрд╝ рд╕рдХрддрд╛ред рдХрд╛рд░реНрдпрд╛рддреНрдордХ рд░реВрдк рд╕реЗ, рдЙрдкрдХрд░рдг рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдмрджрд╕реВрд░рдд рд╣реИред рд╣рд░ рд╕рдордп, рдХреБрдЫ рдЕрд▓рдЧ рд╣реЛ рд░рд╣рд╛ рд╣реИ, рдирд╣реАрдВ redrawing, рдХреБрдЫ smearing рд╣реИред рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЕрд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдФрд░ рдЕрдкреНрд░рд┐рдп рд╣реИ:
рд╣рд╛рд▓рд╛рдВрдХрд┐, рди рдХреЗрд╡рд▓ рдЙрдкрд╕реНрдерд┐рддрд┐ рдХреЛ рдЕрднрд┐рд╡реНрдпрдХреНрдд рдХрд┐рдпрд╛ред рдХрднреА-рдХрднреА рдХрд┐рд╕реА рдХрд╛рд░рдг рд╕реЗ рдпрд╣ рдХреЛрдб рдХреЗ рдЧрд▓рдд рдЦрдВрдб рдХреЛ рдлреЗрдВрдХрддрд╛ рд╣реИ рдЬреЛ рдЖрд╡рд╢реНрдпрдХ рд╣реИред
рд╣рд╛рд▓рд╛рдВрдХрд┐, рдореИрдВрдиреЗ рдЕрднреА рднреА рд╡рд╛рдВрдЫрд┐рдд рдкрд░рд┐рдгрд╛рдо рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ред рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рдпрджрд┐ рдЖрдк рд╕рд░рдгреА рдХрд╛ рдорд╛рди 64 рдкрд░ рд╕реЗрдЯ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдкреНрд░рджрд░реНрд╢рди рд▓рдЧрднрдЧ рдЙрд╕реА рд╕реНрддрд░ рдкрд░ рд▓реМрдЯрддрд╛ рд╣реИред рдирдпрд╛ рд╕рдмрд╕рд┐рд╕реНрдЯрдо рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рд░реВрдк рд╕реЗ рдХрд╛рдо рдХреЛ рдзреАрдорд╛ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рд╕реБрдзрд╛рд░:
рд╕реНрдерд┐рд░ рдХрд╛рд╕реНрдЯ size_t QuickMaxSize = 64;
рдЗрд╕рдХреА рдкреБрд╖реНрдЯрд┐ рдПрдореНрдкрд▓реАрдлрд╛рдпрд░ рдиреЗ рдХреА рд╣реИред рдЕрдм рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрд▓рдЧ рдХрд╛рд░реНрдп, рдЬреИрд╕реЗ рдХрд┐ strncmp, рд╕рд╛рдордиреЗ рдЖрдП рд╣реИрдВ:
рдирд┐рд╖реНрдХрд░реНрд╖
рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдХреА рджреБрдирд┐рдпрд╛ рдореЗрдВ рдХреЛрдИ рдЦреБрд╢реА рдирд╣реАрдВ рд╣реИред рддреНрд░реБрдЯрд┐рдпреЛрдВ рдФрд░ рдХрдорд┐рдпреЛрдВ рдХреЗ рдЖрд╕рдкрд╛рд╕ред рдкреАрд╡реАрдПрд╕-рд╕реНрдЯреВрдбрд┐рдпреЛ рдореЗрдВ, рдФрд░ рд╣рд░ рдЬрдЧрд╣ред рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рдЙрдирд╕реЗ рд▓рдбрд╝рдирд╛ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдХреА рдорд╣рд╛рди рдЬрдЯрд┐рд▓рддрд╛ рдХреЛ рдХрдо рд╕реЗ рдХрдо рдкрд╣рдЪрд╛рдирдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдмрдбрд╝рд╛ рдХрджрдо рд╣реИ рдФрд░ рдЗрд╕рдореЗрдВ рддреНрд░реБрдЯрд┐рдпрд╛рдВ рд╣реИрдВред
Intel VTune рдПрдореНрдкрд▓реАрдлрд╛рдпрд░ рдЯреВрд▓ рдХреЗ рд╕рдВрдмрдВрдз рдореЗрдВ рдкреЛрд╕реНрдЯ рдХреБрдЫ рд╣рдж рддрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред рдЬрд╛рд╣рд┐рд░ рддреМрд░ рдкрд░ рдпрд╣ рдПрдХ рдбреЗрд╡рд▓рдкрд░ рдХреЗ рджрд░реНрдж рдХреА рддрд░рд╣ рд╣реИред рд╡реЗ рдПрдХ рдФрд░ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдЬреЛ рджреБрдирд┐рдпрд╛ рдореЗрдВ рд╕реБрдзрд╛рд░ рдХрд░реЗрдЧрд╛, рдФрд░ рдЬрдм рдЖрдк рдЗрд╕рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рд╕рдордЭрддреЗ рд╣реИрдВ рдХрд┐ рдЖрдкрдиреЗ рдЧреБрдгрд╡рддреНрддрд╛ рдирд┐рдпрдВрддреНрд░рдг рдкрд░ рд╡рд┐рдкрдгрди рдпрд╛ рд╕реБрдВрджрд░ рдЪрд┐рддреНрд░реЛрдВ рдкрд░ рдЕрдзрд┐рдХ рдЦрд░реНрдЪ рдХрд┐рдпрд╛ред рдЦреИрд░, рдпрд╣ рдХрд┐рд╕ рддрд░рд╣ рдХрд╛ рдкреНрд░реЛрдлрд╛рдЗрд▓ рд╣реИ рдЬреЛ рдзреАрдорд╛ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ? рдЬреВрддреЗ рдХреЗ рдмрд┐рдирд╛ рд╢реЛрдореЗрдХрд░ред :)
рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдпрд╣ рд░рд┐рд▓реАрдЬ рд╣реЛрдЧреА, рдпрд╛ рдХрдо рд╕реЗ рдХрдо рдмрд╣реБрдд рдХреБрдЫ рддрдп рд╣реЛ рдЬрд╛рдПрдЧрд╛ред рдЙрдкрдХрд░рдг рд╣реА рдмрд╣реБрдд рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рд╣реИред рд▓реЗрдХрд┐рди, рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдореИрдВ рдЕрднреА рддрдХ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рд╕рд┐рдлрд╛рд░рд┐рд╢ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ред рдмреЗрд╢рдХ, рдЗрдВрдЯреЗрд▓ рдкрд░ рдРрд╕рд╛ рдмреНрд▓реЙрдЧ рд▓рд┐рдЦрдирд╛ рдХрд┐рд╕реА рддрд░рд╣ рдЕрдЪреНрдЫрд╛ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдИрдорд╛рдирджрд╛рд░реА рд╕реЗред рдореБрдЭреЗ рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдЗрд╕рдХреА рд╕рд░рд╛рд╣рдирд╛ рдХрд░реЗрдВрдЧреЗред