
рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рд╡рд░реНрдЧ рдХреЗ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХреЗ рд╕рдорд╛рдирд╛рдВрддрд░рдХрд░рдг рдХреА рджрдХреНрд╖рддрд╛ рдореЗрдВ рд╕реБрдзрд╛рд░ рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдирд┐рд╖реНрдкрд╛рджрди рдЪрд░рдгреЛрдВ рдХрд╛ рдЕрдиреБрдХреНрд░рдорд┐рдХ рдФрд░ рд╕рдорд╛рдирд╛рдВрддрд░ рджреЛрдиреЛрдВ рд╣реИред рдЗрдВрдЯреЗрд▓ рдЯреАрдмреАрдмреА рдХрд╛рд░реНрдп рдкреНрд░рдмрдВрдзрди рдХрд╛ рдзреНрдпрд╛рди рд░рдЦрдХрд░ рдФрд░ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдереНрд░реЗрдбреНрд╕ рдХреЗ рдмреАрдЪ рд╕рдВрддреБрд▓рди рдмрдирд╛рдХрд░ рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдХрд┐рдП рдЧрдП рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдкреНрд░рдпрд╛рд╕ рдФрд░ рд╕рдордп рдХреЛ рдХрдо рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░ рд╕рдХрддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреЗ рдЪрд░рдгреЛрдВ рдХреЛ рдмрдирд╛рдиреЗ рд╡рд╛рд▓реЗ рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдФрд░ рдЧрдарди рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреА рдЬрдЯрд┐рд▓рддрд╛ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдПрдХ рдЧреИрд░-рддреБрдЪреНрдЫ рд╕рдорд╕реНрдпрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИ, рдЬреЛ рдХрд┐ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдореЗрдВ рдЕрдХреНрд╕рд░ рд╣реЛрддрд╛ рд╣реИред рдореЙрдирд┐рдЯрд░рд┐рдВрдЧ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдФрд░ рднреА рдореБрд╢реНрдХрд┐рд▓ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдЕрдЧрд░ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдореЗрдВ рдирд┐рдЧрд░рд╛рдиреА рдХреЗ рд▓рд┐рдП рдЙрдкрдХрд░рдг рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рд╣реИрдВред рдЗрдВрдЯреЗрд▓ VTune рдПрдореНрдкрд▓реАрдлрд╛рдпрд░ рдореЗрдВ рдХрдореНрдкреНрдпреВрдЯрд┐рдВрдЧ рдЯрд╛рд╕реНрдХ рдПрдирд╛рд▓рд┐рд╕рд┐рд╕ рдЯреВрд▓реНрд╕ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдЧреНрд░рд╛рдлрд┐рдХрд▓ рд░реВрдк рдореЗрдВ рдмрд╣реБ-рдереНрд░реЗрдбреЗрдб рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рдирд┐рд╖реНрдкрд╛рджрди рд╕рдВрд░рдЪрдирд╛ рдкреНрд░рд╕реНрддреБрдд рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддреЗ рд╣реИрдВ, рд╡рд┐рд╢реНрд▓реЗрд╖рдг рджрдХреНрд╖рддрд╛ рдореЗрдВ рд╡реГрджреНрдзрд┐ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд╡рд┐рдХрд╛рд╕ рд╕рдордп рдХреЛ рдХрд╛рдлреА рдХрдо рдХрд░рддреЗ рд╣реИрдВред рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ, рд╣рдо рдПрдХ рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдХрд┐рдП рдЧрдП рдХрд╛рд░реНрдп рдХреЗ рдПрдХ рд╕рд░рд▓ рдЙрджрд╛рд╣рд░рдг рдХреЛ рджреЗрдЦреЗрдВрдЧреЗ, рдФрд░ рд╣рдо рдЗрд╕реЗ рдЯреАрдмреАрдмреА рдкрд╛рдЗрдкрд▓рд╛рдЗрди рд╡рд░реНрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рдорд╛рдирд╛рдВрддрд░ рдХрд░реЗрдВрдЧреЗ, рдЗрд╕реЗ рд╡реАрдЯреАрдПрди рдПрдореНрдкрд▓реАрдлрд╛рдпрд░ рдХреЗ рд╕рд╛рде рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░реЗрдВрдЧреЗ, рдФрд░ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдкреНрд░рджрд░реНрд╢рди рдореЗрдВ рд╕реБрдзрд╛рд░ рдХрд░реЗрдВрдЧреЗред
рдкрд░рд┐рдЪрдп
рдЬреИрд╕рд╛ рдХрд┐ рдЬреНрдЮрд╛рдд рд╣реИ, рд╕рд╛рдорд╛рдиреНрдп рдорд╛рдорд▓реЗ рдореЗрдВ рдПрдХ рдХрдореНрдкреНрдпреВрдЯреЗрд╢рдирд▓ рдХрд╛рд░реНрдп рдХреЛ рдЙрдк-рдореБрдЦреМрдЯреЗ (рдЕрдкрдШрдЯрди) рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЬреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдХрдВрдкреНрдпреВрдЯрд┐рдВрдЧ рдЙрдкрдХрд░рдгреЛрдВ рджреНрд╡рд╛рд░рд╛ рд╕рдорд╛рдирд╛рдВрддрд░ рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдХрд╛рд░реНрдп рдХреЗ рдкреНрд░рдХрд╛рд░, рдпрд╛ рдЗрдирдкреБрдЯ рдбреЗрдЯрд╛ рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рдЕрдкрдШрдЯрди рдбреЗрдЯрд╛ рдкрд░, рдпрд╛ рд╕реНрд╡рдпрдВ рдХрд╛рд░реНрдп рдкрд░ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд╕реАрдзреЗ рд╢рдмреНрджреЛрдВ рдореЗрдВ рдХрд╣реЗрдВ, рдбреЗрдЯрд╛ рдЕрдкрдШрдЯрди рдХреЛ рдПрдХ рд╣реА рдПрд▓реНрдЧреЛрд░рд┐рджрдо рджреНрд╡рд╛рд░рд╛ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд▓рд┐рдП рд╕реЗрдЯ рдХрд┐рдП рдЧрдП рдЗрдирдкреБрдЯ рдбреЗрдЯрд╛ рдХреЛ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рдиреЗ рдХреЗ рд░реВрдк рдореЗрдВ рдорд╛рдирд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╡рд┐рднрд┐рдиреНрди рдХреИрд▓рдХреБрд▓реЗрдЯрд░реЛрдВ рдореЗрдВред рдХрд╛рд░реНрдпреЛрдВ рджреНрд╡рд╛рд░рд╛ рдЕрдкрдШрдЯрди - рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрдд, рд╡рд┐рднрд┐рдиреНрди рдЙрдкрдХрд░рдгреЛрдВ рджреНрд╡рд╛рд░рд╛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрдИ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдПрд▓реНрдЧреЛрд░рд┐рджрдо, рдпрд╛ рддреЛ рдПрдХ рд╣реА рдбреЗрдЯрд╛ рдпрд╛ рдЙрдирдХреЗ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╣рд┐рд╕реНрд╕реЛрдВ рдкрд░ред рдХрдВрдкреНрдпреВрдЯрд┐рдВрдЧ рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП рдЕрдкрдШрдЯрди рдХрд╛ рдореБрдЦреНрдп рдЙрджреНрджреЗрд╢реНрдп рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдирд╛ рд╣реИ рдХрд┐ рд╕рднреА рдЙрдкрд▓рдмреНрдз рдбрд┐рд╡рд╛рдЗрд╕ рдпрдерд╛рд╕рдВрднрд╡ рд╡реНрдпрд╕реНрдд рд╣реИрдВ рдЬрдмрдХрд┐ рдХрд╛рд░реНрдп рдХреА рдЧрдгрдирд╛ рдХреА рдЬрд╛ рд░рд╣реА рд╣реИред рдпрд╣ рдЗрд╕ рдХрд╛рд░реНрдп рдХреЛ рдХрд░рддреЗ рд╕рдордп рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рдореМрдЬреВрджрд╛ рд╕реЗрдЯ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХрддрдо рдкреНрд░рджрд░реНрд╢рди рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдЗрд╕реЗ рдкреВрд░рд╛ рдХрд░рдиреЗ рдореЗрдВ рд▓рдЧрдиреЗ рд╡рд╛рд▓реЗ рд╕рдордп рдХреЛ рдХрдо рдХрд░рдирд╛ред рдЗрд╕ рд╕рдВрдмрдВрдз рдореЗрдВ, рдХрд╛рд░реНрдп рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рднрд╛рдЧ рдФрд░ рд╕рдВрдкреВрд░реНрдг рдХрд╛рд░реНрдп рдХреЛ рдХрдВрдкреНрдпреВрдЯрд░ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рд╕рдВрдкреВрд░реНрдг рд░реВрдк рд╕реЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХреЗ рдЕрдиреБрдХреВрд▓рди рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ, рд╣рдо VTune рдПрдореНрдкрд▓реАрдлрд╛рдпрд░ рдПрдХреНрд╕рдИ 2013 рдкреНрд░реЛрдлрд╛рдЗрд▓рд░ рдХреЗ рдирдП рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рдЗрдВрдЯреЗрд▓ рдЯреАрдмреАрдмреА рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрдореНрдкреНрдпреВрдЯреЗрд╢рдирд▓ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреА рд╕рдВрднрд╛рд╡рдирд╛рдУрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВрдЧреЗред
рддреБрд░рдВрдд рдореИрдВ рдЖрдкрд╕реЗ рдЕрдиреБрд╡рд╛рдж рдХреЗ рдмрд┐рдирд╛ рдЕрдВрдЧреНрд░реЗрдЬреА рд╢рдмреНрджреЛрдВ рдХреА рдкреНрд░рдЪреБрд░рддрд╛ рдХреЗ рд▓рд┐рдП рдореБрдЭреЗ рдмрд╣рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣рддрд╛ рд╣реВрдВред рдпрд╣ рдЬрд╛рдирдмреВрдЭрдХрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдХреНрдпреЛрдВрдХрд┐ рдЙрдкрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рдЙрдиреНрд╣реЗрдВ рдЕрднреА рднреА рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рдФрд░ рдЙрдиреНрд╣реЗрдВ рд░реВрд╕реА рдореЗрдВ рдЕрдиреБрд╡рд╛рдж рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХреЗрд╡рд▓ рдкрд╛рдардХ рдХреЛ рднреНрд░рдорд┐рдд рдХрд░реЗрдЧрд╛ред (UPD: рдореБрдЭреЗ рдмрддрд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ рдХрд┐ рдЪрд┐рддреНрд░реЛрдВ рдореЗрдВ рдЕрдирд┐рдпрдВрддреНрд░рд┐рдд рдкрд╛рда рдореЗрд░реА рдЖрдБрдЦреЛрдВ рдХреЛ рдиреБрдХрд╕рд╛рди рдкрд╣реБрдБрдЪрд╛рддрд╛ рд╣реИ - рдореИрдВ рдЕрдиреБрд╡рд╛рдж рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реВрдБ рдФрд░ рдЬрд▓реНрдж рд╣реА рдЪрд┐рддреНрд░реЛрдВ рдХреЛ рдЕрджреНрдпрддрди рдХрд░реВрдБрдЧрд╛)
рдпрд╣ рд╕рдВрдпреЛрдЧ рд╕реЗ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдкрд░рд┐рдЪрдп рдореЗрдВ рд╕рд╛рдорд╛рдиреНрдпреАрдХрд░рдг рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдпреЛрдВ рдХреА рдПрдХ рдмрд╣реБрддрд╛рдпрдд рд╣реЛрддреА рд╣реИ, рдЬреИрд╕реЗ рдХрд┐ рдПрдХ рдХрдВрдкреНрдпреВрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо, рдПрдХ рдбреЗрдЯрд╛ рд╕реЗрдЯ, рдЖрджрд┐, рдЗрд╕рд▓рд┐рдП, рд╣рдо рдПрдХ рд╕рд╛рдорд╛рдиреНрдпреАрдХреГрдд рдЙрджрд╛рд╣рд░рдг рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рдХрд░реЗрдВрдЧреЗ рдЬрд┐рд╕рдХрд╛ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд╕рд╛рде рдмрд╣реБрдд рдХрдо рд╕рдВрдмрдВрдз рд╣реИ, рдФрд░ рдлрд┐рд░ рдзреАрд░реЗ-рдзреАрд░реЗ рдПрдХ рдЬреАрд╡рд┐рдд рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдЖрдЧреЗ рдмрдврд╝реЗрдВ, рдЬрд┐рд╕рдХрд╛ рд╣рдо рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░реЗрдВрдЧреЗред ред рдЖрдЗрдП рдПрдХ рдЧреЛрд▓рд╛рдХрд╛рд░ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ рдЬреЛ рдПрдХ рд╡реИрдХреНрдпреВрдо рдореЗрдВ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рд╣реЛрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ рдпрд╣ рдХрд┐рд╕реА рд╕реНрд░реЛрдд рд╕реЗ рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдХрд╛рд░реНрдп рд╕реЗ рдорд┐рд▓рддрд╛-рдЬреБрд▓рддрд╛ рд╣реИ, рдЗрд╕ рдбреЗрдЯрд╛ рдкрд░ рдХреБрдЫ рдЫрдВрдЯрдиреА рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛рдПрдВ рдХрд░рддрд╛ рд╣реИ, рдФрд░ рд░рд┐рд╕реАрд╡рд░ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдбреЗрдЯрд╛ рд▓рд┐рдЦрддрд╛ рд╣реИ (рдЫрд╡рд┐ 1)ред рдРрд╕реА рд╕рдВрд░рдЪрдирд╛ рдХрдИ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдХрд╛рдлреА рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╣реИ, рдЬрд┐рд╕рдХреЗ рдмреАрдЪ рдХреЛрдбреЗрдХреНрд╕, рдлрд┐рд▓реНрдЯрд░ рдпрд╛ рд╕рдВрдЪрд╛рд░ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рд╕рдмрд╕реЗ рдЬрд▓реНрджреА рджрд┐рдорд╛рдЧ рдореЗрдВ рдЖрддреЗ рд╣реИрдВред

рдЪрд┐рддреНрд░ 1
рд╡реИрдХреНрдпреВрдо рдХреА рдЧрд╣рд░рд╛рдИ рдХреЛ рд╕рдВрд░рдХреНрд╖рд┐рдд рдХрд░рдиреЗ рдФрд░ рдЙрджрд╛рд╣рд░рдг рдХреЛ рд╕рд░рд▓ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рд╕реНрд░реЛрдд рд╕реЗ рдЖрдиреЗ рд╡рд╛рд▓реЗ рдбреЗрдЯрд╛ рдХреЗ рд╣рд┐рд╕реНрд╕реЛрдВ рдХреЗ рдмреАрдЪ рд╕рдВрднрд╛рд╡рд┐рдд рд╕рдВрдмрдВрдз рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рдирд╣реАрдВ рд░рдЦреЗрдВрдЧреЗред рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рд╕рд╣реА рдирд╣реАрдВ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЬрдм рдПрдХ рдХреЛрдбреЗрдХ рдореЗрдВ рд╡реАрдбрд┐рдпреЛ рдлреНрд░реЗрдо рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рджреНрд╡рд╛рд░рд╛ рдкрдбрд╝реЛрд╕реА рдкрд┐рдХреНрд╕рд▓ рдХреА рдирд┐рд░реНрднрд░рддрд╛ рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рд╕рд╛рдорд╛рдиреНрдп рдорд╛рдорд▓реЗ рдореЗрдВ, рдЖрдк рд╣рдореЗрд╢рд╛ рдПрдХ рдкрд░реНрдпрд╛рдкреНрдд рдмрдбрд╝реЗ рдбреЗрдЯрд╛ рд╕рд░рдгреА рдХреЛ рдЖрд╡рдВрдЯрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬрд┐рд╕реЗ рдЕрдиреНрдп рд╕рд░рдгрд┐рдпреЛрдВ рд╕реЗ рд╕реНрд╡рддрдВрддреНрд░ рдорд╛рдирд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЙрд╕реА рд╕рдордп, рдбреЗрдЯрд╛ рдХреЗ рд╡рд┐рднрд┐рдиреНрди рд╣рд┐рд╕реНрд╕реЛрдВ рдкрд░ рд╕рдорд╛рдирд╛рдВрддрд░ рдореЗрдВ рдПрдХ рдХрдореНрдкреНрдпреВрдЯреЗрд╢рдирд▓ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реБрд░рдХреНрд╖рд┐рдд рд░реВрдк рд╕реЗ рдЕрдкрдШрдЯрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИ, рдЬрд┐рд╕рд╕реЗ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреА рдЧреЛрд▓рд╛рдХрд╛рд░рддрд╛ рд╡рд┐рдХреГрдд рд╣реЛрддреА рд╣реИ рдФрд░ рдпрд╣ рдЕрдВрдЬреАрд░ рдореЗрдВ рджрд┐рдЦрд╛рдП рдЧрдП рд╕рд░реНрдХрд┐рдЯ рдХреЗ рд╕рдорд╛рди рдХреБрдЫ рдмрдирд╛рддрд╛ рд╣реИред рдбреЗрдЯрд╛ рдХреНрд░рдорд┐рдХ рд░реВрдк рд╕реЗ рд╕реНрд░реЛрдд рд╕реЗ рдкрдврд╝рд╛ рдЬрд╛рддрд╛ рд╣реИ, рд╕рдорд╛рдирд╛рдВрддрд░ рдмреНрд▓реЙрдХ (рдкреА) рдореЗрдВ рд╕рдВрд╕рд╛рдзрд┐рдд рд╣реЛрддрд╛ рд╣реИред , рдФрд░ рдлрд┐рд░ рд░рд┐рд╕реАрд╡рд░ рдХреЛ рдХреНрд░рдорд┐рдХ рд░реВрдк рд╕реЗ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ (рдбрдмреНрд▓реНрдпреВ)ред

Fig.2
рдпрджрд┐ рдбреЗрдЯрд╛ рд╕реНрд░реЛрдд рдПрдХ рд╕реАрд░рд┐рдпрд▓ рдбрд┐рд╡рд╛рдЗрд╕ рд╣реИ, рдЬреИрд╕реЗ рдХрд┐ рдбрд┐рд╕реНрдХ, рдпрд╛ рдиреЗрдЯрд╡рд░реНрдХ рдЗрдВрдЯрд░рдлрд╝реЗрд╕, рддреЛ рдкрдврд╝рдиреЗ рдФрд░ рд▓рд┐рдЦрдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рднреА рдЕрдиреБрдХреНрд░рдорд┐рдХ рд╣реЛрдЧреАред рдФрд░ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдЕрдЧрд░ рдЖрдкрдХреЗ рдкрд╛рд╕ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдореБрдлреНрдд рдХрдВрдкреНрдпреВрдЯрд┐рдВрдЧ рдереНрд░реЗрдб рд╣реИрдВ, рддреЛ рдПрдХрдорд╛рддреНрд░ рдирд┐рд╖реНрдкрд╛рджрди рдЪрд░рдг рдЬреЛ рд╕рдорд╛рдирд╛рдВрддрд░ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рд╡рд╣ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХрд╛ рдирд┐рд╖реНрдкрд╛рджрди рдЪрд░рдг рд╣реИред
Amdahl рдХреЗ рдХрд╛рдиреВрди рдХреЗ рдЕрдиреБрд╕рд╛рд░ , рд╕рдорд╛рдирд╛рдВрддрд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреВрд░реЗ рдХрд╛рд░реНрдп рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдХреЛ рдмрдврд╝рд╛рдирд╛ рдЗрди рдХреНрд░рдорд┐рдХ рдЪрд░рдгреЛрдВ рддрдХ рд╕реАрдорд┐рдд рд╣реЛрдЧрд╛ред
рдЗрд╕ рд╕реАрдорд╛ рдХреЛ рдкрд╛рд░ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ рд╣реБрдП, рд╣рдо рдЗрд╕ рддрд░рд╣ рд╕реЗ рдХрд╛рд░реНрдп рдХреЗ рдХреБрдЫ рд╣рд┐рд╕реНрд╕реЛрдВ рдХреЛ рдкреБрдирд░реНрд╡рд┐рддрд░рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рддрд╛рдХрд┐ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рд╣реЛ рд╕рдХреЗ рдХрд┐ рд╕рднреА рдХрд╛рд░реНрдпрдХрд╛рд░реА рдкреНрд░рд╡рд╛рд╣ рдЗрд╕рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдореЗрдВ рд▓рдЧрд╛рддрд╛рд░ рд╡реНрдпрд╕реНрдд рд╣реИрдВред рдпрд╣ рд╕рдВрднрд╡ рд╣реИ рдпрджрд┐ рдбреЗрдЯрд╛ рднрд╛рдЧ рд╕реНрд╡рддрдВрддреНрд░ рд╣реИрдВ рдФрд░ рдЙрдирдХрд╛ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреНрд░рдо рдорд╣рддреНрд╡рдкреВрд░реНрдг рдирд╣реАрдВ рд╣реИ, рдпрд╛ рдЖрдЙрдЯрдкреБрдЯ рдкрд░ рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░рддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдереНрд░реЗрдб (рдЪрд┐рддреНрд░ 3) рджреНрд╡рд╛рд░рд╛ рдПрдХ рд╣реА рдкрдврд╝реЗрдВ / рдкреНрд░рдХреНрд░рд┐рдпрд╛ / рд▓рд┐рдЦреЗрдВ рдЪрд░рдгреЛрдВ рдХрд╛ рд╕рдорд╛рд╡реЗрд╢ рд╣реЛрддрд╛ рд╣реИред рд░реАрдб рдПрдВрдб рд░рд╛рдЗрдЯ рдЪрд░рдг рдЕрднреА рднреА рдЕрдиреБрдХреНрд░рдорд┐рдХ рдмрдиреЗ рд╣реБрдП рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╡реЗ рдереНрд░реЗрдбреНрд╕ рдХреЗ рдмреАрдЪ рд╡рд┐рддрд░рд┐рдд рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред рдпрд╣ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдХреЛрдИ рднреА рд╕реНрдЯреНрд░реАрдо рд░реАрдбрд┐рдВрдЧ рдпрд╛ рд░рд╛рдЗрдЯрд┐рдВрдЧ рд╕реНрдЯреЗрдЬ рд╢реБрд░реВ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдЬрдмрдХрд┐ рдХреЛрдИ рднреА рд╕реНрдЯреНрд░реАрдо рдПрдХ рд╣реА рд╕реНрдЯреЗрдЬ рдкрд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рджреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдзрд╛рд░рд╛рдПрдВ рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдбреЗрдЯрд╛ рдХреЛ рдХрд╛рдлреА рдкрдврд╝ рдФрд░ рд▓рд┐рдЦ рд╕рдХрддреА рд╣реИрдВред

3 рдЪрд┐рддреНрд░
рдЗрд╕ рддрд░рд╣ рд╕реЗ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреЛ рдкреБрдирд░реНрд╕рдВрд░рдЪрдирд╛ рдХрд░рддреЗ рд╣реБрдП, рд╣рдордиреЗ рдФрдкрдЪрд╛рд░рд┐рдХ рд░реВрдк рд╕реЗ рдХрд╛рд░реНрдп рд╡рд┐рдШрдЯрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛, рдЕрд░реНрдерд╛рдд, рдХрд╛рд░реНрдп рдХреЗ рд╡рд┐рднрд┐рдиреНрди рдЪрд░рдгреЛрдВ рдХреЛ рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдереНрд░реЗрдб рджреНрд╡рд╛рд░рд╛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдЙрд╕реА рд╕рдордп, рдбреЗрдЯрд╛ рдХреЛ рднрд╛рдЧреЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рдирд╛, рдФрд░ рд╡рд┐рднрд┐рдиреНрди рдзрд╛рд░рд╛рдУрдВ рдореЗрдВ рдЙрди рдкрд░ рд╕рдорд╛рди рд╕рдВрдЪрд╛рд▓рди рдХрд░рдирд╛, рд╣рдо рдбреЗрдЯрд╛ рдЕрдкрдШрдЯрди рдХрд╛ рднреА рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рдпрд╣ рд╕рдВрдпреБрдХреНрдд рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╣рдореЗрдВ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдХрд┐ рдереНрд░реЗрдбреНрд╕ рд▓рдЧрд╛рддрд╛рд░ рдХрд╛рдо рдореЗрдВ рд╡реНрдпрд╕реНрдд рд╣реИрдВ, рдЬрд┐рд╕рд╕реЗ рдкреВрд░реЗ рдХрд╛рд░реНрдп рдХреА рджрдХреНрд╖рддрд╛ рдЕрдзрд┐рдХрддрдо рд╣реЛ рдЬрд╛рддреА рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреА рдЧреЛрд▓рд╛рдХрд╛рд░рддрд╛ рдЕрднреА рднреА рдЗрд╕ рддрд░рд╣ рд╕реЗ рдмрдиреА рд╣реБрдИ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╣рдо рдкрдврд╝рдиреЗ / рд▓рд┐рдЦрдиреЗ рд╡рд╛рд▓реЗ рдЙрдкрдХрд░рдгреЛрдВ рдореЗрдВ рд╕рдВрднрд╛рд╡рд┐рдд рджреЗрд░реА рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рдирд╣реАрдВ рд░рдЦрддреЗ рд╣реИрдВ, рдФрд░ рд╣рдо рдпрд╣ рднреА рдорд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдбреЗрдЯрд╛ рдЗрдирдкреБрдЯ рдореЗрдВ рдЕрдирд┐рдпрдорд┐рддрддрд╛рдУрдВ рдХреЛ рд╕реБрдЪрд╛рд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдВрдкреНрдпреВрдЯрд┐рдВрдЧ рдкреНрд░рд╡рд╛рд╣ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рдХрд╛рдо рд╣реИ, рдФрд░ рдХрдВрдкреНрдпреВрдЯрд┐рдВрдЧ рдбрд┐рд╡рд╛рдЗрд╕ рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рд▓рд┐рдП рд╣рдореЗрд╢рд╛ рдЙрдкрд▓рдмреНрдз рд╣реИрдВред рдПрд▓реНрдЧреЛрд░рд┐рдереНрдоред
рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЬреАрд╡рди рдореЗрдВ, рдЪреАрдЬреЗрдВ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рд╣реЛ рд╕рдХрддреА рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХреЛрдИ рднреА рдбреЗрдЯрд╛ рд╕рдВрдЪрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрдирдкреБрдЯ / рдЖрдЙрдЯрдкреБрдЯ рдбрд┐рд╡рд╛рдЗрд╕реЛрдВ рджреНрд╡рд╛рд░рд╛ рдЦрд░реНрдЪ рдХрд┐рдП рдЧрдП рд╕рдордп рдХреЗ рдПрдХ рд╕реНрдерд┐рд░ рдореВрд▓реНрдп рдХреА рдЧрд╛рд░рдВрдЯреА рдирд╣реАрдВ рджреЗрддрд╛ рд╣реИ, рдпрд╛ рд╡рд╣ рдкреНрд░реЛрд╕реЗрд╕рд░ рдЗрд╕ рд╕рдордп рдореБрдХреНрдд рд╣реИ, рдпрд╛ рдпрд╣ рдХрд┐ рдбреЗрдЯрд╛ рд╕рдЬрд╛рддреАрдп рд╣реИрдВ рдФрд░ рдЙрд╕реА рдПрд▓реНрдЧреЛрд░рд┐рджрдо рджреНрд╡рд╛рд░рд╛ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд▓рд┐рдП рдЙрд╕реА рд╕рдордп рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рд╕реНрд░реЛрдд рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЗ рдХрд╛рд░рдг, рдЕрдХреНрд╕рд░, рдЗрдирдкреБрдЯ рдбреЗрдЯрд╛ рджреЗрд░реА рдХреЗ рд╕рд╛рде рдЖ рд╕рдХрддрд╛ рд╣реИред рдкреНрд░реЛрд╕реЗрд╕рд░ рдПрдХ рдЙрдЪреНрдЪ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдХреЗ рд╕рд╛рде рдЕрдиреНрдп рдХрд╛рд░реНрдпреЛрдВ рдореЗрдВ рд╡реНрдпрд╕реНрдд рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдХреБрдЫ рдбреЗрдЯрд╛ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рд╕рдордп рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЫреЛрдЯреЗ рд╡рд┐рд╡рд░рдг рд╡рд╛рд▓реЗ рдлрд╝реНрд░реЗрдо рдХреЛ рдПрдХ рд╕рдорд╛рди рдкреГрд╖реНрдарднреВрдорд┐ рд╡рд╛рд▓реЗ рдлрд╝реНрд░реЗрдо рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рд╕рдВрдкреАрдбрд╝рди рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рджреНрд╡рд╛рд░рд╛ рдЕрдзрд┐рдХ рд▓рдВрдмреЗ рд╕рдордп рддрдХ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╕рдВрдЪрд╛рд▓рди рд▓рд┐рдЦреЗрдВ, рдПрдХ рдирд┐рдпрдо рдХреЗ рд░реВрдк рдореЗрдВ, рдПрдХ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЕрдзрд┐рдХрд╛рдВрд╢ рдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ рдореЗрдВ рд╡реЗ рдмрдлрд░ рд╣реИрдВ рдФрд░ рд░рд┐рд╕реАрд╡рд░ рдХреЛ рд╢рд╛рд░реАрд░рд┐рдХ рд░реВрдк рд╕реЗ рдбреЗрдЯрд╛ рд▓рд┐рдЦрдирд╛ рдмрд╛рдж рдореЗрдВ рджреЗрд░ рд╣реЛ рд╕рдХрддреА рд╣реИред рдпрджреНрдпрдкрд┐ рдпрд╣ рдХреЗрд╡рд▓ рддрднреА рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдЬрдм рдЗрдирдкреБрдЯ рдкрд░ рдЖрдЙрдЯрдкреБрдЯ рдХрд╛ рдлрд┐рд░ рд╕реЗ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдореМрдЬреВрджрд╛ рдкреНрд░рдгрд╛рд▓реА рдореЗрдВ рд╕рдорд╕реНрдпрд╛ рдХреЗ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдХреНрд░рд┐рдпрд╛рдиреНрд╡рдпрди рдХреЗ рд▓рд┐рдП рдПрдХ рдЧреЛрд▓рд╛рдХрд╛рд░-рд╡реИрдХреНрдпреВрдо рдореЙрдбрд▓ рд╕реЗ рдЪрд▓рддреЗ рд╣реБрдП, рдХрдиреНрд╡реЗрдпрд░ рдХреА рд╕рднреА рдирд┐рдпреЛрдЬрд┐рдд рджрдХреНрд╖рддрд╛ рд╢реВрдиреНрдп рд╣реЛ рд╕рдХрддреА рд╣реИ, рдФрд░ рд╣рдорд╛рд░реА рдЬрдЯрд┐рд▓ рдпреЛрдЬрдирд╛ рдореВрд▓ рдФрд░ рд╕рд░рд▓ рдПрдХ (рдЫрд╡рд┐ 4) рдХреЗ рд░реВрдк рдореЗрдВ рдЕрдХреНрд╖рдо рд░рд╣реЗрдЧреАред

рдЪрд┐рддреНрд░ 4
рд▓реЛрдб рдХреЛ рдЕрд╕рдВрддреБрд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рдХрд╛рд░рдг рд╣реЛрдиреЗ рд╡рд╛рд▓реА рдЕрдХреНрд╖рдорддрд╛рдУрдВ рдХреЛ рдЦрддреНрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рдкреНрд░рддреНрдпреЗрдХ рдереНрд░реЗрдб рджреНрд╡рд╛рд░рд╛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд╛рд░реНрдп рдХреЛ рдЧрддрд┐рд╢реАрд▓ рд░реВрдк рд╕реЗ рд╡рд┐рддрд░рд┐рдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕рдХреЗ рд▓рд┐рдП рд╡реНрдпрд╕реНрдд рдереНрд░реЗрдбреНрд╕ рдХреА рд╕реНрдерд┐рддрд┐ рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА, рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рджреНрд╡рд╛рд░рд╛ рд╕рдВрд╕рд╛рдзрд┐рдд рдбреЗрдЯрд╛ рдХреЗ рдЖрдХрд╛рд░ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдирд╛ рдФрд░ рдлреНрд░реА рдереНрд░реЗрдбреНрд╕ рдХреЗ рдмреАрдЪ рдЙрдк-рдорд╛рд╕реНрдХ рд╡рд┐рддрд░рд┐рдд рдХрд░рдирд╛ред рдЗрд╕ рддрд░рд╣ рдХреЗ рдмреБрдирд┐рдпрд╛рджреА рдврд╛рдВрдЪреЗ рдХрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдереЛрдбрд╝реЗ рдкреНрд░рдпрд╛рд╕ рд╕реЗ рд╕рдВрднрд╡ рд╣реИ, рд▓реЗрдХрд┐рди рдХреЗрд╡рд▓ рд╕рд░рд▓ рдорд╛рдорд▓реЛрдВ рдХреЗ рд▓рд┐рдПред рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдЗрд╕ рддрд░рд╣ рдХреЗ рдмреБрдирд┐рдпрд╛рджреА рдврд╛рдВрдЪреЗ рдХреЛ рдЦрд░реЛрдВрдЪ рд╕реЗ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдирд╛ рдХрд╛рдлреА рдореБрд╢реНрдХрд┐рд▓ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдФрд░ рдлрд┐рд░ рдпрд╣ рдЗрдВрдЯреЗрд▓ рдЯреАрдмреАрдмреА рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреА рдХреНрд╖рдорддрд╛рдУрдВ рдХреЛ рд╡рд┐рдЬреНрдЮрд╛рдкрд┐рдд рдХрд░рдиреЗ рдХрд╛ рд╕рдордп рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдереНрд░реЗрдбреНрд╕ рдХреЗ рдмреАрдЪ рдЧрддрд┐рд╢реАрд▓ рднрд╛рд░ рд╕рдВрддреБрд▓рди рдХреЗ рд▓рд┐рдП рдПрдХ рддрдВрддреНрд░ рд╢рд╛рдорд┐рд▓ рд╣реИред рдФрд░ рд╣рдорд╛рд░реЗ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЯреАрдмреАрдмреА рдореЗрдВ рдПрдХ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рд╣реИ рдЬрд┐рд╕реЗ
рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдХреНрд▓рд╛рд╕ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рд╣рдорд╛рд░реЗ рдХрд╛рд░реНрдп рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рд╣реИред
рдЙрджрд╛рд╣рд░рдг
рд╣рдо рдЯреАрдмреАрдмреА рдореЗрдВ рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдкрд░ рдмрд╣реБрдд рд╡рд┐рд╕реНрддрд╛рд░ рдореЗрдВ рдирд╣реАрдВ рдЬрд╛рдПрдВрдЧреЗ, рдХреНрдпреЛрдВрдХрд┐ рдУрдкрди рд╕реЛрд░реНрд╕ рдХреЛрдб рд╕рд╣рд┐рдд рд╕рднреА рдЬрд╛рдирдХрд╛рд░реА,
threadingbuildingblocks.org рдкрд░ рдкрд╛рдИ рдЬрд╛ рд╕рдХрддреА рд╣реИред рдиреАрдЪреЗ рд╣рдо рд╕рд┐рд░реНрдл рдЕрдкрдиреЗ рдХрд╛рдо рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рджреЗрдЦрддреЗ рд╣реИрдВ, рдХрд┐ рдЯреАрдмреАрдмреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкрд╛рдЗрдк рд▓рд╛рдЗрди рдХреИрд╕реЗ рдмрдирд╛рдИ рдЬрд╛рдПред рдПрдХ рдирдореВрдирд╛ рдХреЛрдб рдкреБрд╕реНрддрдХрд╛рд▓рдп рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рдпрд╛ рд╡реЗрдмрд╕рд╛рдЗрдЯ рдкрд░ рд╣реИред
рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ, рдПрдХ рдкрд╛рдЗрдкрд▓рд╛рдЗрди рд╡рд╕реНрддреБрдУрдВ рдХреЗ рдПрдХ рдкреНрд░рд╡рд╛рд╣ рдХреЗ рд▓рд┐рдП рдирд┐рд╖реНрдкрд╛рджрди рдЗрдХрд╛рдЗрдпреЛрдВ рдХреЗ рдЕрдиреБрдХреНрд░рдо рдХрд╛ рдПрдХ рдЖрд╡реЗрджрди рд╣реИред рдХрд╛рд░реНрдпрдХрд╛рд░реА рдЗрдХрд╛рдЗрдпрд╛рдВ рдХрд╛рд░реНрдп рдЪрд░рдгреЛрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░ рд╕рдХрддреА рд╣реИрдВ рдЬреЛ рдбреЗрдЯрд╛ рд╕реНрдЯреНрд░реАрдо рдкрд░ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХрд╛рд░реНрдп рдХрд░рддреЗ рд╣реИрдВред рдЯреАрдмреАрдмреА рдкреБрд╕реНрддрдХрд╛рд▓рдп рдореЗрдВ, рдЗрди рдЪрд░рдгреЛрдВ рдХреЛ
рдлрд┐рд▓реНрдЯрд░ рд╡рд░реНрдЧ рдХреЗ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдлрд┐рд▓реНрдЯрд░ рдХреЗ рдЕрдиреБрдХреНрд░рдо рдХреЗ рд░реВрдк рдореЗрдВ рдХрдиреНрд╡реЗрдпрд░ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдХреБрдЫ рдЪрд░рдг (рдЬреИрд╕реЗ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг) рд╡рд┐рднрд┐рдиреНрди рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдХрдИ рдзрд╛рд░рд╛рдУрдВ рдореЗрдВ рд╕рдорд╛рдирд╛рдВрддрд░ рдореЗрдВ рдХрд╛рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдЙрдиреНрд╣реЗрдВ
рд╕рдорд╛рдирд╛рдВрддрд░ рдлрд╝рд┐рд▓реНрдЯрд░ рдХреНрд▓рд╛рд╕ рдХреЗ рд░реВрдк рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рд╢реЗрд╖ рдЪрд░рдгреЛрдВ, рдЬреИрд╕реЗ рдХрд┐ рдкрдврд╝реЗрдВ рдФрд░ рд▓рд┐рдЦреЗрдВ, рдХреЛ рдХреНрд░рдорд┐рдХ рд░реВрдк рд╕реЗ рдФрд░ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдХреНрд░рдо рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП (рдпрджрд┐ рдЖрджреЗрд╢ рдкреНрд░рджрд╛рди рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ), рдФрд░ рдЙрдиреНрд╣реЗрдВ
serial_in_order рдлрд╝рд┐рд▓реНрдЯрд░ рдХреНрд▓рд╛рд╕ рдХреЗ рд░реВрдк рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдкреБрд╕реНрддрдХрд╛рд▓рдп рдореЗрдВ рдЗрди рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЗ рд▓рд┐рдП рдЕрдореВрд░реНрдд рд╡рд░реНрдЧ рд╣реЛрддреЗ рд╣реИрдВ, рдФрд░ рд╣рдореЗрдВ рдЙрдирд╕реЗ рдЕрдкрдиреА рдХрдХреНрд╖рд╛рдПрдВ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рд▓реЗрдиреА рд╣реЛрддреА рд╣реИрдВред рдиреАрдЪреЗ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИ, рдЬреЛ рдХреБрдЫ рд╕рд░рд▓реАрдХрд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рджрд┐рдЦрд╛рддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдХреИрд╕реЗ рдХрд░рдирд╛ рд╣реИред
class MyReadFilter: public tbb::filter { FILE* input_file; DataItem* next_item; void* operator()(void*); public: MyReadFilter( FILE* in ); };
| MyReadFilter:: MyReadFilter( FILE* in ) : filter(serial_in_order), input_file(in), next_item(DataItem*) { } |
class MyWriteFilter: public tbb::filter { FILE* output_file; void* operator()(void*); public: MyWriteFilter( FILE* out ); }; | MyWriteFilter:: MyWriteFilter( FILE* out ) : filter(serial_in_order), output_file(out), { } |
рд╣рдорд╛рд░реЗ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рдбреЗрдЯрд╛ рдПрдХ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╕рдорд╛рд╣рд┐рдд рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЖрдкрдХреЛ рдлрд╝рд╛рдЗрд▓ рдкреЙрдЗрдВрдЯрд░ рдХреЗ рд▓рд┐рдП рдПрдХ рдирд┐рдЬреА рд╡рд░реНрдЧ рдХреЗ рд╕рджрд╕реНрдп рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЙрд╕реА рддрд░рд╣, рд╣рдо рд░рд┐рдХреЙрд░реНрдбрд┐рдВрдЧ рдЪрд░рдг рдХреЗ рд▓рд┐рдП MyWriteFilter рд╡рд░реНрдЧ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдкреЙрдЗрдВрдЯрд░ рдХреЛ рдЖрдЙрдЯрдкреБрдЯ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╕рд╣реЗрдЬрддреЗ рд╣реИрдВред рдпреЗ рдХрдХреНрд╖рд╛рдПрдВ рдбреЗрдЯрд╛ рдФрд░ рдкрд╛рдЗрдкрд┐рдВрдЧ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рд▓рд┐рдП рдореЗрдореЛрд░реА рдЖрд╡рдВрдЯрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реЛрдВрдЧреАред рдореБрдЦреНрдп рдХрд╛рд░реНрдп рдЖрдзрд╛рд░ рд╡рд░реНрдЧ рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд
рдСрдкрд░реЗрдЯрд░ () рдкрджреНрдзрддрд┐ рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╣рдореЗрдВ рдХреЗрд╡рд▓ рдЗрди рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЛ рдХрдВрдЯреЗрдирд░ рдореЗрдВ рдЗрдирдкреБрдЯ рдлрд╝рд╛рдЗрд▓ рд╕реЗ рдХреНрд░рдорд╢рдГ рдкрдврд╝рдиреЗ рдФрд░ рдХрдВрдЯреЗрдирд░ рд╕реЗ рдЖрдЙрдЯрдкреБрдЯ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдбреЗрдЯрд╛ рд▓рд┐рдЦрдиреЗ рдХреЗ рджреНрд╡рд╛рд░рд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
void* MyReadFilter::operator()(void*) { // ALLOCATEMEMORY // READ A DATA ITEM FROM FILE // PUT DATA ITEM TO CONTAINER } | void* MyWriteFilter::operator()(void*) { // GET DATA ITEM FROM CONTAINER // WRITE THE DATA ITEM TO FILE // DEALLOCATE MEMORY } |
рд╣рдорд╛рд░реЗ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЪрд░рдг рдХреЛ рдереНрд░реЗрдбреНрд╕ рдХреЗ рд╕рдорд╛рдирд╛рдВрддрд░ рдореЗрдВ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣рдо рдЗрд╕реЗ
рд╕рдорд╛рдирд╛рдВрддрд░ рдлрд╝рд┐рд▓реНрдЯрд░ рд╡рд░реНрдЧ рдХреЗ рд░реВрдк рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рдФрд░
рдСрдкрд░реЗрдЯрд░ () рд╡рд┐рдзрд┐ рдореЗрдВ рдбреЗрдЯрд╛ рдкреНрд░рд╡рд╛рд╣ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХрд╛ "рдорд╛рдВрд╕" рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред
class MyProcessFilter: public tbb::filter { public: MyProcessFilter(); void* operator()( void* item ); }; MyProcessFilter:: MyProcessFilter() : tbb::filter(parallel) {} | void* MyProcessFilter::operator()( void* item ) { // FIND A CURRENT DATA ITEM IN CONTAINER // PROCESS THE ITEM } |
рд╣рдореЗрдВ рдХреЗрд╡рд▓ рдкрд╛рдЗрдк рд▓рд╛рдЗрди рдХреЛ рдЗрдХрдЯреНрдард╛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:
рдлрд┐рд▓реНрдЯрд░ рдХреНрд▓рд╛рд╕ рдХреА рд╡рд╕реНрддреБрдПрдВ,
рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдХреНрд▓рд╛рд╕ рдХреА рдПрдХ рд╡рд╕реНрддреБ рдмрдирд╛рдПрдВ, рдФрд░ рд╕рднреА рдЪрд░рдгреЛрдВ рдХреЛ рдХрдиреЗрдХреНрдЯ рдХрд░реЗрдВред рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рдмрд╛рдж, рдЖрдкрдХреЛ
рдкрд╛рдЗрдкрд▓рд╛рдЗрди рд╡рд░реНрдЧ рдХреА
рд░рди () рд╡рд┐рдзрд┐ рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЬреЛ рдЯреЛрдХрди рдХреА рд╕рдВрдЦреНрдпрд╛ (рдЗрд╕ рддрд░рд╣ рдХреЗ рд╣рд╕реНрддрд╛рдВрддрд░рдг рдХреЗ рд▓рд┐рдП рдЦреЗрдж рд╣реИ) рдХреЛ рджрд░реНрд╢рд╛рддрд╛ рд╣реИред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЯреЛрдХрди рдХреА рд╕рдВрдЦреНрдпрд╛ рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдореЗрдВ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рдбреЗрдЯрд╛ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреА рд╕рдВрдЦреНрдпрд╛ред рд╕рд╣реА рд░рд╛рд╢рд┐ рдХрд╛ рдЪрдпрди рдЪрд░реНрдЪрд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрд▓рдЧ рд╡рд┐рд╖рдп рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рд╣рдо рд╕рд┐рд░реНрдл рдЯреАрдмреАрдмреА рджрд╕реНрддрд╛рд╡реЗрдЬреЛрдВ рдореЗрдВ рд╕рд┐рдлрд╛рд░рд┐рд╢реЛрдВ рдХрд╛ рдкрд╛рд▓рди рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдЙрдкрд▓рдмреНрдз рдереНрд░реЗрдбреНрд╕ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЗ рджреЛрдЧреБрдиреЗ рдХреЗ рдмрд░рд╛рдмрд░ рд╕рдВрдЦреНрдпрд╛ рдЪреБрдирддреЗ рд╣реИрдВред рдпрд╣ рд╣рдореЗрдВ рдкрд╛рдЗрдк рд▓рд╛рдЗрди рдХреЛ рд╡реНрдпрд╕реНрдд рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рдбреЗрдЯрд╛ рдСрдмреНрдЬреЗрдХреНрдЯ рд░рдЦрдиреЗ рдХрд╛ рдЕрд╡рд╕рд░ рджреЗрдЧрд╛, рдФрд░ рд╕рд╛рде рд╣реА, рдЧрд╛рд░рдВрдЯреА рджреЗрддрд╛ рд╣реИ рдХрд┐ рдбреЗрдЯрд╛ рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХреА рдХрддрд╛рд░ рдореЗрдВ рдХреЛрдИ рд╡реГрджреНрдзрд┐ рдирд╣реАрдВ рд╣реБрдИ рд╣реИ рдпрджрд┐ рдкрд╣рд▓рд╛ рдЪрд░рдг рдЙрдиреНрд╣реЗрдВ рдмрд╛рдж рд╡рд╛рд▓реЗ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдмрд╣реБрдд рддреЗрдЬреА рд╕реЗ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рддрд╛ рд╣реИред
tbb::pipeline pipeline; MyReadFilter r_filter( input_file ); pipeline.add_filter( r_filter ); MyProcessFilter p_filter; pipeline.add_filter(p_filter ); MyWriteFilter w_filter( output_file ); pipeline.add_filter( w_filter ); pipeline.run(2*nthreads)
рдЗрд╕ рдкреНрд░рдХрд╛рд░, рд╣рдордиреЗ рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдореЗрдВ рддреАрди рдЙрдк-рдореБрдЦреМрдЯреЗ рдмрдирд╛рдП, рдЬреЛ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдЙрдкрд▓рдмреНрдз рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЛ рдЕрдзрд┐рдХрддрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЯреАрдмреАрдмреА рд▓рд╛рдЗрдмреНрд░реЗрд░реА рджреНрд╡рд╛рд░рд╛ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ - рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЙрдк-рдкреНрд░рдХрд╛рд░ рд╕рдорд╛рдирд╛рдВрддрд░ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдФрд░ рд╢реЗрд╖ рдЙрдк-рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЛ рдЙрдирдХреА рдЙрдкрд▓рдмреНрдзрддрд╛ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдереНрд░реЗрдбреНрд╕ рдХреЗ рдмреАрдЪ рдЧрддрд┐рд╢реАрд▓ рд░реВрдк рд╕реЗ рд╡рд┐рддрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рд╣рдореЗрдВ рдХреЗрд╡рд▓ рдЗрди рдЪрд░рдгреЛрдВ рдХреЛ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдЬреЛрдбрд╝рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдереАред рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рдХреЛрдИ рдкреНрд░рд╡рд╛рд╣ рдирд┐рдпрдВрддреНрд░рдг рдХреЛрдб рдирд╣реАрдВ рд╣реИ - рдпрд╣ рд╕рдм рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХрд╛рд░реНрдп рдЕрдиреБрд╕реВрдЪрдХ рдореЗрдВ рдЫрд┐рдкрд╛ рд╣реБрдЖ рд╣реИред
рдФрд░ рдЬреИрд╕рд╛ рдХрд┐ рдЕрдХреНрд╕рд░ рд╣реЛрддрд╛ рд╣реИ, рдХрд╣реАрдВ-рдХрд╣реАрдВ рдкреНрд░рдерд╛рдЧрдд рдкрдВрдХреНрддрд┐рдпреЛрдВ рд╕реЗ (рдпрд╛, рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрдд, рдкрд╣рд▓реЗ рд╕реЗ) рдПрдХ рд╣рд╛рде рдКрдкрд░ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдПрдХ рдмрд╣реБрдд рд╣реА рд╕рд╛рд╡рдзрд╛рдиреАрдкреВрд░реНрд╡рдХ рд╢реНрд░реЛрддрд╛ рдПрдХ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╕рд╡рд╛рд▓ рдкреВрдЫрддрд╛ рд╣реИ: рд╣рдо рдХреИрд╕реЗ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдирд┐рд░реНрдорд┐рдд рдХрдиреНрд╡реЗрдпрд░ рдкреНрд░рднрд╛рд╡реА рд╣реИ? рдФрд░ рдЕрдЧрд░ рдЖрдк рдЧрд╣рд░рд╛рдИ рд╕реЗ рдЦреБрджрд╛рдИ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдХреИрд╕реЗ рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдкрд╛рдЗрдк рд▓рд╛рдЗрди рдореЗрдВ рд╕рдмрдЯреБрдХ рдкреНрд░рджрд░реНрд╢рди рдХреИрд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдЙрдк-рдкреНрд░рдмрдВрдз рдХреЗ рдУрд╡рд░рд╣реЗрдбреНрд╕ рдХреНрдпрд╛ рд╣реИрдВ, рдФрд░ рдХреНрдпрд╛ рдЙрдирдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдореЗрдВ рдЕрдВрддрд░рд╛рд▓ рд╣реИрдВ?
рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреЗ рдкреНрд░рд╛рд░рдВрднрд┐рдХ, рдЕрдХреБрд╢рд▓ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд╕рд╛рде рдЗрд╕рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреА рддреБрд▓рдирд╛ рдХрд░рдиреЗ рдХрд╛ рд╕реБрдЭрд╛рд╡ рджреЗрдирд╛ рд╡реНрдпрд░реНрде рд╣реИред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╣рдо рдХреБрдЫ рднреА рдирд╣реАрдВ рд╕рдордЭ рд╕рдХрддреЗ рд╕рд┐рд╡рд╛рдп рдЗрд╕рдХреЗ рдХрд┐ рдпрд╣ рддреЗрдЬреА рд╕реЗ рдХрд╛рдо рдХрд░реЗрдЧрд╛ред рдФрд░ рджреВрд╕рд░реА рдмрд╛рдд, рд╢рд╛рдпрдж рдпрд╣ рддреЗрдЬреА рд╕реЗ рдХрд╛рдо рдХрд░реЗрдЧрд╛ рдФрд░ рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред
рдпрд╣реА рд╣реИ, рдЗрди рд╕рд╡рд╛рд▓реЛрдВ рдХреЗ рдХреЛрдИ рд╕рд░рд▓ рдЙрддреНрддрд░ рдирд╣реАрдВ рд╣реИрдВред рдорд╛рдкрдиреЗ рдФрд░ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рд╡реАрдЯреАрдПрди рдПрдореНрдкрд▓реАрдлрд╛рдпрд░ рдПрдХреНрд╕рдИ рдХреЗ рд╕рд╛рде рдкреНрд░реЛрдлрд╛рдЗрд▓рд┐рдВрдЧ рдЗрд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдЖрд╕рд╛рди, рдЕрдзрд┐рдХ рд╕рд╣рдЬ рдФрд░ рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд░реВрдк рд╕реЗ рддреЗрдЬ рдмрдирд╛ рджреЗрдЧрд╛ред VTune рдПрдореНрдкрд▓реАрдлрд╛рдпрд░ рд╣рдореЗрдВ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рд▓реЛрдбрд┐рдВрдЧ рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреА рджрдХреНрд╖рддрд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░реЗрдЧрд╛, рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдЯреАрдмреАрдмреА рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреА рдХрд╛рд░реНрдп рдкреНрд░рдмрдВрдзрди рдпреЛрдЬрдирд╛ рджрд┐рдЦрд╛рдПрдЧрд╛, рдФрд░ рд╕рдВрднрд╡рддрдпрд╛ рдЙрди рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдПрдЧрд╛ рдЬреЛ рд╣рдордиреЗ рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рджреМрд░рд╛рди рдХреА рдереАрдВ рдЬреЛ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рддреА рд╣реИрдВред
рд╢реИрдХреНрд╖рд┐рдХ рдЙрджреНрджреЗрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП, рдЖрдЗрдП рд╣реЙрдЯрд╕реНрдкреЙрдЯ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рд╕реЗ рд╢реБрд░реБрдЖрдд рдХрд░реЗрдВред рд╣рдо рдПрдХ рдХреЛрдб рдХреЗ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░реЗрдВрдЧреЗ рдЬреЛ рдПрдХ рдлрд╝рд╛рдЗрд▓ рд╕реЗ рдкрд╛рда рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдкреВрд░реНрдгрд╛рдВрдХ рдорд╛рдиреЛрдВ рдХреЛ рдкрдврд╝рддрд╛ рд╣реИ [рдЪрд░рдг рдкрдврд╝реЗрдВ], рдЙрдиреНрд╣реЗрдВ [рдкреНрд░рдХреНрд░рд┐рдпрд╛] рд╡рд░реНрдЧреЛрдВ рдореЗрдВ рд▓рд┐рдЦрддрд╛ рд╣реИ рдФрд░ рдкрд╛рда рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рджреЛрдмрд╛рд░рд╛ рд▓рд┐рдЦрддрд╛ рд╣реИ [рд▓рд┐рдЦ] рдЖрдЙрдЯрдкреБрдЯ рдлрд╝рд╛рдЗрд▓ред рд╣рдо рдпрд╣ рдорд╛рди рд▓реЗрдВрдЧреЗ рдХрд┐ рдкрд╛рдардХ рд╡реАрдЯреАрдПрди рдкреНрд░реЛрдлрд╛рдЗрд▓рд░ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдореВрд▓ рдмрд╛рддреЗрдВ рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рд╣реИ, рдФрд░ рд╣рдо рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рд╡рд┐рд╡рд░рдг рдореЗрдВ рдирд╣реАрдВ рдЬрд╛рдПрдВрдЧреЗ рдХрд┐ рдкреНрд░реЛрдлрд╛рдЗрд▓ рдХреЛ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рд╕ рдмрдЯрди рдХреЛ рджрдмрд╛рдПрдВред

рдЪрд┐рддреНрд░ 5ред
рд╣реЙрдЯрд╕реНрдкреЙрдЯ рд╡рд┐рд╢реНрд▓реЗрд╖рдг (рдЫрд╡рд┐ 5) рдХреЗ рдкрд░рд┐рдгрд╛рдо рдХрд╛рдлреА рдЕрдкреЗрдХреНрд╖рд┐рдд рд╣реИрдВ - рдкрд░реАрдХреНрд╖рдг рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЛ 4-рдХреЛрд░ рдкреНрд░реЛрд╕реЗрд╕рд░ рдкрд░ 4 рдереНрд░реЗрдбреНрд╕ рджреНрд╡рд╛рд░рд╛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛;
MyProcessClass :: рдСрдкрд░реЗрдЯрд░ () рд╡рд┐рдзрд┐, рдЬрд┐рд╕реЗ рдЯреАрдмреАрдмреА рдкрд╛рдЗрдкрд▓рд╛рдЗрди рд╕реЗ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рд╕рдмрд╕реЗ рдЧрд░реНрдо рдХрд╛рд░реНрдп рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдкрд╛рда рд╕реЗ рдкреВрд░реНрдгрд╛рдВрдХ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рд╣реЛрддрд╛ рд╣реИ, рдореВрд▓реНрдп рдХреЗ рд╡рд░реНрдЧ рдХреА рдЧрдгрдирд╛ рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдкрд╛рда рдореЗрдВ рд░рд┐рд╡рд░реНрд╕ рд░реВрдкрд╛рдВрддрд░рдг рдХрд░рддрд╛ рд╣реИред рджрд┐рд▓рдЪрд╕реНрдк рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдХрд╛рд░реНрдп
[TBB рдбрд┐рд╕реНрдкреИрдЪ рд▓реВрдк] (рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдПрдХ рд╕рд╢рд░реНрдд рдирд╛рдо рдЬреЛ TBB рд╢реЗрдбреНрдпреВрд▓рд░ рдХреЗ "рдЗрдирд╕рд╛рдЗрдб" рдХреЛ рдЫреБрдкрд╛рддрд╛ рд╣реИ) рднреА рд╣реЙрдЯ рд▓рд┐рд╕реНрдЯ рдореЗрдВ рд╣реИ, рдЬреЛ рд╣рдореЗрдВ рдУрд╡рд░рд╣реЗрдб рдкреНрд▓рд╛рдирд┐рдВрдЧ рдХреА рд╕рдВрднрд╛рд╡рд┐рдд рдЙрдкрд╕реНрдерд┐рддрд┐ рдХрд╛ рд╕рдВрдХреЗрдд рджреЗ рд╕рдХрддрд╛ рд╣реИред рдЖрдЗрдП рдХреЙрдирдПрд░реЗрдмрд┐рд▓рд┐рдЯреА рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЗ рд╕рд╛рде рдЬрд╛рд░реА рд░рдЦреЗрдВ, рдФрд░ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреЗ рд╕рдорд╛рдирд╛рдВрддрд░рдХрд░рдг рдХреА рдкреНрд░рднрд╛рд╡рд╢реАрд▓рддрд╛ рдХрд╛ рдирд┐рд░реНрдзрд╛рд░рдг рдХрд░реЗрдВред

рдЪрд┐рддреНрд░ 6ред
рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рд╕рдорд╛рдирд╛рдВрддрд░рд╡рд╛рдж рд╣рд┐рд╕реНрдЯреЛрдЧреНрд░рд╛рдо рд╕реЗ, рд╣рдо рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рд╣рдо рдЕрдзрд┐рдХрддрдо рджрдХреНрд╖рддрд╛ рд╕реЗ рдмрд╣реБрдд рджреВрд░ рд╣реИрдВ: рдореВрд▓ рд░реВрдк рд╕реЗ 4 рдереНрд░реЗрдбреНрд╕ рд╕реЗ рдХрдо рдореЗрдВ рдЖрд╡реЗрджрди рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред (рд╣рд┐рд╕реНрдЯреЛрдЧреНрд░рд╛рдо рдореЗрдВ рдиреАрд▓реА рдкрдЯреНрдЯрд┐рдпрд╛рдВ рдЙрд╕ рд╕рдордп рдХреЛ рджрд┐рдЦрд╛рддреА рд╣реИрдВ рдЬрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди Y рдЕрдХреНрд╖ рдХреЗ рд╕рд╛рде X рдереНрд░реЗрдбреНрд╕ рдкрд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдЖрджрд░реНрд╢ рд░реВрдк рд╕реЗ, рд╣рдо рд╕рдорд╕рд╛рдордпрд┐рдХ рд╕реНрддрд░ 4 [4] рдХреЗ рд╕рд╛рде рдПрдХ рдХреЙрд▓рдо рджреЗрдЦрдирд╛ рдЪрд╛рд╣реЗрдВрдЧреЗ, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реЛрдЧрд╛ рдХрд┐ рд╣рдорд╛рд░рд╛ рдЖрд╡реЗрджрди рд╣рд░ рд╕рдордп 4 рдереНрд░реЗрдбреНрд╕ рдореЗрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ) ред
рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдмреЙрдЯрдо-рдЕрдк рд╡реНрдпреВ рдореЗрдВ рдкрд░рд┐рдгрд╛рдореЛрдВ рдкрд░ рдПрдХ рддреНрд╡рд░рд┐рдд рдирдЬрд╝рд░ рдереНрд░реЗрдбреНрд╕ рдХреЗ рдмреАрдЪ рд╣реЛрдиреЗ рд╡рд╛рд▓реА рдЕрддреНрдпрдзрд┐рдХ рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝реЗрд╢рди рдХреЛ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ (рдЪрд┐рддреНрд░ 7)ред рдЖрдк рдкреАрд▓реЗ рдмрджрд▓рд╛рд╡реЛрдВ рдкрд░ рдордВрдбрд░рд╛ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдкреЙрдк-рдЕрдк рд╡рд┐рдВрдбреЛ рдореЗрдВ рдЗрд╕ рд╕рд┐рдВрдХреНрд░реЛрдирд╛рдЗрдЬрд╝реЗрд╢рди рдХреЗ рд╕реНрд░реЛрдд рдХрд╛ рд▓рд┐рдВрдХ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВред

рдЪрд┐рддреНрд░ 7ред
рдЗрд╕ рдмрд┐рдВрджреБ рдкрд░, рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд░реЛрдЧреА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдиреЗ рдЖрдЧреЗ рдЕрдиреБрд╕рдВрдзрд╛рди рдХреЛ рдЫреЛрдбрд╝ рджрд┐рдпрд╛, рд╕рдВрдпреЛрдЧ рд╕реЗ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЗ рдЕрдкреНрд░рднрд╛рд╡реА рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд▓рд┐рдП рдЯреАрдмреАрдмреА рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛ рджреЛрд╖реА рдард╣рд░рд╛рдпрд╛ред рдЕрдЧрд░ рдореИрдВ рд╢реЗрдбреНрдпреВрд▓рд░ рдХреЗ рдХрд╛рдо рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рд╛рде рдореЗрдВ рдПрдХ рдЙрдкрдХрд░рдг рдирд╣реАрдВ рд╣реЛрддрд╛ рддреЛ рдореИрдВ рднреА рдпрд╣реА рдХрд░рддрд╛ред рд╕реИрджреНрдзрд╛рдВрддрд┐рдХ рд░реВрдк рд╕реЗ, рдХреЛрдИ рднреА рд╕реНрд░реЛрдд рдХреЛрдб рдХреЗ рдЗрдВрд╕реНрдЯреНрд░реВрдореЗрдВрдЯреЗрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд╕реНрд╡рддрдВрддреНрд░ рдЕрдиреБрд░реЗрдЦрдг рдХреА рдХрд▓реНрдкрдирд╛ рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд╕рдордп рдХреА рдкрд╣рдЪрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП "рдореИрдиреНрдпреБрдЕрд▓" рдпрд╛ рдХреБрдЫ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдЯреНрд░реЗрд╕ рдХрд░ рд╕рдХрддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЗрдХрдЯреНрдареЗ рдкрдЯрд░рд┐рдпреЛрдВ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдХреА рдЬрдЯрд┐рд▓рддрд╛ рдХреЗ рдХрд╛рд░рдг рдпрд╣ рд░рд╛рд╕реНрддрд╛ рдЖрдХрд░реНрд╖рдХ рдирд╣реАрдВ рджрд┐рдЦрддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдореИрдВ рдЖрдкрдХреЛ рдЙрди рдЙрдкрдХрд░рдгреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреЗрддрд╛ рд╣реВрдВ рдЬреЛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╡реАрдЯреАрдПрди рдПрдореНрдкрд▓реАрдлрд╛рдпрд░ рдореЗрдВ рд╣реИрдВ рдФрд░ рдЬрд┐рдирдХрд╛ рдЙрдкрдпреЛрдЧ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдЧреНрд░рд╛рдлрд┐рдХрд▓ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдХрд░рдиреЗ рдХреА рд╕рдВрд░рдЪрдирд╛ рдХреЛ рдЬрд▓реНрджреА рд╕реЗ рдмрд╣рд╛рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдХрд╛рд░реНрдп рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдХреЛ рд╕рдХреНрд╖рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ рдЯрд╛рд╕реНрдХ рдПрдкреАрдЖрдИ рд╕реЗ рд╡рд┐рд╢реЗрд╖ рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕реНрд░реЛрдд рдХреЛрдб рдХреЛ рдЗрдВрд╕реНрдЯреНрд░реВрдореЗрдВрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЬреЛ рд╡реАрдЯреАрдПрди рдПрдореНрдкрд▓реАрдлрд╛рдпрд░ рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╣реИред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдХрджрдо рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╣реИрдВ:
- рдЕрдкрдиреЗ рд╕реНрд░реЛрдд рдореЗрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдПрдкреАрдЖрдИ рд╕реЗ рд╣реЗрдбрд░ рдлрд╝рд╛рдЗрд▓ рд╢рд╛рдорд┐рд▓ рдХрд░реЗрдВ
#include "ittnotify.h"
- рдХрд╛рд░реНрдп рдХреЗ рдбреЛрдореЗрди рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░реЗрдВред рдпрд╣ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдбреЛрдореЗрди рдореЗрдВ рдХрд┐рдП рдЧрдП рдЕрд▓рдЧ-рдЕрд▓рдЧ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЕрдХреНрд╕рд░ рдмрд╣реБрдд рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реЛрддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╡рд┐рднрд┐рдиреНрди рд╕рдорд╛рдирд╛рдВрддрд░ рдЗрдиреНрдлреНрд░рд╛рд╕реНрдЯреНрд░рдХреНрдЪрд░ (рдЯреАрдмреАрдмреА, рдУрдкрдирдПрдордкреА, рдЖрджрд┐) рдореЗрдВ рдзрд╛рдЧреЗ рджреНрд╡рд╛рд░рд╛ред
__itt_domain* domain = __itt_domain_create("PipelineTaskDomain");
- рдПрдХ рдХрд╛рд░реНрдп рд╕рдВрднрд╛рд▓ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░реЗрдВ рдЬреЛ рдордВрдЪ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддрд╛ рд╣реИред
__itt_string_handle* hFileReadSubtask = __itt_string_handle_create("Read"); __itt_string_handle* hFileWriteSubtask = __itt_string_handle_create("Write"); __itt_string_handle* hDoSquareSubtask = __itt_string_handle_create("Do Square");
- рдЕрдм рд╕реЛрд░реНрд╕ рдХреЛрдб рдХреЛ рд▓рдкреЗрдЯреЗрдВ, рдЬреЛ рдЗрдВрд╕реНрдЯреНрд░реВрдореЗрдВрдЯрд┐рдВрдЧ рдПрдкреАрдЖрдИ рдлрдВрдХреНрд╢рдВрд╕ рдХреЗ рд▓рд┐рдП рдХреЙрд▓ рдХреЗ рд╕рд╛рде рдХрд╛рд░реНрдп рдХреЗ рдЪрд░рдгреЛрдВ рдореЗрдВ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рд╣реЛрддрд╛ рд╣реИ: __itt_task_begin рдФрд░ __itt_task_end ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдкрдврд╝рдиреЗ рдФрд░ рд▓рд┐рдЦрдиреЗ рдХреЗ рдЪрд░рдг рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рд╕рд╣рдЬ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ:
void* MyReadFilter::operator()(void*) { __itt_task_begin(domain, __itt_null, __itt_null, hFileReadSubtask); // ALLOCATE MEMORY // READ A DATA ITEM FROM FILE // PUT DATA ITEM TO CONTAINER __itt_task_end(domain); }
void* MyWriteFilter::operator()(void*) { __itt_task_begin(domain, __itt_null, __itt_null, hFileWriteSubtask); // GET DATA ITEM FROM CONTAINER // WRITE THE DATA ITEM TO FILE // DEALLOCATE MEMORY __itt_task_end(domain); }
рдЙрд╕реА рддрд░рд╣, рдЖрдк рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЪрд░рдг рдХреЛ рднреА рд▓рдкреЗрдЯ рд╕рдХрддреЗ рд╣реИрдВред (рдЙрддреНрдкрд╛рдж рдПрдкреАрдЖрдИ рдореЗрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдПрдкреАрдЖрдИ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рд╛рдкреНрдд рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИ)ред
void* MyProcessFilter::operator()( void* item ) { __itt_task_begin(domain, __itt_null, __itt_null, hDoSquareSubtask); // FIND A CURRENT DATA ITEM IN CONTAINER // PROCESS THE ITEM __itt_task_end(domain); }
- рдЕрдкрдиреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ VTune рдПрдореНрдкрд▓реАрдлрд╛рдпрд░ рд╣реЗрдбрд░ рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ рдкрде рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╛рдж рд░рдЦреЗрдВ:
$ (VTUNE_AMPLIFIER_XE_2013_DIR) рд╢рд╛рдорд┐рд▓ рд╣реИрдВ - рд╕рд╛рдВрдЦреНрдпрд┐рдХреАрдп рд░реВрдк рд╕реЗ рдЕрдкрдиреЗ рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдореЙрдбреНрдпреВрд▓ рдХреЛ libittnotify.lib рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд╕реЗ рд▓рд┐рдВрдХ рдХрд░реЗрдВ, рдЬрд┐рд╕ рдкрде рдкрд░ рд╕реНрдерд┐рдд рд╣реИ
$ (VTUNE_AMPLIFIER_XE_2013_DIR) lib [32 | 64] рдЖрдкрдХреЗ рд╕рд┐рд╕реНрдЯрдо рдХреЗ "рдмрд┐рдЯрдиреЗрд╕" рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИред
рдФрд░ рдЕрдВрдд рдореЗрдВ, рдпрд╣ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╡рд┐рдВрдбреЛ (рдЫрд╡рд┐ 8) рдореЗрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЛ рд╕рдХреНрд╖рдо рдХрд░рдиреЗ рдФрд░ рдХрд┐рд╕реА рднреА рдкреНрд░рдХрд╛рд░ рдХреЗ рдкреНрд░реЛрдлрд╛рдЗрд▓рд┐рдВрдЧ рдХреЛ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд░рд╣рддрд╛ рд╣реИ рдЬрд┐рд╕рдХреА рд╣рдореЗрдВ рдЬрд╝рд░реВрд░рдд рд╣реИред

рдЪрд┐рддреНрд░ 8ред
рдХрдВрд╕реАрд▓рд░ рдХреА рдкреНрд░реЛрдлрд╛рдЗрд▓рд┐рдВрдЧ рд╕рдорд╛рдкреНрдд рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж, рд╣рдо рдЯрд╛рд╕реНрдХ рд╡реНрдпреВ рдЯреИрдм (рдЪрд┐рддреНрд░ред 9) рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд░рддреЗ рд╣реИрдВред рдпрд╣рд╛рдВ, рдкреНрд░рд╡рд╛рд╣ рдирд┐рдпрдВрддреНрд░рдг рдХреЗ рд▓рд┐рдП рд╕рдВрдХреНрд░рдордг рдХреА рдкреАрд▓реА рд░реЗрдЦрд╛рдПрдВ рд╣рдорд╛рд░реЗ рд╕рд╛рде рдХреБрдЫ рд╣рд╕реНрддрдХреНрд╖реЗрдк рдХрд░рддреА рд╣реИрдВ - рд╡реЗ рджрд╛рдИрдВ рдУрд░ рдкреИрдирд▓ рдореЗрдВ рдЕрдХреНрд╖рдо рд╣реЛ рд╕рдХрддреА рд╣реИрдВ, рд╕рд╛рде рд╣реА рд╕реАрдкреАрдпреВ рд╕рдордп рд░реЗрдЦрд╛рдВрдХрди рднреА, рдЬреЛ рд╕рдВрднрд╡рддрдГ рдЖрд╡рд╢реНрдпрдХ рдЬрд╛рдирдХрд╛рд░реА рдХреЛ рдХрд╡рд░ рдХрд░рддреЗ рд╣реИрдВред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐, рдХрд╛рд░реНрдп рд╕рдордп-рд╕рдордп рдкрд░ рдЦрд░рд╛рдм рд░реВрдк рд╕реЗ рднрд┐рдиреНрди рд╣реЛрддреЗ рд╣реИрдВ; рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдЧреНрд░рд╛рдлрд┐рдХ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд░рдВрдЧ рдмрд╛рд░ рдЙрдирдХреЗ рдмреАрдЪ рдЕрдВрддрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдкрддрд▓реЗ рд╣реИрдВред рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдПрдХ рдЫреЛрдЯреЗ рд╕рдордп рдЕрдВрддрд░рд╛рд▓ рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ рдФрд░ рд░рд╛рдЗрдЯ-рдХреНрд▓рд┐рдХ рд╕рдВрджрд░реНрдн рдореЗрдиреВ рд╕реЗ рдпрд╛ рдЯреВрд▓рдмрд╛рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕реНрдХреЗрд▓ (рдЬрд╝реВрдо-рдЗрди) рдХреЛ рдмрдврд╝рд╛рдПрдВред

рдЪрд┐рддреНрд░ 9ред
рдХрд╛рд░реНрдпреЛрдВ рдХреА рдмрдврд╝реА рд╣реБрдИ рдЫрд╡рд┐ рдореЗрдВ рд╣рдо рдХреБрдЫ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ (рдЪрд┐рддреНрд░ 10)ред рдкрд╣рд▓рд╛ рдмрд╣реБрдд рдмрдбрд╝рд╛ рд╣реИ (рдХрд╛рд░реНрдпреЛрдВ рдХреА рдЕрд╡рдзрд┐ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ) рдЙрди рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдмреАрдЪ рдЕрдВрддрд░рд╛рд▓ рд╣реИ рдЬрд┐рдирдХреЗ рджреМрд░рд╛рди рдереНрд░реЗрдбреНрд╕ рдирд┐рд╖реНрдХреНрд░рд┐рдп рд╣реИрдВ, рдЕрд░реНрдерд╛рдд, рдкреНрд░реЛрд╕реЗрд╕рд░ рдирд┐рд╖реНрдХреНрд░рд┐рдп рд╣реИрдВ, рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝реЗрд╢рди рдШрдЯрдирд╛рдУрдВ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рджреВрд╕рд░реА рд╕рдорд╕реНрдпрд╛ рдХрд╛рд░реНрдп рдЪрд░рдгреЛрдВ рдХреА рдЕрд╡рдзрд┐ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, "рдбреВ рд╕реНрдХреНрд╡реЗрдпрд░" рд╕рдмрдЯрд╛рд╕реНрдХ рдореЗрдВ рдХреЗрд╡рд▓ 0.1 рдорд┐рд▓реА рд╕реЗрдХреЗрдВрдб рд▓рдЧрддреЗ рд╣реИрдВред рдпрд╣ рдПрдХ рдЧрдВрднреАрд░ рд░реВрдк рд╕реЗ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдирд┐рд╖реНрдкрд╛рджрди рдЕрдВрддрд░рд╛рд▓ рд╣реИ, рдпрд╣ рджреЗрдЦрддреЗ рд╣реБрдП рдХрд┐ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ TBB рд╢реЗрдбреНрдпреВрд▓рд░ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдЙрдиреНрд╣реЗрдВ рд╢реЗрдбреНрдпреВрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рд╕рдордп рд▓рдЧрддрд╛ рд╣реИ рдФрд░ рдЙрдиреНрд╣реЗрдВ TBB рд╡рд░реНрдХрд░ рдереНрд░реЗрдб рджреНрд╡рд╛рд░рд╛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣реА рд╣реИ, рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ рдХрд┐ рдЙрдк-рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдкреНрд░рдмрдВрдзрди рдХрд╛ рдУрд╡рд░рд╣реЗрдб рд╕реНрд╡рдпрдВ рдХрд╛рд░реНрдп рдХреЛ рдкреВрд░рд╛ рдХрд░рдиреЗ рдореЗрдВ рд▓рдЧрдиреЗ рд╡рд╛рд▓реЗ рд╕рдордп рдХреЗ рдЕрдиреБрд░реВрдк рд╣реИред рдЗрд╕реЗ рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рджреА рдЬрд╛ рд╕рдХрддреА рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рдЖрд╡рд╢реНрдпрдХ рд╣реИ рдХрд┐ рдЙрдкрдХрд╛рд░ рдореЗрдВ рдХрд╛рдо рдкрд░ рд▓рдЧрдиреЗ рд╡рд╛рд▓реЗ рд╕рдордп рдХреЛ рдмрдврд╝рд╛рдПрдВ, рдпрд╛рдиреА рджреВрд╕рд░реЗ рд╢рдмреНрджреЛрдВ рдореЗрдВ, рдЕрдзрд┐рдХ рдХрд╛рдо рджреЗрдиреЗ рдХреЗ рд▓рд┐рдПред

рдЕрдВрдЬреАрд░ред 10ред
рд╣рдорд╛рд░реЗ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рдпрд╣ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╕реНрдкрд╖реНрдЯ рд╣реИ рдХрд┐ рдХреЛрдб рдореЗрдВ рдХреМрди рд╕реЗ рдХрд╛рд░реНрдп рдХреНрдпрд╛ рдХрд╛рд░реНрдп рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рдЬрд╛рдирдмреВрдЭрдХрд░ рд▓реЗрдЦ рдореЗрдВ рдкреНрд░рд╕реНрддреБрддрд┐ рдХреЛ рд╕рд░рд▓ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдПрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдореЗрдВ, рджрд░реНрдЬрдиреЛрдВ рдХрд╛рд░реНрдп рдирд┐рд╖реНрдкрд╛рджрди рдХрд╛рд░реНрдпреЛрдВ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред рдЙрди рд╕рднреА рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдЬреЛ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдирд┐рд╖реНрдкрд╛рджрди рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЙрдирдХреЗ рд▓реЛрдб рдХреЛ рдмрдврд╝рд╛рддреЗ рд╣реИрдВ, рд╣рдо рдХреЙрдирд░реАрдПрд░ рдпрд╛ рд╣реЙрдЯрд╕реНрдкреЙрдЯ рдкреНрд░реЛрдлрд╛рдЗрд▓рд┐рдВрдЧ рдХреЗ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЗ рдиреАрдЪреЗ-рдЕрдк рджреГрд╢реНрдп рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЕрдм рдХреЗрд╡рд▓ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдкреНрд░рдХрд╛рд░ (рдЯрд╛рд╕реНрдХ рдЯрд╛рдЗрдк / рдлрд╝рдВрдХреНрд╢рди) рдХреЗ рд╕рдореВрд╣рди рдХреЛ рдмрджрд▓реЗрдВ рдФрд░ рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рдЙрдк-рдкреНрд░рдХрд╛рд░реЛрдВ рдХреА рдПрдХ рд╕реВрдЪреА рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ рдЬреЛ рд╣рдордиреЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рд▓рд┐рдЦрдХрд░ рдмрдирд╛рдпрд╛ рдерд╛ред рдХрд╛рд░реНрдп рдХреЛ рдЦреЛрд▓рдиреЗ, "+" рдЖрдЗрдХрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рдиреЗ рд╕реЗ, рд╣рдореЗрдВ рдПрдХ рд╕реВрдЪреА рдФрд░ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдХреЙрд▓ рдХрд╛ рдПрдХ рдкреЗрдбрд╝ рдорд┐рд▓рддрд╛ рд╣реИ рдЬреЛ рдЗрд╕ рд╕рдмрдЯреИрдХ рдХреЗ рдирд┐рд╖реНрдкрд╛рджрди рдореЗрдВ рднрд╛рдЧ рд▓реЗрддреЗ рд╣реИрдВ, рдПрдХ рд╕рд╛рдВрдЦреНрдпрд┐рдХреАрдп рдорд╣рддреНрд╡рдкреВрд░реНрдг рдкреНрд░реЛрд╕реЗрд╕рд░ рд╕рдордп (рдЫрд╡рд┐ 11) рд▓реЗрддреЗ рд╣реИрдВред

рдЪрд┐рддреНрд░ 11ред
рдЕрдЧрд▓рд╛, рдПрдХ рдбрдмрд▓ рдХреНрд▓рд┐рдХ рдХреЗ рд╕рд╛рде, рд╣рдо рд╣реЙрдЯ рдлрд╝рдВрдХреНрд╢рди
MyProcessFilter :: рдСрдкрд░реЗрдЯрд░ () рдХреЗ рд╕реНрд░реЛрдд рдХреЛрдб рдкрд░ рдЬрд╛рддреЗ рд╣реИрдВ рдФрд░ рдкрд╛рддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рдкрд╛рда рдХреЗ рдПрдХ рдЯреБрдХрдбрд╝реЗ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ (рдкрд╛рда рдЯреБрдХрдбрд╝рд╛) (рдЫрд╡рд┐ 12)ред рдЗрд╕ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдЕрдВрджрд░ рдкрд╛рда рдореЗрдВ рд╡рд░реНрдгреЛрдВ рдкрд░ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рд╣реЛрддреА рд╣реИ, рдПрдХ рдкреВрд░реНрдгрд╛рдВрдХ рдкреНрд░рдХрд╛рд░ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рд╣реЛрддреА рд╣реИ, рдорд╛рди рдХреЛ рдЕрдкрдиреЗ рдЖрдк рд╕реЗ рдЧреБрдгрд╛ рдХрд░рддрд╛ рд╣реИ, рдФрд░ рд╡рд╛рдкрд╕ рдкрд╛рда рдЪрд░рд┐рддреНрд░ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рддрд╛ рд╣реИред рдХрд┐рд╕реА рджрд┐рдП рдЧрдП рдЙрдкрдорд╛ рдХреЗ рд▓рд┐рдП рднрд╛рд░ рдмрдврд╝рд╛рдиреЗ рдХрд╛ рд╕рдмрд╕реЗ рд╕реНрдкрд╖реНрдЯ рддрд░реАрдХрд╛ рдкрд╛рда рдХреЗ рдЯреБрдХрдбрд╝реЗ рдХреЗ рдЖрдХрд╛рд░ рдХреЛ рдмрдврд╝рд╛рдирд╛ рд╣реЛрдЧрд╛ - рдпрд╣ рдЗрд╕ рдЙрдкрдорд╛ рдореЗрдВ рдХрд┐рдП рдЧрдП рдкрд░рд┐рдЪрд╛рд▓рдиреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рд░реИрдЦрд┐рдХ рд░реВрдк рд╕реЗ рдмрдврд╝рд╛рдПрдЧрд╛ред рд╣рдо рдХреЗрд╡рд▓ MAX_CHAR_PER_INPUT_SLICE рд╕реЗрдЧрдореЗрдВрдЯ рдореЗрдВ рдЕрдзрд┐рдХрддрдо рд╡рд░реНрдгреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдирдП рдЖрдХрд╛рд░ рдХрд╛ рдЪрдпрди рдХрд░рддреЗ рд╣реИрдВ, рдЬреЛ рдХрд┐, 100 рдмрд╛рд░ рдореВрд▓ (рдкреНрд░реЛрдлрд╝рд╛рдЗрд▓ рдХреЗ рджреМрд░рд╛рди рдкреНрд░рд╛рдкреНрдд рд╕рдордп рд╕рдВрдХреЗрддрдХ рдХреЗ рдЖрдзрд╛рд░ рдкрд░) рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рдХрд╣рд╛ рдЬрд╛рдПрдЧрд╛ред рд╣рдо рдпрд╣ рднреА рдорд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдПрдХ рд╡рд╕реНрддреБ рдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛ рдЖрдХрд╛рд░ рдореЗрдВ рд╡реГрджреНрдзрд┐ рдХреЗ рд╕рд╛рде рдкрдврд╝рдиреЗ рдФрд░ рд▓рд┐рдЦрдиреЗ рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдХреА рджрдХреНрд╖рддрд╛ рднреА рдмрдврд╝реЗрдЧреАред

рдЪрд┐рддреНрд░ 12ред
рд╣рдо рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдлрд┐рд░ рд╕реЗ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ рдФрд░ рдХрд╛рд░реНрдп рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрд╕реЗ рдлрд┐рд░ рд╕реЗ рдкреНрд░реЛрдлрд╛рдЗрд▓ рдХрд░рддреЗ рд╣реИрдВ (рдЫрд╡рд┐ 13)ред рдбреВ рд╕реНрдХреНрд╡рд╛рдпрд░ рд╕рдмрдЯреИрдХ рдЕрдм рд▓рдЧрднрдЧ 10 рдорд┐рд▓реАрд╕реЗрдХрдВрдб рдореЗрдВ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рд╣реЛрддрд╛ рд╣реИ (рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╛рд░реНрдп рдХреА рдЫрд╡рд┐ рдкрд░ рд╣реЛрд╡рд░)ред рдЙрдк-рдореБрдЦреМрдЯреЗ рдХреЗ рдмреАрдЪ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рд░реВрдк рд╕реЗ рдХреЛрдИ "рдЕрдВрддрд░рд╛рд▓" рднреА рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ, рдЬреЛ рдереНрд░реЗрдбреНрд╕ рдХреЛ рд▓рдВрдмреЗ рд╕рдордп рддрдХ рд╡реНрдпрд╕реНрдд рд░рдЦрддрд╛ рд╣реИред рдЖрдк рдпрд╣ рднреА рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдЯреАрдмреАрдмреА рдЕрдиреБрд╕реВрдЪрдХ рдХреИрд╕реЗ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЫреЛрдЯреЗ рдЙрдкрдХреЗрдВрджреНрд░, рдЬреИрд╕реЗ рд▓рд┐рдЦреЗрдВ рдЪрд░рдг, рдЙрдиреНрд╣реЗрдВ рдПрдХ рд▓рдВрдмреА рдХрддрд╛рд░ рдореЗрдВ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ, рдФрд░ рдЙрдиреНрд╣реЗрдВ рдПрдХ рд╣реА рдзрд╛рдЧреЗ рдкрд░ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрд╕рд╛рдЗрди рдХрд░рддреЗ рд╣реИрдВ, рдЬрд┐рд╕рд╕реЗ рдЕрддрд┐рд░рд┐рдХреНрдд рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝реЗрд╢рди рдХреА рд▓рд╛рдЧрдд рдХрдо рд╣реЛ рдЬрд╛рддреА рд╣реИред

рдЪрд┐рддреНрд░ 13ред
рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдкреВрд░реЗ рдХрд╛рд░реНрдпрдХреНрд░рдо рдореЗрдВ рдХреБрд▓ рд╕рдорд╛рдирддрд╛ рдХреА рдЬрд╛рдВрдЪ рдХрд░рдирд╛ рднреА рджрд┐рд▓рдЪрд╕реНрдк рд╣реЛрдЧрд╛ред рдЬреИрд╕рд╛ рдХрд┐ рдЪрд┐рддреНрд░ 14 рдореЗрдВ рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЖрд╡реЗрджрди рдореБрдЦреНрдп рд░реВрдк рд╕реЗ 3 рдпрд╛ 4 рдзрд╛рдЧреЗ рджреНрд╡рд╛рд░рд╛ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЬреЛ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдЙрдкрд▓рдмреНрдзрд┐ рд╣реИред рдЖрдк рдХрдВрд╕реАрдбрд░ рд▓реЗрд╡рд▓ рдХреЗ рдФрд╕рдд рдореВрд▓реНрдп рдХреА рддреБрд▓рдирд╛ рднреА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЖрдкрдХреЛ рдпрд╣ рдпрд╛рдж рд░рдЦрдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдпрд╣ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рдЕрдиреБрдХреНрд░рдорд┐рдХ рд╣рд┐рд╕реНрд╕реЗ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рд╡рд╣ рднреА рд╢рд╛рдорд┐рд▓ рд╣реИ рдЬрд┐рд╕реЗ рд╣рдордиреЗ рд╕рдорд╛рдирд╛рдВрддрд░ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдерд╛ред
рд╣рд╛рдВ, рдХрд╛рд░реНрдпрдХреНрд░рдо рдХрд╛ рдзрд╛рд░рд╛рд╡рд╛рд╣рд┐рдХ рд╣рд┐рд╕реНрд╕рд╛ рдмрдирд╛ рд╣реБрдЖ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдПрдХ рддрд┐рд╣рд╛рдИ рдШрдЯ рдЧрдпрд╛ред рдЗрд╕реЗ рдЯрд╛рдЗрдорд▓рд╛рдЗрди рд╡реНрдпреВ рдХреЗ рдкрд░рд┐рдгрд╛рдореЛрдВ рдореЗрдВ рднреА рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдпрджрд┐ рдЗрд╕ рдЕрдиреБрдХреНрд░рдорд┐рдХ рднрд╛рдЧ рдХреЛ рдЪреБрдирд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдмрд╛рдХреА рд╕рдордп рдХреЛ рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рд╣рдо рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рдореБрдЦреНрдп рдереНрд░реЗрдб рдореЗрдВ рд╕рдВрдкреВрд░реНрдг рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рдЖрд░рдВрднреАрдХрд░рдг рдЪрд░рдг рд╕реЗ рдореЗрд▓ рдЦрд╛рддрд╛ рд╣реИред рдпрджрд┐ рд╣рдо рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рдХреМрди рд╕рд╛ рд╣рд┐рд╕реНрд╕рд╛ рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдХреЗ рд▓рд┐рдП рдЕрдиреБрд░реВрдк рд╣реИ рдФрд░ рдпрд╣ рдЖрд░рдВрднреАрдХрд░рдг рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдирд╣реАрдВ рд╣реИ, рддреЛ рд╣рдо рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдПрдкреАрдЖрдИ рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рд░реВрдкрд░реЗрдЦрд╛ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВ - рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдмрдирд╛рдиреЗ рд╕реЗ рддреБрд░рдВрдд рдкрд╣рд▓реЗ рд╕рдВрдЧреНрд░рд╣ рд╢реБрд░реВ рдХрд░рдирд╛, рдФрд░ рдХрд╛рдо рдкреВрд░рд╛ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж рд╕рдВрдЧреНрд░рд╣ рдХреЛ рд╕рдорд╛рдкреНрдд рдХрд░рдирд╛ред

рдЪрд┐рддреНрд░ 14ред
рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рджрдХреНрд╖рддрд╛ рдореЗрдВ рд╕реБрдзрд╛рд░ рдХрд╛ рдЕрдиреБрдорд╛рдирд┐рдд рд╡рд┐рдЪрд╛рд░ рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдЧреНрд░рд╛рдлрд╝ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╣рдо рдЖрд╡реЗрджрди рдХреЗ рд▓рд┐рдП рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рдкреНрд░рджрд░реНрд╢рди рд╕рдВрдХреЗрддрдХреЛрдВ рдХреЛ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЙрдирдХреА рддреБрд▓рдирд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред VTune рдПрдореНрдкрд▓реАрдлрд╛рдпрд░ рдореЗрдВ рд╕рднреА рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреА рддреБрд▓рдирд╛ рдЙрдЪрд┐рдд рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИред рдкреНрд░рд╛рд░рдВрднрд┐рдХ рд╣реЙрдЯрд╕реНрдкреЙрдЯреНрд╕ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЗ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЗ рдкрддреНрд░рд╛рдЪрд╛рд░ рдХреА рдмреЗрд╣рддрд░ рдзрд╛рд░рдгрд╛ рдХреЗ рд▓рд┐рдП, рдореИрдВ рдмрд╕ рджреЛ рддрд╕реНрд╡реАрд░реЗрдВ рд╕рд╛рде-рд╕рд╛рде рджреВрдВрдЧрд╛, рдФрд░ рдХреЛрдб рдмрджрд▓рдиреЗ рдХреЗ рдмрд╛рдж рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ (рдЪрд┐рддреНрд░ 15)ред рджрд┐рд▓рдЪрд╕реНрдк рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХрд╛ рдирд┐рд╖реНрдкрд╛рджрди рд╕рдордп (рдмреАрддрд╛ рд╣реБрдЖ рд╕рдордп) рдХрдо рд╣реЛ рдЧрдпрд╛ рд╣реИ, рдлрд╝рдВрдХреНрд╢рди
MyProcessFilter :: рдСрдкрд░реЗрдЯрд░ () рдореЗрдВ рдмрд┐рддрд╛рдП рд╕рдордп рдирд╣реАрдВ рдмрджрд▓рд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдХрд╛рдо рдХреА рдХреБрд▓ рд░рд╛рд╢рд┐ рдирд╣реАрдВ рдмрджрд▓реА рд╣реИ, рд▓реЗрдХрд┐рди рдмрд╕ рдЗрд╕реЗ рдлрд┐рд░ рд╕реЗ рд╡рд┐рддрд░рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдЙрд╕реА рд╕рдордп, рдЯреАрдмреАрдмреА рдХрд╛рд░реНрдп рдпреЛрдЬрдирд╛ рд▓рд╛рдЧрдд рдореЗрдВ рдХрд╛рдлреА рдХрдореА рдЖрдИ рдереАред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдбреЗрдЯрд╛ рдХреЛ рдкрдврд╝рдиреЗ рдФрд░ рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрд▓ рд╕рдордп рднреА рдХрдо рд╣реЛ рдЧрдпрд╛ рд╣реИ, рдЬрд╛рд╣рд┐рд░ рд╣реИ, рдкрд╛рда рдХреЗ рдмрдбрд╝реЗ рд╡рд░реНрдЧреЛрдВ рдХреЗ рд╕рд╛рде рдЕрдзрд┐рдХ рдХреБрд╢рд▓ рдХрд╛рдо рдХреЗ рдХрд╛рд░рдгред

рдЪрд┐рддреНрд░ 15ред
рдирд┐рд╖реНрдХрд░реНрд╖
рдбреЗрдЯрд╛ рдФрд░ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдЕрдкрдШрдЯрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХреЛ рд╕рдорд╛рдирд╛рдВрддрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рднрд╛рд╡реА рд░реВрдк рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЕрдиреБрдХреНрд░рдорд┐рдХ рдФрд░ рд╕рдорд╛рдирд╛рдВрддрд░ рдирд┐рд╖реНрдкрд╛рджрди рдЪрд░рдгреЛрдВ рдХреА рдкрд╛рдЗрдкрд▓рд╛рдЗрдирд┐рдВрдЧ рддрдХрдиреАрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХреЗ рдХреБрдЫ рд╡рд░реНрдЧреЛрдВ рдореЗрдВ рд╕реБрдзрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЗрдВрдЯреЗрд▓ рдЯреАрдмреАрдмреА рдкреБрд╕реНрддрдХрд╛рд▓рдп рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХреА рдкрд╛рдЗрдкрд▓рд╛рдЗрдирд┐рдВрдЧ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдореЗрдВ рд▓рдЧрдиреЗ рд╡рд╛рд▓реЗ рд╕рдордп рдХреЛ рдХрдо рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдЬрдмрдХрд┐ рд╢реЗрдбреНрдпреВрд▓рд┐рдВрдЧ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдХрд╛рд░реНрдп рдХреЛ рд▓реЗ рд░рд╣рд╛ рд╣реИ рдФрд░ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдЙрдкрд▓рдмреНрдз рдереНрд░реЗрдбреНрд╕ рдореЗрдВ рдЙрдирдХреЗ рдирд┐рд╖реНрдкрд╛рджрди рдХреЛ рд╕рдВрддреБрд▓рд┐рдд рдХрд░рддрд╛ рд╣реИред рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреЗ рдЪрд░рдгреЛрдВ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рдЧрдарди рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХреА рдЬрдЯрд┐рд▓рддрд╛ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдПрдХ рдЧреИрд░-рддреБрдЪреНрдЫ рдХрд╛рд░реНрдп рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдирд┐рд╖реНрдкрд╛рджрди рдХреЛ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░рдирд╛ рдФрд░ рднреА рдХрдард┐рди рд╣реЛ рд╕рдХрддрд╛ рд╣реИред VTune рдПрдореНрдкрд▓реАрдлрд╛рдпрд░ рдХрд╛ рдЯрд╛рд╕реНрдХ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдЯреВрд▓рдХрд┐рдЯ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдЧреНрд░рд╛рдлрд┐рдХрд▓ рд░реВрдк рдореЗрдВ рдмрд╣реБ-рдереНрд░реЗрдбреЗрдб рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдирд┐рд╖реНрдкрд╛рджрди рдХреА рдХрд▓реНрдкрдирд╛ рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддрд╛ рд╣реИ, рд╡рд┐рд╢реНрд▓реЗрд╖рдг рджрдХреНрд╖рддрд╛ рдмрдврд╝рд╛рддрд╛ рд╣реИ рдФрд░ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд╡рд┐рдХрд╛рд╕ рд╕рдордп рдХреЛ рдХрд╛рдлреА рдХрдо рдХрд░рддрд╛ рд╣реИред