рдмрд╣реБрдд рдкрд╣рд▓реЗ рдирд╣реАрдВ, рдПрдХ рдирдпрд╛ рдЦрдВрдб рдмреВрд╕реНрдЯ
-1.53 рдореЗрдВ рджрд┐рдЦрд╛рдИ рджрд┐рдпрд╛ -
рд▓реЙрдХрдлреНрд░реА рдЬреЛ рдЧреИрд░-рдЕрд╡рд░реБрджреНрдз рдХрддрд╛рд░реЛрдВ рдФрд░ рд╕реНрдЯреИрдХ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИред
рдкрд┐рдЫрд▓реЗ рдХреБрдЫ рд╡рд░реНрд╖реЛрдВ рдореЗрдВ рдореИрдВ рддрдерд╛рдХрдерд┐рдд рдиреЙрди-рдмреНрд▓реЙрдХрд┐рдВрдЧ рдПрд▓реНрдЧреЛрд░рд┐рджрдо (рд▓реЙрдХ-рдлреНрд░реА рдбреЗрдЯрд╛ рд╕реНрдЯреНрд░рдХреНрдЪрд░реНрд╕) рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рд╣рдордиреЗ рдЙрдиреНрд╣реЗрдВ рдЦреБрдж рд▓рд┐рдЦрд╛, рдЙрдирдХрд╛ рдЦреБрдж рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛, рдЙрдирдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛
рдФрд░ рдЧреБрдкреНрдд рд░реВрдк рд╕реЗ рдЙрди рдкрд░ рдЧрд░реНрд╡ рдХрд┐рдпрд╛ ред рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд░реВрдк рд╕реЗ, рдпрд╣ рд╕рд╡рд╛рд▓ рддреБрд░рдВрдд рдЙрдард╛ рдХрд┐ рдХреНрдпрд╛ рдШрд░-рдирд┐рд░реНрдорд┐рдд рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рд╕реЗ рдмреВрд╕реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рд┐рдЪ рдХрд░рдирд╛ рд╣реИ, рдФрд░ рдЕрдЧрд░ рд╕реНрд╡рд┐рдЪ рдХрд░рдирд╛ рд╣реИ, рддреЛ рдХрдм?
рдЬрдм рдореИрдВрдиреЗ рдХреБрдЫ рддрдХрдиреАрдХреЛрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд╣рд▓реА рдмрд╛рд░ рд╡рд┐рдЪрд╛рд░ рдХрд┐рдпрд╛ рдерд╛ рдЬрд┐рд╕рдХреЗ рд╕рд╛рде рд╣рдордиреЗ :: рд▓реЙрдХрдлреНрд░реА рдХреЛ рдмрдврд╝рд╛рд╡рд╛ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдХреЛрдб рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рдерд╛ред рд╕реМрднрд╛рдЧреНрдп рд╕реЗ, рд╣рдореЗрдВ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХрд╛ рд╕реНрд╡рдпрдВ рдкрд░реАрдХреНрд╖рдг рдирд╣реАрдВ рдХрд░рдирд╛ рд╣реИ, рдФрд░ рд╣рдо рдкреНрд░рджрд░реНрд╢рди рдХреЛ рдорд╛рдкрдиреЗ рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдореИрдВ рд▓реЗрдЦ рдХреЛ рд╕рднреА рдХреЗ рд▓рд┐рдП рджрд┐рд▓рдЪрд╕реНрдк рдмрдирд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реВрдВрдЧрд╛ред рдЬрд┐рди рд▓реЛрдЧреЛрдВ рдиреЗ рдЕрднреА рддрдХ рдРрд╕реЗ рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рд╕рд╛рдордирд╛ рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ, рдЙрдирдХреЗ рд▓рд┐рдП рдпрд╣ рджреЗрдЦрдирд╛ рдЙрдкрдпреЛрдЧреА рд╣реЛрдЧрд╛ рдХрд┐ рдРрд╕реЗ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХреНрдпрд╛ рд╕рдХреНрд╖рдо рд╣реИрдВ, рдФрд░ рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рдЙрдирдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд╣рд╛рдВ рдФрд░ рдХреИрд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдпрд╛ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЬрд┐рди рд▓реЛрдЧреЛрдВ рдХреЗ рдкрд╛рд╕ рдЧреИрд░-рдЕрд╡рд░реБрджреНрдз рдХрддрд╛рд░реЗрдВ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдХрд╛ рдЕрдиреБрднрд╡ рд╣реИ, рдЙрдирдХреЗ рд▓рд┐рдП рдорд╛рддреНрд░рд╛рддреНрдордХ рдорд╛рдк рдХреА рддреБрд▓рдирд╛ рдХрд░рдирд╛ рджрд┐рд▓рдЪрд╕реНрдк рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдореИрдВрдиреЗ рдЦреБрдж рдХрдо рд╕реЗ рдХрдо рдРрд╕реЗ рдкреНрд░рдХрд╛рд╢рди рдирд╣реАрдВ рджреЗрдЦреЗ рд╣реИрдВред
рдкрд░рд┐рдЪрдп: рдЧреИрд░-рдЕрд╡рд░реБрджреНрдз рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛рдПрдВ рдФрд░ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХреНрдпрд╛ рд╣реИрдВ
рдорд▓реНрдЯреАрдереНрд░реЗрдбрд┐рдВрдЧ рдХреА рдЕрд╡рдзрд╛рд░рдгрд╛ рдиреЗ рдЖрдзреБрдирд┐рдХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдореЗрдВ рджреГрдврд╝рддрд╛ рд╕реЗ рдкреНрд░рд╡реЗрд╢ рдХрд┐рдпрд╛ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐, рдереНрд░реЗрдб рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝реЗрд╢рди рдЯреВрд▓ рдХреЗ рдмрд┐рдирд╛ рдЕрд╕рдВрднрд╡ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореНрдпреВрдЯреЗрдХреНрд╕, рд╕реЗрдорд╛рдлреЛрд░, рдХрдВрдбреАрд╢рди рд╡реИрд░рд┐рдПрдмрд▓ рдФрд░ рдЙрдирдХреЗ рдмрд╛рдж рдХреЗ рд╡рдВрд╢рдЬ рджрд┐рдЦрд╛рдИ рджрд┐рдПред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдкрд╣рд▓реЗ рдорд╛рдирдХ рдХрд╛рд░реНрдп рдмрд▓реНрдХрд┐ рднрд╛рд░реА рдФрд░ рдзреАрдореЗ рдереЗ, рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЙрдиреНрд╣реЗрдВ рдХрд░реНрдиреЗрд▓ рдХреЗ рдЕрдВрджрд░ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЕрд░реНрдерд╛рдд, рдЙрдиреНрд╣реЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдХреЙрд▓ рдХреЗ рд▓рд┐рдП рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рд╕реНрд╡рд┐рдЪрд┐рдВрдЧ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдереАред рд╕реНрд╡рд┐рдЪрд┐рдВрдЧ рдХрд╛ рд╕рдордп рдХрдордЬреЛрд░ рд░реВрдк рд╕реЗ рд╕реАрдкреАрдпреВ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЬрд┐рддрдиреА рддреЗрдЬреА рд╕реЗ рдкреНрд░реЛрд╕реЗрд╕рд░ рдмрдирддреЗ рд╣реИрдВ, рдереНрд░реЗрдбреНрд╕ рдХреЛ рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрддрдиреЗ рдЕрдзрд┐рдХ рд╕рд╛рдкреЗрдХреНрд╖ рд╕рдордп рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рддрдм рдпрд╣ рд╡рд┐рдЪрд╛рд░ рдЖрдпрд╛ рдХрд┐ рдХрдо рд╕реЗ рдХрдо рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рд╕рдорд░реНрдерди рдХреЗ рд╕рд╛рде, рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ рдХрдИ рдереНрд░реЗрдбреНрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╣реБрдП, рдЕрдкрд░рд┐рд╡рд░реНрддрдиреАрдп рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛рдПрдВ рдмрдирд╛рдирд╛ рд╕рдВрднрд╡ рд╣реЛрдЧрд╛ред рдЬреЛ рд▓реЛрдЧ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрд╛рдирдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдЙрдирдХреЗ рд▓рд┐рдП рдореИрдВ
рдкреНрд░рдХрд╛рд╢рдиреЛрдВ рдХреА
рдЗрд╕ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреА рд╕рд┐рдлрд╛рд░рд┐рд╢ рдХрд░рддрд╛ рд╣реВрдВред
рдмреБрдирд┐рдпрд╛рджреА рдПрд▓реНрдЧреЛрд░рд┐рджрдо рд╡рд┐рдХрд╕рд┐рдд рдХрд┐рдП рдЧрдП рдереЗ рдФрд░ рдПрдХ рд▓рдВрдмреЗ рдмрдХреНрд╕реЗ рдореЗрдВ рд░рдЦреЗ рдЧрдП рдереЗ, рдЙрдирдХрд╛ рд╕рдордп рдЕрднреА рддрдХ рдирд╣реАрдВ рдЖрдпрд╛ рдерд╛ред рдЙрдиреНрд╣реЗрдВ рджреВрд╕рд░рд╛ рдЬреАрд╡рди рдорд┐рд▓рд╛ рдЬрдм рд╕рдВрджреЗрд╢ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рд╕рдордп (рд╡рд┐рд▓рдВрдмрддрд╛) рдХреА рдЕрд╡рдзрд╛рд░рдгрд╛ рд╕рд╛рдорд╛рдиреНрдп рд╕реАрдкреАрдпреВ рдХреА рдЧрддрд┐ рд╕реЗ рд▓рдЧрднрдЧ рдЕрдзрд┐рдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реЛ рдЧрдИред рдпрд╣ рд╕рдм рдХреНрдпрд╛ рд╣реИ?
рдпрд╣рд╛рдБ рдПрдХ рд╕рд░рд▓ рдЙрджрд╛рд╣рд░рдг рд╣реИ:рдорд╛рди рд▓реАрдЬрд┐рдП рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ рд╕рд░реНрд╡рд░ рд╣реИ рдЬреЛ рд╕рдВрджреЗрд╢реЛрдВ, рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИ рдФрд░ рдПрдХ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рднреЗрдЬрддрд╛ рд╣реИред рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рдореБрдЭреЗ 1 рдорд┐рд▓рд┐рдпрди рд╕рдВрджреЗрд╢ рдорд┐рд▓реЗ рдФрд░ рд╕рд░реНрд╡рд░ рдиреЗ рдЙрдирдХреЗ рд╕рд╛рде 2 рд╕реЗрдХрдВрдб рдореЗрдВ, рдпрд╛рдиреА рдкреНрд░рддрд┐ рд▓реЗрдирджреЗрди 2 рдорд╛рдЗрдХреНрд░реЛрд╕реЗрдХрдВрдб рдФрд░ рдпрд╣ рдореБрдЭреЗ рд╕реВрдЯ рдХрд┐рдпрд╛ред рд╕рдВрджреЗрд╢реЛрдВ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рддреЗ рд╕рдордп рдЗрд╕реЗ рдмреИрдВрдбрд╡рд┐рдбреНрде рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдпрд╣ рдПрдХ рд╕рд╣реА рдЙрдкрд╛рдп рдирд╣реАрдВ рд╣реИ ред рдмрд╛рдж рдореЗрдВ, рдореБрдЭреЗ рдпрд╣ рдЬрд╛рдирдХрд░ рдЖрд╢реНрдЪрд░реНрдп рд╣реБрдЖ рдХрд┐ рдореБрдЭреЗ рднреЗрдЬрдиреЗ рд╡рд╛рд▓реЗ рдкреНрд░рддреНрдпреЗрдХ рдЧреНрд░рд╛рд╣рдХ рдХреЛ 1 рд╕реЗрдХрдВрдб рд╕реЗ рдкрд╣рд▓реЗ рдХреЛрдИ рдЬрд╡рд╛рдм рдирд╣реАрдВ рдорд┐рд▓рд╛, рдЬреЛ рдЙрдиреНрд╣реЗрдВ рдмрд┐рд▓реНрдХреБрд▓ рднреА рдкрд╕рдВрдж рдирд╣реАрдВ рдЖрдпрд╛ред рдХреНрдпрд╛ рд╣реЛ рд░рд╣рд╛ рд╣реИ? рд╕рдВрднрд╛рд╡рд┐рдд рдкрд░рд┐рджреГрд╢реНрдпреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ: рд╕рд░реНрд╡рд░ рдЬрд▓реНрджреА рд╕реЗ рд╕рднреА рд╕рдВрджреЗрд╢ рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдмрдлрд░ рдореЗрдВ рдЬреЛрдбрд╝рддрд╛ рд╣реИ; рддрдм рдпрд╣ рдЙрдиреНрд╣реЗрдВ рд╕рдорд╛рдирд╛рдВрддрд░ рдореЗрдВ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рддрд╛ рд╣реИ, рд╣рд░ 1 рд╕реЗрдХрдВрдб рдХреЗ рд▓рд┐рдП рдЦрд░реНрдЪ рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдХреЗрд╡рд▓ 2 рд╕реЗрдХрдВрдб рдореЗрдВ рдПрдХ рд╕рд╛рде рд╕рдм рдХреБрдЫ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдмрдВрдзрди рдХрд░рддрд╛ рд╣реИ; рдФрд░ рдЬрд▓реНрджреА рд╡рд╛рдкрд╕ рднреЗрдЬ рджреЗрддрд╛ рд╣реИред рдпрд╣ рдПрдХ рдкреВрд░реЗ рдХреЗ рд░реВрдк рдореЗрдВ рдПрдХ рдЕрдЪреНрдЫреА рдкреНрд░рдгрд╛рд▓реА рдХреА рдЧрддрд┐ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИ рдФрд░ рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ рдЕрд╕реНрд╡реАрдХрд╛рд░реНрдп рд░реВрдк рд╕реЗ рдЙрдЪреНрдЪ рд╡рд┐рд▓рдВрдмрддрд╛ рд╣реИред
рдЖрдк
рд╣рд░реНрдм рд╕рдЯрд░ рдХреЗ
рд╕рд╛рдХреНрд╖рд╛рддреНрдХрд╛рд░ рдмрдпрд╛рди рдореЗрдВ рдЕрдзрд┐рдХ рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВ, рд╡рд╣ рдереЛрдбрд╝рд╛ рдЕрд▓рдЧ рд╕рдВрджрд░реНрдн рдореЗрдВ рд╣реИ, рд▓реЗрдХрд┐рди рд╡рд╣ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдкрд░ рдмрд╣реБрдд рд╣реА рд╕рдВрдпрдо рд╕реЗ рдЪрд░реНрдЪрд╛ рдХрд░рддрд╛ рд╣реИред рдпрд╣ рд╕рд╣рдЬ рд░реВрдк рд╕реЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЧрддрд┐ рдФрд░ рд╡рд┐рд▓рдВрдмрддрд╛ рдХреА рдЕрд╡рдзрд╛рд░рдгрд╛рдПрдВ рд╕рдорд╛рди рд╣реИрдВ - рдкрд╣рд▓рд╛ рдмрдбрд╝рд╛, рджреВрд╕рд░рд╛ рдЫреЛрдЯрд╛ред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдПрдХ рдХрд░реАрдм рд╕реЗ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рд╡реЗ рд╕реНрд╡рддрдВрддреНрд░ рдФрд░ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рд╕рд╣рд╕рдВрдмрджреНрдз рд╣реИрдВред
рдЧреИрд░-рдЕрд╡рд░реБрджреНрдз рд╕рдВрд░рдЪрдирд╛рдУрдВ рдХреЗ рд╕рд╛рде рдЗрд╕рдХрд╛ рдХреНрдпрд╛ рдХрд░рдирд╛ рд╣реИ? рд╕рдмрд╕реЗ рд╕реАрдзреА рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рд╡рд┐рд▓рдВрдмрддрд╛ рдХреЗ рд▓рд┐рдП, рдкреНрд░рд╡рд╛рд╣ рдХреЛ рдзреАрдорд╛ рдХрд░рдиреЗ рдпрд╛ рд░реЛрдХрдиреЗ рдХрд╛ рдХреЛрдИ рднреА рдкреНрд░рдпрд╛рд╕ рдШрд╛рддрдХ рд╣реИред рдзрд╛рд░рд╛ рдХреЛ рд╕реБрд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕реЗ рдЬрдЧрд╛рдирд╛ рдЕрд╕рдВрднрд╡ рд╣реИред рдЙрдирдХреА
рд╕реНрдиреЗрд╣реА рдЪреБрдВрдмрди рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рдХрд░реНрдиреЗрд▓ рдЬрдЧрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдпрд╣ рд╕рдордп рдкрд░
рдФрд░ рджреЛрдкрд╣рд░ рдХреЗ рднреЛрдЬрди рдХреЗ рд▓рд┐рдП рдЯреВрдЯ рдХреЗ рд╕рд╛рде рдРрд╕рд╛ рдирд╣реАрдВ рдХрд░рддрд╛
рд╣реИред рдХрд┐рд╕реА рдХреЛ рдпрд╣ рд╕рдордЭрд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВ рдХрд┐ рдЖрдкрдХрд╛ рдХрд╛рд░реНрдпрдХреНрд░рдо рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдкреНрд░рддрд┐рдмрджреНрдз рд╣реИред 200
рдиреИрдиреЛрд╕реЗрдХреЗрдВрдб рдХреЗ рднреАрддрд░ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХрд░рдиреЗ рдХрд╛ рдХрд╛рд░реНрдп, рдЗрд╕ рд╕рдордп 10
рдорд┐рд▓реАрд╕реЗрдХрдВрдб (* рдирд┐рдХреНрд╕ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕рдордп) рдХреЗ рд▓рд┐рдП рд╕реЛ рдЧрдпрд╛ рдФрд░ рдЗрд╕реЗ рдкрд░реЗрд╢рд╛рди рдирд╣реАрдВ рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рд╣реИред рд▓реЙрдХ-рдлреНрд░реА рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛рдПрдВ рдмрдЪрд╛рд╡ рдХреЗ рд▓рд┐рдП рдЖрддреА рд╣реИрдВ, рдЬрд┐рдиреНрд╣реЗрдВ рдЕрдиреНрдп рдзрд╛рд░рд╛рдУрдВ рдХреЗ рд╕рд╛рде рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝реЗрд╢рди рдХреЗ рд▓рд┐рдП рд╕реНрдЯреНрд░реАрдо рдХреЛ рд░реЛрдХрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИред
рд╣рдо рдРрд╕реА рдПрдХ рд╕рдВрд░рдЪрдирд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░реЗрдВрдЧреЗред
рдордВрдЪ рдХреЗ рд▓рд┐рдП рдкрд╣рд▓рд╛ рджреГрд╖реНрдЯрд┐рдХреЛрдг
рдореИрдВ рдХреЗрд╡рд▓ рдПрдХ рд╕рдВрд░рдЪрдирд╛ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░реВрдВрдЧрд╛ -
рдмрдврд╝рд╛рд╡рд╛ :: рд▓реЙрдХрдлреНрд░реА :: рдХрддрд╛рд░ рдЬреЛ рдПрдХ рдпреВрдирд┐рдбрд╛рдпрд░реЗрдХреНрд╢рдирд▓ рдХрддрд╛рд░ рдХреЛ рдордирдорд╛рдиреЗ рдврдВрдЧ рд╕реЗ рд▓рд┐рдЦрдиреЗ рдФрд░ рдкрдврд╝рдиреЗ рдХреА рдзрд╛рд░рд╛рдУрдВ рдХреЗ рд╕рд╛рде рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИред рдпрд╣ рд╕рдВрд░рдЪрдирд╛ рджреЛ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдореЗрдВ рдореМрдЬреВрдж рд╣реИ - рд╕реНрдореГрддрд┐ рдХреЛ рдЖрд╡рд╢реНрдпрдХрддрд╛рдиреБрд╕рд╛рд░ рдЖрд╡рдВрдЯрд┐рдд рдХрд░рдирд╛ рдФрд░ рдЕрдирдВрдд рдХреНрд╖рдорддрд╛, рдФрд░ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдмрдлрд░ рдХреЗ рд╕рд╛рде рд╡рд┐рдХрд▓реНрдкред рдХрдбрд╝рд╛рдИ рд╕реЗ рдмреЛрд▓рддреЗ рд╣реБрдП, рджреЛрдиреЛрдВ рдЧреИрд░-рдЕрд╡рд░реБрджреНрдз рдирд╣реАрдВ рд╣реИрдВ, рдкрд╣рд▓рд╛ рдХреНрдпреЛрдВрдХрд┐ рд╕рд┐рд╕реНрдЯрдо рдореЗрдореЛрд░реА рдЖрд╡рдВрдЯрди рд▓реЙрдХ-рдлрд╝реНрд░реА рдирд╣реАрдВ рд╣реИ, рджреВрд╕рд░рд╛, рдХреНрдпреЛрдВрдХрд┐ рдЬрд▓реНрджреА рдпрд╛ рдмрд╛рдж рдореЗрдВ рдмрдлрд░ рдУрд╡рд░рдлреНрд▓реЛ рд╣реЛ рдЬрд╛рдПрдЧрд╛ рдФрд░ рд▓реЗрдЦрди рдзрд╛рд░рд╛рдПрдВ рдЕрдирд┐рд╢реНрдЪрд┐рдд рдХрд╛рд▓ рддрдХ рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рд╣реЛрдВрдЧреА рдЬрдм рддрдХ рдХрд┐ рд░рд┐рдХреЙрд░реНрдбрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдЬрдЧрд╣ рди рд╣реЛред рдЪрд▓реЛ рдкрд╣рд▓реЗ рд╡рд┐рдХрд▓реНрдк рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдЕрдВрдд рдореЗрдВ рдореИрдВ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдмрдлрд░ рдХреЗ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЗ рд╕рд╛рде рддреБрд▓рдирд╛ рдХрд░реВрдВрдЧрд╛ред
рдореИрдВ рдпрд╣ рднреА рдЬреЛрдбрд╝рддрд╛ рд╣реВрдВ рдХрд┐ рдореЗрд░реЗ рдкрд╛рд╕ 4-рдХреЛрд░ рд▓рд┐рдирдХреНрд╕ рдорд┐рдВрдЯ -15 рд╣реИред
рдЖрдЗрдП
рдпрд╣рд╛рдБ рд╕реЗ рдХреЛрдб рдХреЛ рд╕рд╣реА
рд╕реЗ рд▓реЗрдВ рдФрд░ рдЪрд▓рд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВ, рдпрд╣рд╛рдБ рдкрд░рд┐рдгрд╛рдо рд╣реИ:
рдмрдврд╝рд╛рд╡рд╛ рджреЗрдирд╛ :: lockfree :: рдХрддрд╛рд░ lockfree рд╣реИ
40,000,000 рд╡рд╕реНрддреБрдУрдВ рдХрд╛ рдЙрддреНрдкрд╛рджрди рдХрд┐рдпрд╛ред
40,000,000 рд╡рд╕реНрддреБрдУрдВ рдХрд╛ рдЙрдкрднреЛрдЧ рдХрд┐рдпрд╛ред
рдЕрд╕рд▓реА 0m15.332s
рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ 1m0.376s
sys 0m0.064s
рдпрд╣реА рд╣реИ, рдЕрдЧрд░ рдЖрдк рд╕рд╛рдзрд╛рд░рдг рддрд░реАрдХреЗ рд╕реЗ, рд▓рдЧрднрдЧ 400 рдПрдирдПрд╕ рдкреНрд░рддрд┐ рд╕рдВрджреЗрд╢ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рд╕рдВрдкрд░реНрдХ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рдХрд╛рдлреА рд╕рдВрддреЛрд╖рдЬрдирдХ рд╣реИред рдпрд╣ рдХреНрд░рд┐рдпрд╛рдиреНрд╡рдпрди рдЗрдВрдЯ рдкрд╛рд╕ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдзрд╛рд░рд╛рдПрдБ рдкрдврд╝рдирд╛ рдФрд░ рд▓рд┐рдЦрдирд╛ рд╢реБрд░реВ рдХрд░рддрд╛ рд╣реИред
рдЖрдЗрдП рдХреЛрдб рдХреЛ рдереЛрдбрд╝рд╛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░реЗрдВ, рдореИрдВ рдереНрд░реЗрдб рдХреА рдПрдХ рдордирдорд╛рдиреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рдЪрд▓рд╛рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдФрд░ рдореБрдЭреЗ рдЖрдВрдХрдбрд╝реЗ рджреЗрдЦрдирд╛ рднреА рдкрд╕рдВрдж рд╣реИред рдпрджрд┐ рдЖрдк рдПрдХ рдкрдВрдХреНрддрд┐ рдореЗрдВ 100 рдмрд╛рд░ рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛рддреЗ рд╣реИрдВ рддреЛ рд╡рд┐рддрд░рдг рдХреНрдпрд╛ рд╣реЛрдЧрд╛?

рдпрд╣рд╛рдБ, рдХреГрдкрдпрд╛, рдпрд╣ рдХрд╛рдлреА рдЙрдЪрд┐рдд рд▓рдЧ рд░рд╣рд╛ рд╣реИред рдПрдХреНрд╕ рдЕрдХреНрд╖ рдкрд░, рд╕рдВрдЪрд░рд┐рдд рд╕рдВрджреЗрд╢реЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рд╕реЗ рд╡рд┐рднрд╛рдЬрд┐рдд рдиреИрдиреЛрд╕реЗрдХрдВрдб рдореЗрдВ рдХреБрд▓ рдирд┐рд╖реНрдкрд╛рджрди рд╕рдордп, рд╡рд╛рдИ рдЕрдХреНрд╖ рдкрд░ рдРрд╕реА рдШрдЯрдирд╛рдУрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рд╣реИред
рдФрд░ рдпрд╣рд╛рдБ рд╡рд┐рднрд┐рдиреНрди рд▓реЗрдЦрдХреЛрдВ / рдкрд╛рдардХреЛрдВ рдХреЗ рд▓рд┐рдП рдкрд░рд┐рдгрд╛рдо рд╣реИ:


рдпрд╣рд╛рдБ, рд╕рдм рдХреБрдЫ рдЗрддрдирд╛ рд░рд╕реАрд▓рд╛ рдирд╣реАрдВ рд╣реИ, рд╡рд┐рддрд░рдг рдХреЗ рдХрд┐рд╕реА рднреА рд╡реНрдпрд╛рдкрдХрдХрд░рдг рд╕реЗ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рдХреБрдЫ рднреА рдмреЗрд╣рддрд░ рддрд░реАрдХреЗ рд╕реЗ рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдпрд╣ рдмрд╣реБрдд рд╕реНрдкрд╖реНрдЯ рд╣реИ рдХрд┐ рдЗрд╕ рдкрд░реАрдХреНрд╖рдг рдореЗрдВ рдкрдврд╝рдиреЗ рд╡рд╛рд▓реА рдзрд╛рд░рд╛рдПрдВ рдХрднреА рднреА рдирд┐рдпрдВрддреНрд░рдг рдирд╣реАрдВ рдЫреЛрдбрд╝рддреА рд╣реИрдВ рдФрд░ рдЬрдм рдЙрдирдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЛрд░ рдХреА рд╕рдВрдЦреНрдпрд╛ рддрдХ рдкрд╣реБрдВрдЪрддреА рд╣реИ, рддреЛ рд╕рд┐рд╕реНрдЯрдо рдХреЛ рдЙрдиреНрд╣реЗрдВ рдирд┐рд▓рдВрдмрд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред
рдордВрдЪ рдХреЗ рд▓рд┐рдП рджреВрд╕рд░рд╛ рджреГрд╖реНрдЯрд┐рдХреЛрдг
рдЪрд▓реЛ рдкрд░реАрдХреНрд╖рдг рдореЗрдВ рдПрдХ рдФрд░ рд╕реБрдзрд╛рд░ рдХрд░рддреЗ рд╣реИрдВ, рдПрдХ рдмреЗрдХрд╛рд░
рдЗрдВрдЯ рдкрд╛рд╕ рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп, рд▓реЗрдЦрди рдзрд╛рд░рд╛ рд╡рд░реНрддрдорд╛рди рд╕рдордп рдХреЛ рдиреИрдиреЛрд╕реЗрдХрдВрдб рдХреЗ рд▓рд┐рдП рд╕рдЯреАрдХ рд░реВрдк рд╕реЗ рднреЗрдЬреЗрдВред рддрдм рдкреНрд░рд╛рдкреНрддрдХрд░реНрддрд╛ рдкреНрд░рддреНрдпреЗрдХ рд╕рдВрджреЗрд╢ рдХреЗ рд▓рд┐рдП рд╡рд┐рд▓рдВрдмрддрд╛ рдХреА рдЧрдгрдирд╛ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдЧрд╛ред рд╣рдо рдХрд░рддреЗ рд╣реИрдВ, рдЪрд▓рд╛рддреЗ рд╣реИрдВ:
рд╕реВрддреНрд░: 1 рд▓рд┐рдЦрдирд╛, 1 рдкрдврд╝рдирд╛
рд╡рд┐рдлрд▓: 0 рдзрдХреНрдХрд╛, 3267 рдЪрдмреВрддрд░реЗ
рдмреИрдВрдбрд╡рд┐рдбреНрде: 177.864 рдПрдирдПрд╕
рд╡рд┐рд▓рдВрдмрддрд╛: 1.03614e + 08 рдПрдирдПрд╕
рдЕрдм рд╣рдо рдХрддрд╛рд░ рд╕реЗ рд╕рдВрджреЗрд╢ рдХреЛ рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдФрд░ рдХрддрд╛рд░ рдореЗрдВ рд▓рд┐рдЦрдиреЗ рдХреЗ рдЕрд╕рдлрд▓ рдкреНрд░рдпрд╛рд╕реЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рднреА рдЧрд┐рдирддреЗ рд╣реИрдВ (рдкрд╣рд▓рд╛ рдкрд╛рдареНрдпрдХреНрд░рдо рдпрд╣рд╛рдБ рд╣рдореЗрд╢рд╛ рд╢реВрдиреНрдп рд╣реЛрдЧрд╛, рдпрд╣ рдПрдХ рдЖрд╡рдВрдЯрди рд╡рд┐рдХрд▓реНрдк рд╣реИ)ред
рд╣рд╛рд▓рд╛рдБрдХрд┐, рдпрд╣ рдФрд░ рдХреНрдпрд╛ рд╣реИ? рджреЗрд░реА, рдЬрд┐рд╕реЗ рд╣рдордиреЗ рд╕рд╣рдЬ рд░реВрдк рд╕реЗ рдПрдХ рд╣реА рдЖрджреЗрд╢ рдорд╛рди рд▓рд┐рдпрд╛ - 200 рдПрдирдПрд╕, рдЕрдЪрд╛рдирдХ 100 рдорд┐рд▓реАрд╕реЗрдХрдВрдб рд╕реЗ рдЕрдзрд┐рдХ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рдЖрдзрд╛ рдорд┐рд▓рд┐рдпрди рдЧреБрдирд╛ рдЕрдзрд┐рдХ! рдпрд╣ рд╕рд┐рд░реНрдл рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ред
рд▓реЗрдХрд┐рди рдЖрдЦрд┐рд░рдХрд╛рд░, рдЕрдм рд╣рдо рдкреНрд░рддреНрдпреЗрдХ рд╕рдВрджреЗрд╢ рдХреА рджреЗрд░реА рдХреЛ рдЬрд╛рдирддреЗ рд╣реИрдВ, рдЕрдм рджрдмрд╛рдПрдВ рдФрд░ рджреЗрдЦреЗрдВ рдХрд┐ рдпрд╣ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп рдореЗрдВ рдХреИрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИ, рдпрд╣рд╛рдВ рдХрдИ рд╕рдорд╛рди рдкрд░рд┐рдгрд╛рдо рд╢реБрд░реВ рд╣реЛрддреЗ рд╣реИрдВ, рддрд╛рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХреЗрдВ рдХрд┐ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд┐рддрдиреА рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд╣реИ:

рдпрджрд┐ рд╣рдо рдПрдХ рдмрд╛рд░ рдореЗрдВ рдПрдХ рд╕реНрдЯреНрд░реАрдо рд▓рд┐рдЦрддреЗ рд╣реИрдВ рдФрд░ рдкрдврд╝рддреЗ рд╣реИрдВ, рдФрд░ рдпрджрд┐ рдЪрд╛рд░, рддреЛ рдпрд╣рд╛рдБ:

рдХреНрдпрд╛ рдЪрд▓ рд░рд╣рд╛ рд╣реИ? рдХреБрдЫ рдордирдорд╛рдирд╛ рдкрд▓ рдореЗрдВ, рдкрдврд╝рдиреЗ рдХреА рдзрд╛рд░рд╛рдУрдВ рдХрд╛ рдПрдХ рд╣рд┐рд╕реНрд╕рд╛ рдЖрд░рд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд┐рд╕реНрдЯрдо рджреНрд╡рд╛рд░рд╛ рднреЗрдЬрд╛ рдЬрд╛рддрд╛ рд╣реИред рдХрддрд╛рд░ рддреЗрдЬреА рд╕реЗ рдмрдврд╝рдиреЗ рд▓рдЧрддреА рд╣реИ, рд╕рдВрджреЗрд╢ рдЗрд╕рдореЗрдВ рдмреИрдарддреЗ рд╣реИрдВ рдФрд░ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рддреЗ рд╣реИрдВред рдХреБрдЫ рд╕рдордп рдмрд╛рдж, рд╕реНрдерд┐рддрд┐ рдмрджрд▓ рдЬрд╛рддреА рд╣реИ, рд▓реЗрдЦрди рдзрд╛рд░рд╛рдУрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдкрдврд╝рдиреЗ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдХрдо рд╣реЛ рдЬрд╛рддреА рд╣реИ рдФрд░ рдХрддрд╛рд░ рдзреАрд░реЗ-рдзреАрд░реЗ рд╣рд▓ рд╣реЛ рд░рд╣реА рд╣реИред рдЗрд╕ рддрд░рд╣ рдХреЗ рдЙрддрд╛рд░-рдЪрдврд╝рд╛рд╡ рдорд┐рд▓рд┐рд╕реЗрдХрдВрдб рд╕реЗ рд╕реЗрдХрдВрдб рддрдХ рдХреА рдЕрд╡рдзрд┐ рдореЗрдВ рд╣реЛрддреЗ рд╣реИрдВ рдФрд░ рдХрддрд╛рд░ рдмреИрдЪ рдореЛрдб рдореЗрдВ рдХрд╛рдо рдХрд░рддреА рд╣реИ - рдПрдХ рд▓рд╛рдЦ рд╕рдВрджреЗрд╢ рд░рд┐рдХреЙрд░реНрдб рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ, рдПрдХ рдорд┐рд▓рд┐рдпрди рдкрдврд╝реЗ рдЬрд╛рддреЗ рд╣реИрдВред рдЗрд╕реА рд╕рдордп, рдкреНрд░рджрд░реНрд╢рди рдмрд╣реБрдд рдЕрдзрд┐рдХ рд░рд╣рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдкреНрд░рддреНрдпреЗрдХ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд╕рдВрджреЗрд╢ рдХрддрд╛рд░ рдореЗрдВ рдХрдИ рдорд┐рд▓реАрд╕реЗрдХрдВрдб рдЦрд░реНрдЪ рдХрд░ рд╕рдХрддрд╛ рд╣реИред
рд╣рдо рдХреНрдпрд╛ рдХрд░реЗрдВрдЧреЗ? рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдЖрдЗрдП рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪрддреЗ рд╣реИрдВ, рдЗрд╕ рд░реВрдк рдореЗрдВ рдкрд░реАрдХреНрд╖рдг рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдЕрдкрд░реНрдпрд╛рдкреНрдд рд╣реИред рд╣рдорд╛рд░реЗ рджреЗрд╢ рдореЗрдВ, рдЖрдзреЗ рд╕рдХреНрд░рд┐рдп рдзрд╛рдЧреЗ рдХреЗрд╡рд▓ рдХрддрд╛рд░ рдореЗрдВ рд╕рдВрджреЗрд╢ рдбрд╛рд▓рдиреЗ рдореЗрдВ рд╡реНрдпрд╕реНрдд рд╣реИрдВ, рдпрд╣ рдмрд╕ рдПрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдкреНрд░рдгрд╛рд▓реА рдкрд░ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рджреВрд╕рд░реЗ рд╢рдмреНрджреЛрдВ рдореЗрдВ, рдкрд░реАрдХреНрд╖рдг рдХреЛ рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рддрд╛рдХрд┐ рдЯреНрд░реИрдлрд╝рд┐рдХ рдорд╢реАрди рдХреЗ рд▓рд┐рдП рдЬрд╛рдирдмреВрдЭрдХрд░ рдмреЗрд╣рддрд░ рд╢рдХреНрддрд┐ рдЙрддреНрдкрдиреНрди рд╣реЛред
рдЖрдкрдХреЛ рдЗрдирдкреБрдЯ рдЯреНрд░реИрдлрд╝рд┐рдХ рдХреЛ рд╕реАрдорд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рдмрд╕ рдХрддрд╛рд░ рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рдХреЗ рдмрд╛рдж
usleep (0) рдбрд╛рд▓реЗрдВред рдореЗрд░реА рдорд╢реАрди рдкрд░, рдпрд╣ рдЕрдЪреНрдЫреА рд╕рдЯреАрдХрддрд╛ рдХреЗ рд╕рд╛рде 50 ╬╝s рдХреА рджреЗрд░реА рджреЗрддрд╛ рд╣реИред рдЖрдЗрдП рджреЗрдЦреЗрдВ:

рд▓рд╛рд▓ рд░реЗрдЦрд╛ рджреЗрд░реА рдХреЗ рдмрд┐рдирд╛ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдкрд░реАрдХреНрд╖рдг рд╣реИ, рд╣рд░реА рд░реЗрдЦрд╛ рджреЗрд░реА рдХреЗ рд╕рд╛рде рд╣реИред
рдпрд╣ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрд▓рдЧ рдорд╛рдорд▓рд╛ рд╣реИ, рдЕрдм рдЖрдк рдЖрдБрдХрдбрд╝реЛрдВ рдХреА рдЧрдгрдирд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдпрд╣рд╛рдБ рд▓рд┐рдЦрдиреЗ рдФрд░ рдкрдврд╝рдиреЗ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЗ рдХрдИ рд╕рдВрдпреЛрдЬрдиреЛрдВ рдХрд╛ рдкрд░рд┐рдгрд╛рдо рд╣реИ, рдПрдХреНрд╕ рдореЗрдВ рд╕реНрд╡реАрдХрд╛рд░реНрдп рдкреИрдорд╛рдиреЗ рдмрдирд╛рдП рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП, рд╕рдмрд╕реЗ рдмрдбрд╝реЗ рдирдореВрдиреЛрдВ рдореЗрдВ рд╕реЗ 1% рдХреЛ рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:

рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рд╡рд┐рд▓рдВрдмрддрд╛ 300 ns рдХреЗ рднреАрддрд░ рдЖрддреНрдорд╡рд┐рд╢реНрд╡рд╛рд╕ рд╕реЗ рд░рд╣рддреА рд╣реИ рдФрд░ рдХреЗрд╡рд▓ рд╡рд┐рддрд░рдг рдкреВрдВрдЫ рдЖрдЧреЗ рдФрд░ рдЖрдЧреЗ рдмрдврд╝рддреА рд╣реИред
рдФрд░ рдпрд╣рд╛рдБ рдХреНрд░рдорд╢рдГ рдПрдХ рдФрд░ рдЪрд╛рд░ рд▓реЗрдЦрди рдзрд╛рд░рд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдкрд░рд┐рдгрд╛рдо рд╣реИрдВред


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

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

рджреЛ рд╕рдореВрд╣реЛрдВ рдореЗрдВ рдЗрд╕ рддрд░рд╣ рдХреЗ рд╕реНрдкрд╖реНрдЯ рдЕрд▓рдЧрд╛рд╡ рдХреЛ рджреЗрдЦрдирд╛ рдереЛрдбрд╝рд╛ рдЕрдкреНрд░рддреНрдпрд╛рд╢рд┐рдд рдерд╛, рдЬрд╣рд╛рдВ рдкрд╛рдардХреЛрдВ рдХреА рдЧрддрд┐ рд▓реЗрдЦрдХреЛрдВ рдХреА рдЧрддрд┐ рд╕реЗ рдЕрдзрд┐рдХ рд╣реЛ рдЬрд╛рддреА рд╣реИ, рд╣рдореЗрдВ рд╣рдорд╛рд░реЗ рд╡рд╛рдВрдЫрд┐рдд рд╕реИрдХрдбрд╝реЛрдВ рдиреИрдиреЛрд╕реЗрдХрдВрдб рдорд┐рд▓рддреЗ рд╣реИрдВ, рдЬрд╣рд╛рдВ рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрдд, рдпрд╣ 30-40 рдорд╛рдЗрдХреНрд░реЛрд╕реЗрдХрдВрдб рддрдХ рдмрдврд╝ рдЬрд╛рддрд╛ рд╣реИ, рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдореЗрд░реА рдорд╢реАрди рдкрд░ рд╕рдВрджрд░реНрдн рдХреЛ рдмрджрд▓рдиреЗ рдХрд╛ рд╕рдордп рд╣реИред рдпрд╣ 128-рдмрд╛рдЗрдЯ рдмрдлрд░ рдХреЗ рд▓рд┐рдП рдкрд░рд┐рдгрд╛рдо рд╣реИ, 64K рдХреЗ рд▓рд┐рдП рдпрд╣ рдмрд╣реБрдд рд╕рдорд╛рди рджрд┐рдЦрддрд╛ рд╣реИ, рдХреЗрд╡рд▓ рджрд╛рд╣рд┐рдиреЗ рд╣рд╛рде рд╕рдореВрд╣ рд░реЗрдВрдЧрдирд╛, рдЕрдм рддрдХ, рджрд╕рд┐рдпреЛрдВ рдорд┐рд▓реАрд╕реЗрдХрдВрдб рддрдХред
рдпрд╣ рдЕрдЪреНрдЫрд╛ рд╣реИ рдпрд╛ рдмреБрд░рд╛? рдпрд╣ рдХрд╛рд░реНрдп рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ, рдПрдХ рддрд░рдл, рд╣рдо рдЖрддреНрдорд╡рд┐рд╢реНрд╡рд╛рд╕ рд╕реЗ рдЧрд╛рд░рдВрдЯреА рджреЗ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рджреЗрд░реА рдХрд┐рд╕реА рднреА рдкрд░рд┐рд╕реНрдерд┐рддрд┐ рдореЗрдВ 40 ╬╝s рд╕реЗ рдЕрдзрд┐рдХ рдирд╣реАрдВ рд╣реЛрдЧреА, рдФрд░ рдпрд╣ рдЕрдЪреНрдЫрд╛ рд╣реИ; рджреВрд╕рд░реА рдУрд░, рдЕрдЧрд░ рд╣рдореЗрдВ рдЗрд╕ рдореВрд▓реНрдп рд╕реЗ рдХрдо рдХреБрдЫ рдЕрдзрд┐рдХрддрдо рд╡рд┐рд▓рдВрдм рдХреА
рдЧрд╛рд░рдВрдЯреА рджреЗрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рдХрдард┐рди рд╕рдордп рд╣реЛрдЧрд╛ред рдкрд╛рдардХреЛрдВ / рд▓реЗрдЦрдХреЛрдВ рдХреЗ рд╕рдВрддреБрд▓рди рдореЗрдВ рдХреЛрдИ рднреА рдмрджрд▓рд╛рд╡, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╕рдВрджреЗрд╢ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдереЛрдбрд╝реЗ рдмрджрд▓рд╛рд╡ рдХреЗ рдХрд╛рд░рдг рджреЗрд░реА рдореЗрдВ рдЕрдЪрд╛рдирдХ рдкрд░рд┐рд╡рд░реНрддрди рд╣реЛ рд╕рдХрддрд╛ рд╣реИред
рд╣рд╛рд▓рд╛рдВрдХрд┐, рдпрд╛рдж рд░рдЦреЗрдВ рдХрд┐ рд╣рдо рд╕рдВрджреЗрд╢ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рддреЗрдЬреА рд╕реЗ рдЙрддреНрдкрдиреНрди рдХрд░рддреЗ рд╣реИрдВ, рдЬрд┐рд╕рд╕реЗ рд╣рдорд╛рд░реА рдкреНрд░рдгрд╛рд▓реА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд░ рд╕рдХрддреА рд╣реИ (рдКрдкрд░ рджреЗрдЦреЗрдВ, рдЧрддрд┐рд╢реАрд▓ рдХрддрд╛рд░реЛрдВ рдореЗрдВ рдЕрдиреБрднрд╛рдЧ рдореЗрдВ) рдФрд░ рдПрдХ рдкреНрд░рд╢рдВрд╕рдиреАрдп рд╡рд┐рд▓рдВрдм рд╕рдореНрдорд┐рд▓рд┐рдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ:

рдпрд╣ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдХрд╛рдлреА рдЕрдЪреНрдЫрд╛ рд╣реИ, рджреЛрдиреЛрдВ рд╕рдореВрд╣ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╡рд┐рд▓рдп рдирд╣реАрдВ рд╣реБрдП, рд▓реЗрдХрд┐рди рд╕рд╣реА рдПрдХ рдиреЗ рд╕рдВрдкрд░реНрдХ рдХрд┐рдпрд╛ рддрд╛рдХрд┐ рдЕрдзрд┐рдХрддрдо рд╡рд┐рд▓рдВрдмрддрд╛ 600 рд╕реЗ рдЕрдзрд┐рдХ рди рд╣реЛред рдЗрд╕рдХреЗ рд▓рд┐рдП рдореЗрд░рд╛ рд╢рдмреНрдж рд▓реЗрдВ, рдмрдбрд╝реЗ рдмрдлрд░ рдХреЗ рд▓рд┐рдП рдЖрдВрдХрдбрд╝реЗ 64K рд╣реИрдВ, рдпрд╣ рдмрд┐рд▓реНрдХреБрд▓ рд╕рдорд╛рди рджрд┐рдЦрддрд╛ рд╣реИ, рдорд╛рдореВрд▓реА рдЕрдВрддрд░ рдирд╣реАрдВред
рдпрд╣ рдПрдХ рдирд┐рд╖реНрдХрд░реНрд╖ рдкрд░ рдЬрд╛рдиреЗ рдХрд╛ рд╕рдордп рд╣реИ
рдореБрдЭреЗ рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдЬрд┐рди рд▓реЛрдЧреЛрдВ рдХреЗ рдкрд╛рд╕ рдЕрдиреБрднрд╡ рд╣реИ рд╡реЗ рдкрд░реАрдХреНрд╖рдг рдХреЗ рдкрд░рд┐рдгрд╛рдореЛрдВ рд╕реЗ рдХреБрдЫ рдЙрдкрдпреЛрдЧреА рдЦреБрдж рдХреЛ рдирд┐рдХрд╛рд▓рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдВрдЧреЗред рдпрд╣рд╛рдБ рдореИрдВ рдЦреБрдж рд╕реЛрдЪрддрд╛ рд╣реВрдБ:
- рдпрджрд┐ рдЖрдк рдХреЗрд╡рд▓ рдЧрддрд┐ рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВ, рддреЛ рд╕рднреА рд╡рд┐рдХрд▓реНрдк рд▓рдЧрднрдЧ рдмрд░рд╛рдмрд░ рд╣реИрдВ рдФрд░ рдкреНрд░рддрд┐ рд╕рдВрджреЗрд╢ рд╕реИрдХрдбрд╝реЛрдВ рдиреИрдиреЛрд╕реЗрдХрдВрдб рдХреЗ рдХреНрд░рдо рдХрд╛ рдФрд╕рдд рд╕рдордп рджреЗрддреЗ рд╣реИрдВред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдлрд┐рдХреНрд╕реНрдб_рдХреИрдкреЗрд╕рд┐рдЯреА рдХрддрд╛рд░ рдЕрдзрд┐рдХ рд╣рд▓реНрдХреА рд╣реЛрддреА рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рдореЗрдВ рдирд┐рд╢реНрдЪрд┐рдд рдорд╛рддреНрд░рд╛ рдореЗрдВ рдореЗрдореЛрд░реА рд╣реЛрддреА рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд╣реИрдВ, рдПрдХ рд▓рдХрдбрд╝рд╣рд╛рд░рд╛, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЬрд╣рд╛рдВ рдпрд╣ рд╕рдВрднрд╡ рд╣реИ рдХрд┐ рд░реАрдбрд┐рдВрдЧ рд╕реНрдЯреНрд░реАрдо рдХреЛ рдЬрд┐рддрдиреА рдЬрд▓реНрджреА рд╣реЛ рд╕рдХреЗ "рдирд┐: рд╢реБрд▓реНрдХ" рдХрд░рдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ, рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдЖрд╡рдВрдЯрди рдХрддрд╛рд░ рдмреЗрд╣рддрд░ рд╣реИ, рджреВрд╕рд░реА рдУрд░, рдпрд╣ рдЕрд╕реАрдорд┐рдд рд░реВрдк рд╕реЗ рдореЗрдореЛрд░реА рдХрд╛ рдЙрдкрднреЛрдЧ рдХрд░ рд╕рдХрддрд╛ рд╣реИред
- рдпрджрд┐ рд╡рд┐рд▓рдВрдмрддрд╛ рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рддреЛ рдкреНрд░рддреНрдпреЗрдХ рд╕рдВрджреЗрд╢ рдХрд╛ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рд╕рдордп рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╣реЛрддрд╛ рд╣реИ, рд╕реНрдерд┐рддрд┐ рдЬрдЯрд┐рд▓ рд╣реЛрддреА рд╣реИред рдЙрди рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдЬрд╣рд╛рдВ рдЖрдк рд▓реЗрдЦрди рд╕реНрдЯреНрд░реАрдо (рд▓реЙрдЧрд░реНрд╕) рдХреЛ рдмреНрд▓реЙрдХ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдпрд╣ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдПрдХ рдЖрд╡рдВрдЯрди рд╡рд┐рдХрд▓реНрдк рдЪреБрдирдиреЗ рдХреЗ рд▓рд╛рдпрдХ рд╣реИред рд╕реАрдорд┐рдд рдореЗрдореЛрд░реА рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдлрд┐рдХреНрд╕реНрдб_рдХреИрдкрд┐рдЯреА рд╡рд┐рд╢рд┐рд╖реНрдЯ рд░реВрдк рд╕реЗ рдЙрдкрдпреБрдХреНрдд рд╣реИ, рд╕рд┐рдЧреНрдирд▓ рдХреЗ рдЖрдВрдХрдбрд╝реЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдмрдлрд░ рдЖрдХрд╛рд░реЛрдВ рдХрд╛ рдЪрдпрди рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред
- рдХрд┐рд╕реА рднреА рдорд╛рдорд▓реЗ рдореЗрдВ, рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдбреЗрдЯрд╛ рд╕реНрдЯреНрд░реАрдо рдХреА рддреАрд╡реНрд░рддрд╛ рдХреЗ рд╕рдВрдмрдВрдз рдореЗрдВ рдЕрд╕реНрдерд┐рд░ рд╣реИред рдЬрдм рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╕реАрдорд╛ рдкрд╛рд░ рд╣реЛ рдЬрд╛рддреА рд╣реИ, рддреЛ рджреЗрд░реА рдкрд░рд┐рдорд╛рдг рдХреЗ рдХрдИ рдЖрджреЗрд╢реЛрдВ рд╕реЗ рдХреВрдж рдЬрд╛рддреА рд╣реИ рдФрд░ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд▓рд╛рдЗрди (рд▓реЗрдХрд┐рди рдФрдкрдЪрд╛рд░рд┐рдХ рд░реВрдк рд╕реЗ рдирд╣реАрдВ) рдЕрд╡рд░реБрджреНрдз рд╣реЛ рдЬрд╛рддреА рд╣реИред рдПрдХ рдирд┐рдпрдо рдХреЗ рд░реВрдк рдореЗрдВ, рдЕрд╡рд░реБрджреНрдз рдореЛрдб рдореЗрдВ рдЧрд┐рд░рдиреЗ рдХреЗ рдмрд┐рдирд╛ рд╕рд┐рд╕реНрдЯрдо рдХреЛ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдареАрдХ-рдЯреНрдпреВрдирд┐рдВрдЧ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред
- рдЗрдирдкреБрдЯ рдФрд░ рдЖрдЙрдЯрдкреБрдЯ рд╕реНрдЯреНрд░реАрдо рдХрд╛ рдПрдХ рдкреВрд░реНрдг рдбрд┐рдХреВрдкрд┐рдВрдЧ рдХреЗрд╡рд▓ рдЖрд╡рдВрдЯрд┐рдд рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рд╕рдВрднрд╡ рд╣реИ, рдпрд╣ рд╣рд╛рд╕рд┐рд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЕрдирд┐рдпрдВрддреНрд░рд┐рдд рдореЗрдореЛрд░реА рдХреА рдЦрдкрдд рдФрд░ рдЕрдирд┐рдпрдВрддреНрд░рд┐рдд рд▓рдВрдмреА рджреЗрд░реА рдХреЗ рдХрд╛рд░рдгред
- Fixed_capacity рдЖрдкрдХреЛ рдХреБрдЫ рдЙрдЪрд┐рдд рд╕реАрдорд╛ рддрдХ рдЕрдзрд┐рдХрддрдо рд╡рд┐рд▓рдВрдмрддрд╛ рдХреЛ рд╕реАрдорд┐рдд рдХрд░рддреЗ рд╣реБрдП рддреЗрдЬреА рд╕реЗ рдбреЗрдЯрд╛ рд╣рд╕реНрддрд╛рдВрддрд░рдг рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдлрд┐рдХреНрд╕реНрдб_рдХреИрдкреЗрд╕рд┐рдЯреА рдХрддрд╛рд░ рд╕реНрд╡рдпрдВ рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ рдПрдХ рдмрд╣реБрдд рд╣реА рд╣рд▓реНрдХреА рд╕рдВрд░рдЪрдирд╛ рд╣реИред рдореБрдЦреНрдп рдЛрдг рдпрд╣ рд╣реИ рдХрд┐ рдпрджрд┐ рдХрд┐рд╕реА рдХрд╛рд░рдг рд╕реЗ рдкрд╛рдардХ рд╕рд╛рдордирд╛ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдпрд╛ рдлреНрд░реАрдЬрд╝ рдирд╣реАрдВ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рддреЛ рд▓реЗрдЦрди рдзрд╛рд░рд╛рдПрдБ рдЕрд╡рд░реБрджреНрдз рд╣реЛ рдЬрд╛рддреА рд╣реИрдВред рдмрдлрд░ рдХреЗ рдмрдбрд╝реЗ рдЖрдХрд╛рд░, рдореЗрд░реА рд░рд╛рдп рдореЗрдВ, рд╢рд╛рдпрдж рд╣реА рдХрднреА рдЖрд╡рд╢реНрдпрдХ рд╣реИрдВ, рд╡реЗ рдЖрдкрдХреЛ рд╕рдВрдХреНрд░рдордгрдХрд╛рд▓реАрди рдЧрддрд┐рд╢реАрд▓рддрд╛ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреЗ рд╣реИрдВ, рдЖрд╡рдВрдЯрди рдХрддрд╛рд░ рдХреЗ рдХрд░реАрдм рдХреБрдЫред
- рдореЗрд░реЗ рд▓рд┐рдП рдПрдХ рдмрд╣реБрдд рд╣реА рдЕрдкреНрд░рд┐рдп рдЖрд╢реНрдЪрд░реНрдп рдЧрддрд┐рдХреА рдкрд░ рд▓рдЧрд╛рддрд╛рд░ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рдмреЗрдХрд╛рд░ рдкрдврд╝рдиреЗ рдХреА рдзрд╛рд░рд╛рдУрдВ рдХрд╛ рдорд╣рд╛рди рдирдХрд╛рд░рд╛рддреНрдордХ рдкреНрд░рднрд╛рд╡ рдерд╛ред рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдорд╛рдорд▓реЗ рдореЗрдВ рдЬрдм рдереНрд░реЗрдбреНрд╕ рдХреА рдХреБрд▓ рд╕рдВрдЦреНрдпрд╛ <= рд╕реАрдкреАрдпреВ, 100% рдЦрдкрдд рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдПрдХ рдФрд░ рдзрд╛рдЧреЗ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рд╕реЗ рд╕реБрдзрд╛рд░ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЧрддрд┐рд╢реАрд▓рддрд╛ рдЦрд░рд╛рдм рд╣реЛ рдЬрд╛рддреА рд╣реИред рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ "рдмрдбрд╝реЗ рд╕рд░реНрд╡рд░" рдХреА рд░рдгрдиреАрддрд┐, рдЬрдм рдкреНрд░рддреНрдпреЗрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдзрд╛рдЧрд╛ рдХреЛ рдПрдХ рдЕрд▓рдЧ рдХреЛрд░ рд╕реМрдВрдкрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд╣рдореЗрд╢рд╛ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред
- рдЗрд╕ рд╕рдВрдмрдВрдз рдореЗрдВ, рдПрдХ рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдЕрднреА рднреА рд╣рд▓ рдирд╣реАрдВ рд╣реБрдИ рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдХрд┐рд╕реА рдШрдЯрдирд╛ рдХреЗ рдЗрдВрддрдЬрд╛рд░ рдореЗрдВ рдХреБрд╢рд▓рддрд╛ рд╕реЗ рдзрд╛рдЧреЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рдПред рдпрджрд┐ рдЖрдк рдЗрд╕реЗ рд╕реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдбрд╛рд▓рддреЗ рд╣реИрдВ - рд╡рд┐рд▓рдВрдмрддрд╛
рдХрд░реНрдо рд╡рд╕рд╛ рдХреЛ рдЦрд░рд╛рдм рдХрд░ рджреЗрддрд╛ рд╣реИ, рдпрджрд┐ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдЕрдиреНрдп рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ - рд╕рдорд╕реНрдпрд╛ рдЬрд▓реНрджреА рд╕реЗ рдХрд╛рд░реНрдп рд╕реЗ рд╕реНрд╡рд┐рдЪ рдХрд░рдиреЗ рддрдХ рдЙрддреНрдкрдиреНрди рд╣реЛрддреА рд╣реИред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрджрд░реНрд╢ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдЪреНрдЫрд╛ рд╕рдиреНрдирд┐рдХрдЯрди рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдзрд╛рд░рд╛ рдХреЛ рдмрдврд╝рд╛рд╡рд╛ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдВрднрд╡ рд╣реЛрдЧрд╛ :: io_service, рддрд╛рдХрд┐ рдХреБрд╢рд▓рддрд╛ рд╕реЗ рдХрдо рд╕реЗ рдХрдо рджреБрд░реНрд▓рдн рдШрдЯрдирд╛рдУрдВ рдХреА рд╕реЗрд╡рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред рдореБрдЭреЗ рдпрд╣ рд╕реБрдирдХрд░ рдЦреБрд╢реА рд╣реЛрдЧреА рдХрд┐ рдХрд┐рд╕реА рдХреЗ рдкрд╛рд╕ рдХреЛрдИ рд╡рд┐рдЪрд╛рд░ рд╣реИред
рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдЬрд┐рдиреНрд╣реЗрдВ рдПрдХ рдХреЛрдб рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ#include <boost/thread/thread.hpp> #include <boost/lockfree/queue.hpp> #include <time.h> #include <atomic> #include <iostream> std::atomic<int> producer_count(0); std::atomic<int> consumer_count(0); std::atomic<unsigned long> push_fail_count(0); std::atomic<unsigned long> pop_fail_count(0); #if 1 boost::lockfree::queue<timespec, boost::lockfree::fixed_sized<true>> queue(65534); #else boost::lockfree::queue<timespec, boost::lockfree::fixed_sized<false>> queue(128); #endif unsigned stat_size=0, delay=0; std::atomic<unsigned long>* stat=0; std::atomic<int> idx(0); void producer(unsigned iterations) { timespec t; for (int i=0; i != iterations; ++i) { ++producer_count; clock_gettime(CLOCK_MONOTONIC, &t); while (!queue.push(t)) ++push_fail_count; if(delay) usleep(0); } } boost::atomic<bool> done (false); void consumer(unsigned iterations) { timespec t, v; while (!done) { while (queue.pop(t)) { ++consumer_count; clock_gettime(CLOCK_MONOTONIC, &v); unsigned i=idx++; v.tv_sec-=t.tv_sec; v.tv_nsec-=t.tv_nsec; stat[i]=v.tv_sec*1000000000+v.tv_nsec; } ++pop_fail_count; } while (queue.pop(t)) { ++consumer_count; clock_gettime(CLOCK_MONOTONIC, &v); unsigned i=idx++; v.tv_sec-=t.tv_sec; v.tv_nsec-=t.tv_nsec; stat[i]=v.tv_sec*1000000000+v.tv_nsec; } } int main(int argc, char* argv[]) { boost::thread_group producer_threads, consumer_threads; int indexed=0, quiet=0; int producer_thread=1, consumer_thread=1; int opt; while((opt=getopt(argc,argv,"idqr:w:")) !=-1) switch(opt) { case 'r': consumer_thread=atol(optarg); break; case 'w': producer_thread=atol(optarg); break; case 'd': delay=1; break; case 'i': indexed=1; break; case 'q': quiet=1; break; default : return 1; } int iterations=6000000/producer_thread/consumer_thread; unsigned stat_size=iterations*producer_thread*consumer_thread; stat=new std::atomic<unsigned long>[stat_size]; timespec st, fn; clock_gettime(CLOCK_MONOTONIC, &st); for (int i=0; i != producer_thread; ++i) producer_threads.create_thread([=](){ producer(stat_size/producer_thread); }); for (int i=0; i != consumer_thread; ++i) consumer_threads.create_thread([=]() { consumer(stat_size/consumer_thread); }); producer_threads.join_all(); done=true; consumer_threads.join_all(); clock_gettime(CLOCK_MONOTONIC, &fn); std::cerr << "threads : " << producer_thread <<" write, " << consumer_thread << " read" << std::endl; std::cerr << "failed : " << push_fail_count << " pushes, " << pop_fail_count << " pops" << std::endl; fn.tv_sec-=st.tv_sec; fn.tv_nsec-=st.tv_nsec; std::cerr << "bandwidth: " << (fn.tv_sec*1e9+fn.tv_nsec)/stat_size << " ns"<< std::endl; double ct=0; for(auto i=0; i < stat_size; ++i) ct+=stat[i]; std::cerr << "latency : "<< ct/stat_size << " ns"<< std::endl; if(!quiet) { if(indexed) for(auto i=0; i < stat_size; ++i) std::cout<<i<<" "<<stat[i]<<std::endl; else for(auto i=0; i < stat_size; ++i) std::cout<<stat[i]<<std::endl; } return 0; }