рдЖрд╡рдВрдЯрди рддрдВрддреНрд░ рдЬрд╛рдУ

рдЬрдм рдореИрдВрдиреЗ рдкрд╣рд▓реА рдмрд╛рд░ рдпрд╣ рд╕рдордЭрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рдХрд┐ рдЧреЛ рдХрд╛рд░реНрдп рдореЗрдВ рд╕реНрдореГрддрд┐ рдЖрд╡рдВрдЯрди рдЙрдкрдХрд░рдг рдХреИрд╕реЗ рд╣реИрдВ, рддреЛ рдореИрдВ рдПрдХ рд░рд╣рд╕реНрдпрдордп рдмреНрд▓реИрдХ рдмреЙрдХреНрд╕ рдХреА рддрд░рд╣ рд▓рдЧрдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ред рдХрд┐рд╕реА рднреА рдЕрдиреНрдп рддрдХрдиреАрдХ рдХреЗ рд╕рд╛рде, рдпрд╣рд╛рдВ рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд╛рдд рдЕрдореВрд░реНрддрддрд╛ рдХреА рдХрдИ рдкрд░рддреЛрдВ рдХреЗ рдкреАрдЫреЗ рдЫрд┐рдкреА рд╣реБрдИ рд╣реИ, рдЬрд┐рд╕рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЖрдкрдХреЛ рдХреБрдЫ рд╕рдордЭрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред



рд╕рд╛рдордЧреНрд░реА рдХреЗ рд▓реЗрдЦрдХ, рдЬрд┐рд╕ рдЕрдиреБрд╡рд╛рдж рдХрд╛ рд╣рдо рдкреНрд░рдХрд╛рд╢рди рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдЙрд╕рдиреЗ рдЧреЛ рдореЗрдВ рдореЗрдореЛрд░реА рдЖрд╡рдВрдЯрди рдХреЗ рд╕рд╛рдзрдиреЛрдВ рдХреА рддрд╣ рддрдХ рдЬрд╛рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ рдФрд░ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХреАред

рднреМрддрд┐рдХ рдФрд░ рдЖрднрд╛рд╕реА рд╕реНрдореГрддрд┐


рдореЗрдореЛрд░реА рдЖрд╡рдВрдЯрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рднреА рд╕рд╛рдзрдиреЛрдВ рдХреЛ рд╡рд░реНрдЪреБрдЕрд▓ рдореЗрдореЛрд░реА рдХреЗ рдПрдбреНрд░реЗрд╕ рд╕реНрдкреЗрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рдкрдбрд╝рддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рджреНрд╡рд╛рд░рд╛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЖрдЗрдП рджреЗрдЦреЗрдВ рдХрд┐ рдореЗрдореЛрд░реА рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддреА рд╣реИ, рдиреНрдпреВрдирддрдо рд╕реНрддрд░ рдкрд░ рд╢реБрд░реВ рд╣реЛрддреА рд╣реИ - рдореЗрдореЛрд░реА рдХреЛрд╢рд┐рдХрд╛рдУрдВ рдХреЗ рд╕рд╛рдеред
рд░реИрдо рд╕реЗрд▓ рдХреА рдХрд▓реНрдкрдирд╛ рдХреИрд╕реЗ рдХрд░реЗрдВред


рдореЗрдореЛрд░реА рд╕реЗрд▓ рд▓реЗрдЖрдЙрдЯ

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

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


рднреМрддрд┐рдХ рдореЗрдореЛрд░реА рдФрд░ рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЗ рдЗрдВрдЯрд░реИрдХреНрд╢рди рдХреА рдпреЛрдЬрдирд╛

рдбреЗрдЯрд╛ рдмрд╕ рдкреНрд░реЛрд╕реЗрд╕рд░ рдФрд░ рднреМрддрд┐рдХ рдореЗрдореЛрд░реА рдХреЗ рдмреАрдЪ рдбреЗрдЯрд╛ рдкрд░рд┐рд╡рд╣рди рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИред

рдЕрдм рдмрд╛рдд рдХрд░рддреЗ рд╣реИрдВ рдПрдбреНрд░реЗрд╕ рд▓рд╛рдЗрди рдФрд░ рдПрдбреНрд░реЗрд╕реЗрдмрд▓ рдмрд╛рдЗрдЯреНрд╕ рдХреАред


рдкреНрд░реЛрд╕реЗрд╕рд░ рдФрд░ рднреМрддрд┐рдХ рдореЗрдореЛрд░реА рдХреЗ рдмреАрдЪ рдмрд╕ рдкрддрд╛ рд▓рд╛рдЗрдиреЗрдВ

  1. RAM рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдмрд╛рдЗрдЯ рдХреЛ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ (рдкрддрд╛) рд╕реМрдВрдкрд╛ рдЧрдпрд╛ рд╣реИред рдпрд╣ рдзреНрдпрд╛рди рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдореЗрдореЛрд░реА рдореЗрдВ рдореМрдЬреВрдж рднреМрддрд┐рдХ рдмрд╛рдЗрдЯреНрд╕ рдХреА рд╕рдВрдЦреНрдпрд╛ рдкрддрд╛ рд▓рд╛рдЗрдиреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЗ рдмрд░рд╛рдмрд░ рдирд╣реАрдВ рд╣реИред
  2. рдкреНрд░рддреНрдпреЗрдХ рдкрддрд╛ рдкрдВрдХреНрддрд┐ 1-рдмрд┐рдЯ рдорд╛рди рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░ рд╕рдХрддреА рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдмрд╛рдЗрдЯ рдХреЗ рдкрддреЗ рдореЗрдВ рдПрдХ рдмрд┐рдЯ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИред
  3. рд╣рдорд╛рд░реЗ рд╕рд░реНрдХрд┐рдЯ рдореЗрдВ 32 рдкрддрд╛ рд▓рд╛рдЗрдиреЗрдВ рд╣реИрдВред рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рдкреНрд░рддреНрдпреЗрдХ рдкрддрд╛ рдпреЛрдЧреНрдп рдмрд╛рдЗрдЯ рдЕрдкрдиреЗ рдкрддреЗ рдХреЗ рд░реВрдк рдореЗрдВ рдПрдХ 32-рдмрд┐рдЯ рд╕рдВрдЦреНрдпрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреА рд╣реИред [00000000000000000000000000000000] - рд╕рдмрд╕реЗ рдХрдо рд╕реНрдореГрддрд┐ рдкрддрд╛ред [111111111111111111111111111111111111] - рдЙрдЪреНрдЪрддрдо рд╕реНрдореГрддрд┐ рдкрддрд╛ред
  4. рдЪреВрдВрдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рдмрд╛рдЗрдЯ рдореЗрдВ рдПрдХ 32-рдмрд┐рдЯ рдкрддрд╛ рд╣реЛрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣рдорд╛рд░реЗ рдкрддреЗ рдХреА рдЬрдЧрд╣ рдореЗрдВ 2 32 рдкрддрд╛ рдпреЛрдЧреНрдп рдмрд╛рдЗрдЯреНрд╕ (4 рдЬреАрдмреА) рд╣реЛрддреЗ рд╣реИрдВред

рдирддреАрдЬрддрди, рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ рдХрд┐ рдкрддрд╛ рдпреЛрдЧреНрдп рдмрд╛рдЗрдЯреНрд╕ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреБрд▓ рдкрддрд╛ рд▓рд╛рдЗрдиреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддреА рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ 64 рдкрддрд╛ рд▓рд╛рдЗрдиреЗрдВ (x86-64 рдкреНрд░реЛрд╕реЗрд╕рд░) рд╣реИрдВ, рддреЛ рдЖрдк рдореЗрдореЛрд░реА рдХреЗ 2 64 рдмрд╛рдЗрдЯреНрд╕ (16 рдПрдХреНрд╕рдмрд╛рдЗрдЯреНрд╕) рдХреЛ рд╕рдВрдмреЛрдзрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди 64-рдмрд┐рдЯ рдкреЙрдЗрдВрдЯрд░реНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдЕрдзрд┐рдХрд╛рдВрд╢ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ 48-рдмрд┐рдЯ рдПрдбреНрд░реЗрд╕ рд▓рд╛рдЗрдиреНрд╕ (рдПрдПрдордбреА 64) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ 42-рдмрд┐рдЯ рдПрдбреНрд░реЗрд╕ рд▓рд╛рдЗрдиреНрд╕ (рдЗрдВрдЯреЗрд▓), рдЬреЛ рд╕реИрджреНрдзрд╛рдВрддрд┐рдХ рд░реВрдк рд╕реЗ рдХрдВрдкреНрдпреВрдЯрд░ рдХреЛ 256 рдЯреЗрд░рд╛рдмрд╛рдЗрдЯреНрд╕ рдХреА рднреМрддрд┐рдХ рдореЗрдореЛрд░реА (рд▓рд┐рдирдХреНрд╕ рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, x86-64 рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдкрд░, рд▓реЗрд╡рд▓ 4 рдПрдбреНрд░реЗрд╕ рдкреЗрдЬреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп, рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЗ рд▓рд┐рдП 128 рдЯреАрдмреА рддрдХ рдХреЗ рдкрддреЗ рдХреА рдЬрдЧрд╣ рдЖрд╡рдВрдЯрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╡рд┐рдВрдбреЛрдЬ рдЖрдкрдХреЛ рдЖрд╡рдВрдЯрд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИ) 192 рдЯреАрдмреА)ред
рдЪреВрдВрдХрд┐ рднреМрддрд┐рдХ рд░реИрдо рдХрд╛ рдЖрдХрд╛рд░ рд╕реАрдорд┐рдд рд╣реИ, рдкреНрд░рддреНрдпреЗрдХ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЕрдкрдиреЗ "рд╕реИрдВрдбрдмреЙрдХреНрд╕" рдореЗрдВ рдЪрд▓рддреА рд╣реИ - рддрдерд╛рдХрдерд┐рдд "рд╡рд░реНрдЪреБрдЕрд▓ рдПрдбреНрд░реЗрд╕ рд╕реНрдкреЗрд╕" рдореЗрдВ, рдЬрд┐рд╕реЗ рд╡рд░реНрдЪреБрдЕрд▓ рдореЗрдореЛрд░реА рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред

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


рд╡рд░реНрдЪреБрдЕрд▓ рдПрдбреНрд░реЗрд╕ рд╕реНрдкреЗрд╕ рд░рд┐рдкреНрд░реЗрдЬреЗрдВрдЯреЗрд╢рди

рдирддреАрдЬрддрди, рдЬрдм рдкреНрд░реЛрд╕реЗрд╕рд░ рдПрдХ рдирд┐рд░реНрджреЗрд╢ рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдПрдХ рдореЗрдореЛрд░реА рдкрддреЗ рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рддрд╛ рд╣реИ, рддреЛ рдкрд╣рд▓рд╛ рдХрджрдо рддрд╛рд░реНрдХрд┐рдХ рдкрддреЗ рдХреЛ рд░реИрдЦрд┐рдХ рдкрддреЗ рдореЗрдВ рдЕрдиреБрд╡рд╛рдж рдХрд░рдирд╛ рд╣реИред рдпрд╣ рд░реВрдкрд╛рдВрддрд░рдг рдореЗрдореЛрд░реА рдкреНрд░рдмрдВрдзрди рдЗрдХрд╛рдИ рджреНрд╡рд╛рд░рд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред


рдЖрднрд╛рд╕реА рдФрд░ рднреМрддрд┐рдХ рд╕реНрдореГрддрд┐ рдХреЗ рдмреАрдЪ рд╕рдВрдмрдВрдз рдХрд╛ рд╕рд░рд▓реАрдХреГрдд рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡

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

рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЛ рдХреЗрд╡рд▓ рд╡рд░реНрдЪреБрдЕрд▓ рдореЗрдореЛрд░реА рдПрдбреНрд░реЗрд╕ рдорд┐рд▓рддреЗ рд╣реИрдВред рдпрджрд┐ рдХрд┐рд╕реА рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЛ рдЕрдзрд┐рдХ рдЧрддрд┐рд╢реАрд▓ рдореЗрдореЛрд░реА (рдЬрд┐рд╕реЗ рд╣реАрдк рдореЗрдореЛрд░реА, рдпрд╛ "рд╣реАрдк" рднреА рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ) рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ рддреЛ рдХреНрдпрд╛ рд╣реЛрддрд╛ рд╣реИ? рдпрд╣рд╛рдБ рд╕рд░рд▓ рдХреЛрдбрд╛рдВрддрд░рдХ рдХреЛрдб рдХрд╛ рдЙрджрд╛рд╣рд░рдг рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рд╕рд┐рд╕реНрдЯрдо рд╕реЗ рдЕрддрд┐рд░рд┐рдХреНрдд рдЧрддрд┐рд╢реАрд▓ рд░реВрдк рд╕реЗ рдЖрд╡рдВрдЯрд┐рдд рдореЗрдореЛрд░реА рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:

_start:        mov $12, %rax #    brk        mov $0, %rdi # 0 -  ,            syscall b0:        mov %rax, %rsi #  rsi    ,           mov %rax, %rdi #     ...        add $4, %rdi # ..  4 ,           mov $12, %rax #    brk        syscall 

рдпрд╣рд╛рдВ рдмрддрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ рдХрд┐ рдЗрд╕реЗ рдЖрд░реЗрдЦ рдХреЗ рд░реВрдк рдореЗрдВ рдХреИрд╕реЗ рджрд░реНрд╢рд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред


рдЧрддрд┐рд╢реАрд▓ рд░реВрдк рд╕реЗ рдЖрд╡рдВрдЯрд┐рдд рдореЗрдореЛрд░реА рдмрдврд╝рд╛рдПрдБ

рдХрд╛рд░реНрдпрдХреНрд░рдо рдмреНрд░реИрдХ рд╕рд┐рд╕реНрдЯрдо рдХреЙрд▓ (sbrk / mmap рдФрд░ рдЗрд╕реА рддрд░рд╣) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЕрддрд┐рд░рд┐рдХреНрдд рдореЗрдореЛрд░реА рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░рддрд╛ рд╣реИред рдХрд░реНрдиреЗрд▓ рд╡рд░реНрдЪреБрдЕрд▓ рдореЗрдореЛрд░реА рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдирдП рдкреЗрдЬ рдЕрднреА рддрдХ рднреМрддрд┐рдХ рдореЗрдореЛрд░реА рдореЗрдВ рдкреНрд░рд╕реНрддреБрдд рдирд╣реАрдВ рдХрд┐рдП рдЧрдП рд╣реИрдВ, рдФрд░ рдпрд╣рд╛рдВ рд╡рд░реНрдЪреБрдЕрд▓ рдФрд░ рднреМрддрд┐рдХ рдореЗрдореЛрд░реА рдХреЗ рдмреАрдЪ рдЕрдВрддрд░ рд╣реИред

рдореЗрдореЛрд░реА рдЖрд╡рдВрдЯрдирдХрд░реНрддрд╛


рд╣рдорд╛рд░реЗ рдмрд╛рдж, рд╕рд╛рдорд╛рдиреНрдп рд╢рдмреНрджреЛрдВ рдореЗрдВ, рд╡рд░реНрдЪреБрдЕрд▓ рдПрдбреНрд░реЗрд╕ рд╕реНрдкреЗрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдкрд░ рдЪрд░реНрдЪрд╛ рдХреА рдЧрдИ, рдЕрддрд┐рд░рд┐рдХреНрдд рдбрд╛рдпрдиреЗрдорд┐рдХ рдореЗрдореЛрд░реА (рд╣реАрдк рдкрд░ рдореЗрдореЛрд░реА) рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХреА рдЧрдИ, рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдореЗрдореЛрд░реА рдЖрд╡рдВрдЯрд┐рдд рдХрд░рдиреЗ рдХреЗ рд╕рд╛рдзрдиреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реЛрдЧрд╛ред

рдпрджрд┐ рдвреЗрд░ рдореЗрдВ рд╣рдорд╛рд░реЗ рдХреЛрдб рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рдкреВрд░рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рдореЗрдореЛрд░реА рд╣реИ, рддреЛ рдореЗрдореЛрд░реА рдПрд▓реЛрдХреЗрдЯрд░ рдХрд░реНрдиреЗрд▓ рддрдХ рдкрд╣реБрдВрдЪ рдХреЗ рдмрд┐рдирд╛ рдЗрди рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдЕрдиреНрдпрдерд╛, рдЙрд╕реЗ рдореЗрдореЛрд░реА рдХреЗ рдПрдХ рдмрдбрд╝реЗ рдмреНрд▓реЙрдХ рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░рддреЗ рд╣реБрдП рд╕рд┐рд╕реНрдЯрдо рдХреЙрд▓ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдмреНрд░реИрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ) рдХреЗ рдЖрдХрд╛рд░ рдХреЛ рдмрдврд╝рд╛рдирд╛ рд╣реЛрдЧрд╛ред MMAP_THRESHOLD рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, "рдмрдбрд╝реЗ" рдХрд╛ рдЕрд░реНрде MMAP_THRESHOLD рдкреИрд░рд╛рдореАрдЯрд░ рджреНрд╡рд╛рд░рд╛ рд╡рд░реНрдгрд┐рдд рдЖрдХрд╛рд░ рд╣реИ, рдЬреЛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, 128 Kb рд╣реИред

рд╣рд╛рд▓рд╛рдВрдХрд┐, рдПрдХ рдореЗрдореЛрд░реА рдПрд▓реЛрдХреЗрдЯрд░ рдореЗрдВ рдХреЗрд╡рд▓ рдореЗрдореЛрд░реА рдЖрд╡рдВрдЯрд┐рдд рдХрд░рдиреЗ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрд┐рдореНрдореЗрджрд╛рд░рд┐рдпрд╛рдВ рд╣реИрдВред рдЙрдирдХреА рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдЬрд┐рдореНрдореЗрджрд╛рд░рд┐рдпреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдЖрдВрддрд░рд┐рдХ рдФрд░ рдмрд╛рд╣реНрдп рдореЗрдореЛрд░реА рд╡рд┐рдЦрдВрдбрди рдХреЛ рдХрдо рдХрд░рдирд╛ рд╣реИ, рдФрд░ рдЬрд┐рддрдиреА рдЬрд▓реНрджреА рд╣реЛ рд╕рдХреЗ рдореЗрдореЛрд░реА рдмреНрд▓реЙрдХреЛрдВ рдХреЛ рдЖрд╡рдВрдЯрд┐рдд рдХрд░рдирд╛ рд╣реИред рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рд╣рдорд╛рд░рд╛ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреНрд░рдорд┐рдХ рд░реВрдк рд╕реЗ malloc(size) рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдореЗрдореЛрд░реА рдХреЗ рдирд┐рд░рдВрддрд░ рдмреНрд▓реЙрдХ рдХреЛ рдЖрд╡рдВрдЯрд┐рдд рдХрд░рдиреЗ рдХреЗ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рдмрд╛рдж рдЗрд╕ рдореЗрдореЛрд░реА рдХреЛ рдлреЙрд░реНрдо free(pointer) рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдореБрдХреНрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред


рдмрд╛рд╣рд░реА рд╡рд┐рдЦрдВрдбрди рдкреНрд░рджрд░реНрд╢рди

рдкрд┐рдЫрд▓реЗ рдЖрд░реЗрдЦ рдореЗрдВ, рдЪрд░рдг рдкреА 4 рдореЗрдВ, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЫрд╣ рдРрд╕реЗ рдмреНрд▓реЙрдХреЛрдВ рдХреЗ рдЖрд╡рдВрдЯрди рдХреЗ рдЕрдиреБрд░реЛрдз рдХреЛ рдкреВрд░рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рдХреНрд░рдорд┐рдХ рд░реВрдк рд╕реЗ рд╕реНрдерд┐рдд рдореЗрдореЛрд░реА рдмреНрд▓реЙрдХ рдирд╣реАрдВ рд╣реИрдВ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдореБрдлреНрдд рдореЗрдореЛрд░реА рдХреА рдХреБрд▓ рдорд╛рддреНрд░рд╛ рдпрд╣ рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИред рдпрд╣ рд╕реНрдерд┐рддрд┐ рд╕реНрдореГрддрд┐ рд╡рд┐рдЦрдВрдбрди рдХреА рдУрд░ рд▓реЗ рдЬрд╛рддреА рд╣реИред

рд╕реНрдореГрддрд┐ рд╡рд┐рдЦрдВрдбрди рдХреИрд╕реЗ рдХрдо рдХрд░реЗрдВ? рдЗрд╕ рд╕рд╡рд╛рд▓ рдХрд╛ рдЬрд╡рд╛рдм рд╡рд┐рд╢рд┐рд╖реНрдЯ рдореЗрдореЛрд░реА рдЖрд╡рдВрдЯрди рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕ рдкрд░ рд╕реНрдореГрддрд┐ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмреЗрд╕ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдЕрдм рд╣рдо TCMalloc рдореЗрдореЛрд░реА рдПрд▓реЛрдХреЗрд╢рди рдЯреВрд▓ рдХреЛ рджреЗрдЦреЗрдВрдЧреЗ, рдЬрд┐рд╕ рдкрд░ Go рдореЗрдореЛрд░реА рдПрд▓реЛрдХреЗрд╢рди рдореИрдХреЗрдирд┐рдЬреНрдо рдЖрдзрд╛рд░рд┐рдд рд╣реИред

TCMalloc


TCMalloc рдореЗрдореЛрд░реА рд╡рд┐рдЦрдВрдбрди рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореЗрдореЛрд░реА рдХреЛ рдХрдИ рд╕реНрддрд░реЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рдиреЗ рдХреЗ рд╡рд┐рдЪрд╛рд░ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИред TCMalloc рдХреЗ рдЕрдВрджрд░, рдореЗрдореЛрд░реА рдкреНрд░рдмрдВрдзрди рдХреЛ рджреЛ рднрд╛рдЧреЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ: рдереНрд░реЗрдб рдореЗрдореЛрд░реА рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рдФрд░ рдвреЗрд░ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ред

тЦН рдереНрд░реЗрдб рдореЗрдореЛрд░реА


рд╕реНрдореГрддрд┐ рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рдкреГрд╖реНрда рдХреЛ рдХреБрдЫ рдЖрдХрд╛рд░реЛрдВ рдХреЗ рдЯреБрдХрдбрд╝реЛрдВ рдХреЗ рдЕрдиреБрдХреНрд░рдо рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЖрдХрд╛рд░ рд╡рд░реНрдЧреЛрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдЪреБрдирд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ рд╡рд┐рдЦрдВрдбрди рдХреЛ рдХрдо рдХрд░рддрд╛ рд╣реИред рдирддреАрдЬрддрди, рдкреНрд░рддреНрдпреЗрдХ рдереНрд░реЗрдб рдХреЗ рдкрд╛рд╕ рдЫреЛрдЯреА рд╡рд╕реНрддреБрдУрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдХреИрд╢реЗ рдХрд╛ рдирд┐рдкрдЯрд╛рди рд╣реЛрддрд╛ рд╣реИ, рдЬреЛ 32 рдХреЗрдмреА рдпрд╛ рдЙрд╕рд╕реЗ рдЕрдзрд┐рдХ рдХреА рдЫреЛрдЯреА рд╡рд╕реНрддреБрдУрдВ рдХреЗ рд▓рд┐рдП рд╕реНрдореГрддрд┐ рдХреЗ рдмрд╣реБрдд рдХреБрд╢рд▓ рдЖрд╡рдВрдЯрди рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред


рд╕реНрдЯреНрд░реАрдо рдХреИрд╢

тЦНKucha


TCMalloc рдкреНрд░рдмрдВрдзрд┐рдд рд╣реАрдк рдкреГрд╖реНрдареЛрдВ рдХрд╛ рдПрдХ рд╕рдВрдЧреНрд░рд╣ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рд▓рдЧрд╛рддрд╛рд░ рдкреГрд╖реНрдареЛрдВ рдХреЗ рдПрдХ рд╕реЗрдЯ рдХреЛ рдкреГрд╖реНрдареЛрдВ рдХреА рдПрдХ рд╕реАрдорд╛ (рдЕрд╡рдзрд┐) рдХреЗ рд░реВрдк рдореЗрдВ рджрд░реНрд╢рд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЬрдм рдЖрдкрдХреЛ рдХрд┐рд╕реА рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рд▓рд┐рдП рдореЗрдореЛрд░реА рдЖрд╡рдВрдЯрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ рдЬреЛ 32 рдХреЗрдмреА рд╕реЗ рдмрдбрд╝рд╛ рд╣реИ, рддреЛ рдореЗрдореЛрд░реА рдХреЛ рдЖрд╡рдВрдЯрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реАрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред


рдвреЗрд░ рдФрд░ рдкреГрд╖реНрдареЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ

рдЬрдм рд╕реНрдореГрддрд┐ рдореЗрдВ рдЫреЛрдЯреА рд╡рд╕реНрддреБрдУрдВ рдХреЛ рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рдЬрдЧрд╣ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИ, рддреЛ рд╡реЗ рд╕реНрдореГрддрд┐ рдХреЗ рд▓рд┐рдП рдвреЗрд░ рдореЗрдВ рдмрджрд▓ рдЬрд╛рддреЗ рд╣реИрдВред рдпрджрд┐ рдвреЗрд░ рдореЗрдВ рдкрд░реНрдпрд╛рдкреНрдд рдореБрдХреНрдд рдореЗрдореЛрд░реА рдирд╣реАрдВ рд╣реИ, рддреЛ рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рд╕реЗ рдЕрддрд┐рд░рд┐рдХреНрдд рдореЗрдореЛрд░реА рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдирддреАрдЬрддрди, рдореЗрдореЛрд░реА рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рд╕реНрддреБрдд рдореЙрдбрд▓ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛-рд╕реНрдкреЗрд╕ рдореЗрдореЛрд░реА рдкреВрд▓ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рдХреЗ рдЙрдкрдпреЛрдЧ рд╕реЗ рдореЗрдореЛрд░реА рдХреЛ рдЖрд╡рдВрдЯрд┐рдд рдХрд░рдиреЗ рдФрд░ рдореБрдХреНрдд рдХрд░рдиреЗ рдХреА рджрдХреНрд╖рддрд╛ рдореЗрдВ рдХрд╛рдлреА рд╕реБрдзрд╛рд░ рд╣реЛрддрд╛ рд╣реИред

рдпрд╣ рдзреНрдпрд╛рди рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдЧреЛ рдореЗрдореЛрд░реА рдЖрд╡рдВрдЯрди рдЯреВрд▓ рдореВрд▓ рд░реВрдк рд╕реЗ TCMalloc рдкрд░ рдЖрдзрд╛рд░рд┐рдд рдерд╛, рд▓реЗрдХрд┐рди рдпрд╣ рдЗрд╕рд╕реЗ рдереЛрдбрд╝рд╛ рдЕрд▓рдЧ рд╣реИред

рд╕реНрдореГрддрд┐ рдЖрдмрдВрдЯрдХ рдЬрд╛рдУ


рд╣рдо рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдЧреЛ рд░рдирдЯрд╛рдЗрдо рд▓реЙрдЬрд┐рдХрд▓ рдкреНрд░реЛрд╕рд┐рдЬрд░ рдкрд░ рдЧреЛрд░реЛрдЗрди рдЪрд▓рд╛рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рд╣реИред рдЗрд╕реА рддрд░рд╣, рдЧреЛ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЧрдП рдЯреАрд╕реАрдореЙрд▓реЙрдХ рдХрд╛ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдореЛрд░реА рдкреЗрдЬреЛрдВ рдХреЛ рдЙрди рдмреНрд▓реЙрдХреЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рддрд╛ рд╣реИ рдЬрд┐рдирдХреЗ рдЖрдХрд╛рд░ рдХреБрдЫ рдирд┐рд╢реНрдЪрд┐рдд рдЖрдХрд╛рд░ рдХреЗ рд╡рд░реНрдЧреЛрдВ рд╕реЗ рдореЗрд▓ рдЦрд╛рддреЗ рд╣реИрдВ рдЬрд┐рдирдореЗрдВ рд╕реЗ 67 рдореМрдЬреВрдж рд╣реИрдВред

рдпрджрд┐ рдЖрдк рдЧреЛ рд╢реЗрдбреНрдпреВрд▓рд░ рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рдирд╣реАрдВ рд╣реИрдВ , рддреЛ рдЖрдк рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдпрд╣рд╛рдВ рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВред


рдЖрдХрд╛рд░ рд╡рд░реНрдЧреЛрдВ рдЬрд╛рдУ

рдЪреВрдВрдХрд┐ рдЧреЛ рдореЗрдВ рдиреНрдпреВрдирддрдо рдкреГрд╖реНрда рдХрд╛ рдЖрдХрд╛рд░ 8192 рдмрд╛рдЗрдЯреНрд╕ (8 Kb) рд╣реИ, рдЕрдЧрд░ рдЗрд╕ рддрд░рд╣ рдХреЗ рдкреГрд╖реНрда рдХреЛ 1 KB рдХреЗ рдмреНрд▓реЙрдХ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рд╣рдореЗрдВ 8 рдРрд╕реЗ рдмреНрд▓реЙрдХ рдорд┐рд▓реЗрдВрдЧреЗред


8 KB рдХреЗ рдкреГрд╖реНрда рдЖрдХрд╛рд░ рдХреЛ 1 KB рдХреЗ рд╡рд░реНрдЧ рдЖрдХрд╛рд░ рдХреЗ рдЕрдиреБрд░реВрдк рдмреНрд▓реЙрдХреЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ

рдЧреЛ рдореЗрдВ рдЗрд╕реА рддрд░рд╣ рдХреЗ рдкреЗрдЬ рд╕реАрдХреНрд╡реЗрдВрд╕ рдХреЛ рдорд╕реНрддрд╛рди рдирд╛рдордХ рд╕рдВрд░рдЪрдирд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

MStructure mspan


Mspan рд╕рдВрд░рдЪрдирд╛ рдПрдХ рджреЛрд╣рд░реА рд▓рд┐рдВрдХ рдХреА рдЧрдИ рд╕реВрдЪреА рд╣реИ, рдПрдХ рдСрдмреНрдЬреЗрдХреНрдЯ рдЬрд┐рд╕рдореЗрдВ рдкреГрд╖реНрда рдХрд╛ рд╢реБрд░реБрдЖрддреА рдкрддрд╛, рдкреГрд╖реНрда рдЖрдХрд╛рд░ рдФрд░ рдЙрд╕рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдкреГрд╖реНрдареЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рд╣реЛрддреА рд╣реИред


Mspan рд╕рдВрд░рдЪрдирд╛

тЦН mcache рд╕рдВрд░рдЪрдирд╛


TCMalloc рдХреА рддрд░рд╣, рдЧреЛ рдкреНрд░рддреНрдпреЗрдХ рд╕реНрдерд╛рдиреАрдп рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЛ рд╕реНрдерд╛рдиреАрдп рдереНрд░реЗрдб рдХреИрд╢ рдХреЗ рд╕рд╛рде рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ mcache рдХреЗ рд░реВрдк рдореЗрдВ рдЬрд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИред рдирддреАрдЬрддрди, рдЕрдЧрд░ рдЧреЛрд░реЛрдЗрди рдХреЛ рд╕реНрдореГрддрд┐ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рддреЛ рдпрд╣ рд╕реАрдзреЗ mcache рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рддрд╛рд▓реЗ рдкреНрд░рджрд░реНрд╢рди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдХрд┐рд╕реА рднреА рд╕рдордп рдХреЗрд╡рд▓ рдПрдХ рд▓реЙрдЬрд┐рдХрд▓ рдкреНрд░реЛрд╕реЗрд╕рд░ рдкрд░ рдПрдХ рдЧреЛрд░реЛрдЗрди рдирд┐рд╖реНрдкрд╛рджрд┐рдд рд╣реЛрддрд╛ рд╣реИред

Mcache рд╕рдВрд░рдЪрдирд╛ рдореЗрдВ рдПрдХ рдХреИрд╢ рдХреЗ рд░реВрдк рдореЗрдВ, рд╡рд┐рднрд┐рдиреНрди рдЖрдХрд╛рд░ рд╡рд░реНрдЧреЛрдВ рдХреЗ mspan рд╕рдВрд░рдЪрдирд╛рдПрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВред


рдЧреЛ рдореЗрдВ рддрд╛рд░реНрдХрд┐рдХ рдкреНрд░реЛрд╕реЗрд╕рд░, mcache рдФрд░ mspan рдХреЗ рдмреАрдЪ рд╕рд╣рднрд╛рдЧрд┐рддрд╛

рдЪреВрдВрдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рддрд╛рд░реНрдХрд┐рдХ рдкреНрд░реЛрд╕реЗрд╕рд░ рдХрд╛ рдЕрдкрдирд╛ mcache рд╣реЛрддрд╛ рд╣реИ, mcache рд╕реЗ рдореЗрдореЛрд░реА рдЖрд╡рдВрдЯрд┐рдд рдХрд░рддреЗ рд╕рдордп рддрд╛рд▓реЗ рдХреА рдХреЛрдИ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИред

рдкреНрд░рддреНрдпреЗрдХ рдЖрдХрд╛рд░ рд╡рд░реНрдЧ рдХреЛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╡рд╕реНрддреБрдУрдВ рдореЗрдВ рд╕реЗ рдПрдХ рджреНрд╡рд╛рд░рд╛ рджрд░реНрд╢рд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:

  • рдПрдХ рд╕реНрдХреИрди рдСрдмреНрдЬреЗрдХреНрдЯ рдПрдХ рдСрдмреНрдЬреЗрдХреНрдЯ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдПрдХ рдкреЙрдЗрдВрдЯрд░ рд╣реЛрддрд╛ рд╣реИред
  • рдПрдХ рдиреЛрд╕реНрдХреИрди рдСрдмреНрдЬреЗрдХреНрдЯ рдПрдХ рдСрдмреНрдЬреЗрдХреНрдЯ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдХреЛрдИ рдкреЙрдЗрдВрдЯрд░ рдирд╣реАрдВ рд╣реИред

рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреА рдПрдХ рддрд╛рдХрдд рдпрд╣ рд╣реИ рдХрд┐ рдЬрдм рдХрдЪрд░рд╛ рд╕рдВрдЧреНрд░рд╣ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдиреЛрд╕рди рд╡рд╕реНрддреБрдУрдВ рдХреЛ рджрд░рдХрд┐рдирд╛рд░ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЙрдирдореЗрдВ рд╡реЗ рдСрдмреНрдЬреЗрдХреНрдЯ рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВ рдЬрд┐рдирдХреЗ рд▓рд┐рдП рдореЗрдореЛрд░реА рдЖрд╡рдВрдЯрд┐рдд рдХреА рдЬрд╛рддреА рд╣реИред

Mcache рдореЗрдВ рдХреНрдпрд╛ рдорд┐рд▓рддрд╛ рд╣реИ? рдЬрд┐рди рд╡рд╕реНрддреБрдУрдВ рдХрд╛ рдЖрдХрд╛рд░ 32 KB рд╕реЗ рдЕрдзрд┐рдХ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ, рд╡реЗ рд╕реАрдзреЗ рд╕рдВрдмрдВрдзрд┐рдд рд╡рд░реНрдЧ рдХреЗ mspan рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ mcache рдкрд░ рдЬрд╛рддреА рд╣реИрдВред

рдХреНрдпрд╛ рд╣реЛрддрд╛ рд╣реИ рдЕрдЧрд░ mcache рдореЗрдВ рдлреНрд░реА рд╕реЗрд▓ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ? рдлрд┐рд░ рдЙрдиреНрд╣реЗрдВ mcentan рдирд╛рдордХ mspan рд╡рд╕реНрддреБрдУрдВ рдХреА рд╕реВрдЪреА рд╕реЗ рд╡рд╛рдВрдЫрд┐рдд рдЖрдХрд╛рд░ рд╡рд░реНрдЧ рдХрд╛ рдПрдХ рдирдпрд╛ mspan рдорд┐рд▓рддрд╛ рд╣реИред

тЦН рдореВрд▓ рд╕рдВрд░рдЪрдирд╛


рдореЗрдиреНрд╕реНрдЯреНрд░рд▓ рд╕рдВрд░рдЪрдирд╛ рдПрдХ рд╡рд┐рд╢реЗрд╖ рдЖрдХрд╛рд░ рд╡рд░реНрдЧ рдХреЗ рд╕рднреА рдкреГрд╖реНрда рд╢реНрд░реЗрдгрд┐рдпреЛрдВ рдХреЛ рдЗрдХрдЯреНрдард╛ рдХрд░рддреА рд╣реИред рдкреНрд░рддреНрдпреЗрдХ mcentral рдСрдмреНрдЬреЗрдХреНрдЯ рдореЗрдВ mspan рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХреА рджреЛ рд╕реВрдЪрд┐рдпрд╛рдБ рд╣реЛрддреА рд╣реИрдВред

  1. рдорд╕реНрдкрди рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХреА рд╕реВрдЪреА рдЬрд┐рд╕рдореЗрдВ рдХреЛрдИ рдлреНрд░реА рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдирд╣реАрдВ рд╣реИрдВ, рдпрд╛ рд╡реЗ рдорд╕реНрдкрди рдЬреЛ mcache рдореЗрдВ рд╣реИрдВред
  2. рдорд╕реНрдкрди рд╡рд╕реНрддреБрдУрдВ рдХреА рд╕реВрдЪреА рдЬрд┐рд╕рдореЗрдВ рдореБрдХреНрдд рд╡рд╕реНрддреБрдПрдБ рд╣реИрдВред


Mcentral рд╕рдВрд░рдЪрдирд╛

рдкреНрд░рддреНрдпреЗрдХ mcentral рд╕рдВрд░рдЪрдирд╛ mheap рд╕рдВрд░рдЪрдирд╛ рдХреЗ рднреАрддрд░ рдореМрдЬреВрдж рд╣реИред

Hрдорд┐рд╢реНрд░ рд╕рдВрд░рдЪрдирд╛


Mheap рд╕рдВрд░рдЪрдирд╛ рдХреЛ рдПрдХ рд╡рд╕реНрддреБ рджреНрд╡рд╛рд░рд╛ рджрд░реНрд╢рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬреЛ Go рдореЗрдВ рдвреЗрд░ рдкреНрд░рдмрдВрдзрди рдХреЛ рд╕рдВрднрд╛рд▓рддреА рд╣реИред рдХреЗрд╡рд▓ рдПрдХ рдРрд╕реА рд╡реИрд╢реНрд╡рд┐рдХ рд╡рд╕реНрддреБ рд╣реИ рдЬреЛ рдПрдХ рдЖрднрд╛рд╕реА рдкрддреЗ рдХреА рдЬрдЧрд╣ рдХрд╛ рдорд╛рд▓рд┐рдХ рд╣реИред


рдорд╣реАрдк рд╕рдВрд░рдЪрдирд╛

рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдКрдкрд░ рджрд┐рдП рдЧрдП рдЖрд░реЗрдЦ рд╕реЗ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, mheap рд╕рдВрд░рдЪрдирд╛ рдореЗрдВ mcentral рд╕рдВрд░рдЪрдирд╛рдУрдВ рдХреА рдПрдХ рд╕рд░рдгреА рд╣реИред рдЗрд╕ рд╕рд░рдгреА рдореЗрдВ рд╕рднреА рдЖрдХрд╛рд░ рд╡рд░реНрдЧреЛрдВ рдХреЗ рд▓рд┐рдП mcentral рд╕рдВрд░рдЪрдирд╛рдПрдВ рд╣реИрдВред

 central [numSpanClasses]struct { mcentral mcentral   pad     [sys.CacheLineSize unsafe.Sizeof(mcentral{})%sys.CacheLineSize]byte } 

рдЪреВрдВрдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдкреНрд░рддреНрдпреЗрдХ рдЖрдХрд╛рд░ рд╡рд░реНрдЧ рдХреЗ рд▓рд┐рдП рдПрдХ рдореЗрд╕реЗрдВрдЯреНрд░рд▓ рд╕рдВрд░рдЪрдирд╛ рд╣реИ, рдЬрдм mcache, mcentan рд╕реЗ mspan рд╕рдВрд░рдЪрдирд╛ рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░рддрд╛ рд╣реИ, рдПрдХ рд▓реЙрдХ рдХреЛ рд╡реНрдпрдХреНрддрд┐рдЧрдд mcentral рд╕реНрддрд░ рдкрд░ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рдЕрдиреНрдп mcache рд╕реЗ рдЕрдиреНрдп рдЖрдХрд╛рд░реЛрдВ рдХреЗ mspan рд╕рдВрд░рдЪрдирд╛рдУрдВ рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░рдиреЗ рдкрд░ рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ рд╕реЗрд╡рд╛ рджреА рдЬрд╛ рд╕рдХрддреА рд╣реИред

рд╕рдВрд░реЗрдЦрдг (рдкреИрдб) рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдХреЗрдВрдЪреБрд▓реА рдХреЗ рдЖрдХрд╛рд░ рдХреЗ рдЕрдиреБрд░реВрдк рдмрд╛рдЗрдЯреНрд╕ рдХреА рд╕рдВрдЦреНрдпрд╛ рд╕реЗ рдореЗрдиреНрд╕реНрдЯреНрд░рд▓ рд╕рдВрд░рдЪрдирд╛рдПрдВ рдПрдХ рджреВрд╕рд░реЗ рд╕реЗ рдЕрд▓рдЧ рд╣реЛ рдЬрд╛рддреА рд╣реИрдВред рдирддреАрдЬрддрди, рдкреНрд░рддреНрдпреЗрдХ mcentral.lock рдХреА рдЕрдкрдиреА рдХреИрд╢ рд▓рд╛рдЗрди рд╣реЛрддреА рд╣реИ, рдЬреЛ рдЭреВрдареА рдореЗрдореЛрд░реА рд╢реЗрдпрд░рд┐рдВрдЧ рд╕реЗ рдЬреБрдбрд╝реА рд╕рдорд╕реНрдпрд╛рдУрдВ рд╕реЗ рдмрдЪрддреА рд╣реИред

рдпрджрд┐ рдореЗрдВрд╕реЗрдВрдЯреНрд░рд▓ рд╕реВрдЪреА рдЦрд╛рд▓реА рд╣реИ рддреЛ рдХреНрдпрд╛ рд╣реЛрдЧрд╛? рдлрд┐рд░ mcentral рдХреЛ рдЖрд╡рд╢реНрдпрдХ рдЖрдХрд╛рд░ рд╡рд░реНрдЧ рдХреА рдореЗрдореЛрд░реА рдЯреБрдХрдбрд╝реЗ рдЖрд╡рдВрдЯрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП mheap рд╕реЗ рдкреГрд╖реНрдареЛрдВ рдХрд╛ рдПрдХ рдЕрдиреБрдХреНрд░рдо рдкреНрд░рд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИред

  • free[_MaxMHeapList]mSpanList рдХрд╛ рдПрдХ рд╕рд░рдгреА рд╣реИред рдкреНрд░рддреНрдпреЗрдХ рдХрд╛рд▓рдЦрдВрдб рдореЗрдВ mspan рд╕рдВрд░рдЪрдирд╛ рдореЗрдВ 1 ~ 127 (_MaxMHeapList - 1) рдкреГрд╖реНрда рд╣реЛрддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдореБрдлреНрдд [3] 3 рдкреГрд╖реНрдареЛрдВ рд╡рд╛рд▓реЗ mspan рд╕рдВрд░рдЪрдирд╛рдУрдВ рдХреА рдПрдХ рд▓рд┐рдВрдХ рдХреА рдЧрдИ рд╕реВрдЪреА рд╣реИред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ "рдореБрдХреНрдд" рд╢рдмреНрдж рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рд╣рдо рдПрдХ рдЦрд╛рд▓реА рд╕реВрдЪреА рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдЬрд┐рд╕рдореЗрдВ рд╕реНрдореГрддрд┐ рдЖрд╡рдВрдЯрд┐рдд рдирд╣реАрдВ рдХреА рдЧрдИ рд╣реИред рдПрдХ рд╕реВрдЪреА рдЦрд╛рд▓реА рдХреЗ рд╡рд┐рдкрд░реАрдд рд╣реЛ рд╕рдХрддреА рд╣реИ, рдПрдХ рд╕реВрдЪреА рдЬрд┐рд╕рдореЗрдВ рдореЗрдореЛрд░реА рдЖрд╡рдВрдЯрд┐рдд рдХреА рдЧрдИ рд╣реИ (рд╡реНрдпрд╕реНрдд)ред
  • freelarge mSpanList рдореБрдХреНрдд mspan рд╕рдВрд░рдЪрдирд╛рдУрдВ рдХреА рдПрдХ рд╕реВрдЪреА рд╣реИред рдкреНрд░рддрд┐ рддрддреНрд╡ (рдпрд╛рдиреА, mspan) рдкреГрд╖реНрдареЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ 127 рд╕реЗ рдЕрдзрд┐рдХ рд╣реИред рдЗрд╕ рд╕реВрдЪреА рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, mtreap рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╡реНрдпрд╕реНрдд mspan рд╕рдВрд░рдЪрдирд╛рдУрдВ рдХреА рд╕реВрдЪреА рдХреЛ рдмреБрд╕реАрд▓рд░реНрдЬ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред

32 Kb рд╕реЗ рдмрдбрд╝реА рд╡рд╕реНрддреБрдУрдВ рдХреЛ рдмрдбрд╝реА рд╡рд╕реНрддреБ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЙрдирдХреЗ рд▓рд┐рдП рдореЗрдореЛрд░реА рд╕реАрдзреЗ mheap рд╕реЗ рдЖрд╡рдВрдЯрд┐рдд рдХреА рдЬрд╛рддреА рд╣реИред рдРрд╕реА рд╡рд╕реНрддреБрдУрдВ рдХреЗ рд▓рд┐рдП рдореЗрдореЛрд░реА рдЖрд╡рдВрдЯрд┐рдд рдХрд░рдиреЗ рдХреЗ рдЕрдиреБрд░реЛрдз рдХреЛ рдПрдХ рд▓реЙрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рд╕рдордп рдкрд░, рдПрдХ рд╕рдорд╛рди рдЕрдиреБрд░реЛрдз рдХреЗрд╡рд▓ рдПрдХ рддрд╛рд░реНрдХрд┐рдХ рдкреНрд░реЛрд╕реЗрд╕рд░ рд╕реЗ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рд╡рд╕реНрддреБрдУрдВ рдХреЗ рд▓рд┐рдП рдореЗрдореЛрд░реА рдЖрд╡рдВрдЯрд┐рдд рдХрд░рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛


  • рдпрджрд┐ рдСрдмреНрдЬреЗрдХреНрдЯ рдХрд╛ рдЖрдХрд╛рд░ 32 Kb рд╕реЗ рдЕрдзрд┐рдХ рд╣реИ, рддреЛ рдЗрд╕реЗ рдмрдбрд╝рд╛ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕рдХреЗ рд▓рд┐рдП рдореЗрдореЛрд░реА рдХреЛ рд╕реАрдзреЗ mheap рд╕реЗ рдЖрд╡рдВрдЯрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
  • рдпрджрд┐ рдСрдмреНрдЬреЗрдХреНрдЯ рдХрд╛ рдЖрдХрд╛рд░ 16 Kb рд╕реЗ рдХрдо рд╣реИ, рддреЛ mcache рдореИрдХреЗрдирд┐рдЬреНрдо рдЬрд┐рд╕реЗ рдХрд┐ рдЫреЛрдЯреЗ рдПрд▓реЛрдХреЗрдЯрд░ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
  • рдпрджрд┐ рдСрдмреНрдЬреЗрдХреНрдЯ рдХрд╛ рдЖрдХрд╛рд░ 16-32 Kb рдХреА рд╕реАрдорд╛ рдореЗрдВ рд╣реИ, рддреЛ рдпрд╣ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рдХрд┐рд╕ рдЖрдХрд╛рд░ рдХреЗ рд╡рд░реНрдЧ (sizeClass) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реИ, рддреЛ mcache рдореЗрдВ рдПрдХ рдЙрдкрдпреБрдХреНрдд рдмреНрд▓реЙрдХ рдЖрд╡рдВрдЯрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
  • рдпрджрд┐ mcache рдХреЗ рдЕрдиреБрд░реВрдк sizeClass рдореЗрдВ рдХреЛрдИ рдмреНрд▓реЙрдХ рдЙрдкрд▓рдмреНрдз рдирд╣реАрдВ рд╣реИрдВ, рддреЛ mcentral рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред
  • рдпрджрд┐ рдореЗрдиреНрд╕рдЯреНрд░рд▓ рдХреЗ рдкрд╛рд╕ рдХреЛрдИ рдирд┐: рд╢реБрд▓реНрдХ рдмреНрд▓реЙрдХ рдирд╣реАрдВ рд╣реИ, рддреЛ рд╡реЗ рдорд┐рдк рдХреЛ рдХреЙрд▓ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рд╕рдмрд╕реЗ рдЙрдкрдпреБрдХреНрдд рдПрдордкреАрдПрд╕рдПрди рдХреА рдЦреЛрдЬ рдХрд░рддреЗ рд╣реИрдВред рдпрджрд┐ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рджреНрд╡рд╛рд░рд╛ рдЖрд╡рд╢реНрдпрдХ рдореЗрдореЛрд░реА рд╕рд╛рдЗрдЬ рдмрдбрд╝рд╛ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рддреЛ рдЗрд╕реЗ рдЖрд╡рдВрдЯрд┐рдд рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИ, рдЕрдиреБрд░реЛрдзрд┐рдд рдореЗрдореЛрд░реА рд╕рд╛рдЗрдЬ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рддрд╛рдХрд┐ рдкреНрд░реЛрдЧреНрд░рд╛рдо рджреНрд╡рд╛рд░рд╛ рдЖрд╡рд╢реНрдпрдХрддрд╛рдиреБрд╕рд╛рд░ рдХрдИ рдкреЗрдЬреЛрдВ рдХреЛ рд╡рд╛рдкрд╕ рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реЛ рд╕рдХреЗ, рдПрдХ рдирдпрд╛ mspan рд╕рдВрд░рдЪрдирд╛ рдХрд╛ рдЧрдарди рдХрд┐рдпрд╛ред
  • рдпрджрд┐ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреА рд╡рд░реНрдЪреБрдЕрд▓ рдореЗрдореЛрд░реА рдЕрднреА рднреА рдкрд░реНрдпрд╛рдкреНрдд рдирд╣реАрдВ рд╣реИ, рддреЛ рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдкреГрд╖реНрдареЛрдВ рдХреЗ рдПрдХ рдирдП рд╕реЗрдЯ (рдХрдо рд╕реЗ рдХрдо 1 рдПрдордмреА рдореЗрдореЛрд░реА рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ) рдХреЗ рд▓рд┐рдП рдПрдХреНрд╕реЗрд╕ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд╕реНрддрд░ рдкрд░, рдЧреЛ рдореЗрдореЛрд░реА рдХреЗ рдФрд░ рднреА рдмрдбрд╝реЗ рдЯреБрдХрдбрд╝реЛрдВ рдХреЛ рдЖрд╡рдВрдЯрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣рддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рдЕрд░реНрдирд╕ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рдореЗрдореЛрд░реА рдХреЗ рдмрдбрд╝реЗ рдЯреБрдХрдбрд╝реЛрдВ рдХрд╛ рдПрдХ рд╕рд╛рде рдЖрд╡рдВрдЯрди рдЖрдкрдХреЛ рдЖрд╡реЗрджрди рдХреЗ рд▓рд┐рдП рдЖрд╡рдВрдЯрд┐рдд рдореЗрдореЛрд░реА рдХреА рдорд╛рддреНрд░рд╛ рдФрд░ рдкреНрд░рджрд░реНрд╢рди рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рддрдХ рдорд╣рдВрдЧреА рдкрд╣реБрдВрдЪ рдХреЗ рдмреАрдЪ рдПрдХ рд╕рдордЭреМрддрд╛ рдЦреЛрдЬрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред

рдвреЗрд░ рдкрд░ рдЕрдиреБрд░реЛрдз рдХреА рдЧрдИ рд╕реНрдореГрддрд┐ рдХреЛ рдЕрдЦрд╛рдбрд╝реЗ рд╕реЗ рдЖрд╡рдВрдЯрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЗрд╕ рддрдВрддреНрд░ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред

рдЖрднрд╛рд╕реА рд╕реНрдореГрддрд┐ рдЬрд╛рдУ


Go рдореЗрдВ рд▓рд┐рдЦреЗ рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЗ рд╕рд╛рде рдореЗрдореЛрд░реА рдЙрдкрдпреЛрдЧ рдкрд░ рдПрдХ рдирдЬрд╝рд░ рдбрд╛рд▓реЗрдВ:

 func main() {   for {} } 


рдХрд╛рд░реНрдпрдХреНрд░рдо рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреА рдЬрд╛рдирдХрд╛рд░реА

рдЗрд╕ рддрд░рд╣ рдХреЗ рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдХрд╛рд░реНрдпрдХреНрд░рдо рдХрд╛ рдЖрднрд╛рд╕реА рдкрддрд╛ рд╕реНрдерд╛рди рд▓рдЧрднрдЧ 100 рдПрдордмреА рд╣реИ, рдЬрдмрдХрд┐ рдЖрд░рдПрд╕рдПрд╕ рдЗрдВрдбреЗрдХреНрд╕ рдХреЗрд╡рд▓ 696 Kb рд╣реИред рдкрд╣рд▓реЗ, рдЖрдЗрдП рдЗрд╕ рд╡рд┐рд╕рдВрдЧрддрд┐ рдХрд╛ рдХрд╛рд░рдг рдЬрд╛рдирдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВред


рдореИрдк рдФрд░ рд╕реНрдореИрдк рдЬрд╛рдирдХрд╛рд░реА

рдпрд╣рд╛рдВ рдЖрдк рдореЗрдореЛрд░реА рдХреНрд╖реЗрддреНрд░реЛрдВ рдХреЛ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдХрд╛ рдЖрдХрд╛рд░ рд▓рдЧрднрдЧ 2 рдПрдордмреА, 64 рдПрдордмреА, 32 рдПрдордмреА рдХреЗ рдмрд░рд╛рдмрд░ рд╣реИред рдпрд╣ рдХрд┐рд╕ рдкреНрд░рдХрд╛рд░ рдХреА рд╕реНрдореГрддрд┐ рд╣реИ?

тЦНAreny


рдпрд╣ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рдЧреЛ рдореЗрдВ рд╡рд░реНрдЪреБрдЕрд▓ рдореЗрдореЛрд░реА рдореЗрдВ рдПрд░реЗрдирд╛рд╕ рдХрд╛ рдПрдХ рд╕реЗрдЯ рд╣реЛрддрд╛ рд╣реИред рд╣реАрдк рдХреЗ рд▓рд┐рдП рдЗрдЪреНрдЫрд┐рдд рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдореЗрдореЛрд░реА рд╕рд╛рдЗрдЬ рдПрдХ рдЕрдЦрд╛рдбрд╝реЗ рд╕реЗ рдореЗрд▓ рдЦрд╛рддреА рд╣реИ, рд╡рд╣ рд╣реИ - 64 рдПрдордмреА (рдпрд╣ рдЧреЛ 1.11.5 рдХреЗ рд▓рд┐рдП рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рд╣реИ)ред


рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ рдореЗрдВ рд╡рд░реНрддрдорд╛рди рдХреНрд╖реЗрддреНрд░ рдХрд╛ рдЖрдХрд╛рд░

рдирддреАрдЬрддрди, рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреА рдореМрдЬреВрджрд╛ рдЬрд░реВрд░рддреЛрдВ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдореЗрдореЛрд░реА рдЫреЛрдЯреЗ рд╣рд┐рд╕реНрд╕реЗ рдореЗрдВ рдЖрд╡рдВрдЯрд┐рдд рдХреА рдЬрд╛рддреА рд╣реИред рдпрд╣ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдПрдХ 64 рдПрдордмреА рдХреНрд╖реЗрддреНрд░ рд╕реЗ рд╢реБрд░реВ рд╣реЛрддреА рд╣реИред

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

рддрдереНрдп рдХреА рдмрд╛рдд рдХреЗ рд░реВрдк рдореЗрдВ, рд╣рдо рдПрд░реЗрдирд╛рд╕ рдХреЗ рдПрдХ рдЧреБрдЪреНрдЫрд╛ рдХреЛ рдПрдХ рдЧреБрдЪреНрдЫрд╛ рдХрд╣рддреЗ рд╣реИрдВред рдЧреЛ рдореЗрдВ, рдПрд░реЗрдирд╛рд╕ рдХреЛ рд╕реНрдореГрддрд┐ рдХреЗ рдЯреБрдХрдбрд╝реЗ рдХреЗ рд░реВрдк рдореЗрдВ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЖрдХрд╛рд░ рдореЗрдВ 8192 рдмрд╛рдЗрдЯреНрд╕ (8 Kb) рдХреЗ рдмреНрд▓реЙрдХ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рд╣реЛрддрд╛ рд╣реИред


рдПрдХ 64 рдПрдордмреА рдХреНрд╖реЗрддреНрд░

рдЧреЛ рдореЗрдВ рдмреНрд▓реЙрдХ рдФрд░ рдмрд┐рдЯрдореИрдк рдХреЗ рдХреБрдЫ рдФрд░ рдлреНрд▓реЗрд╡рд░ рд╣реИрдВред рдЙрдирдХреЗ рд▓рд┐рдП рдореЗрдореЛрд░реА рдвреЗрд░ рдХреЗ рдмрд╛рд╣рд░ рдЖрд╡рдВрдЯрд┐рдд рдХреА рдЬрд╛рддреА рд╣реИ, рд╡реЗ рдЕрдЦрд╛рдбрд╝рд╛ рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдХреЛ рд╕реНрдЯреЛрд░ рдХрд░рддреЗ рд╣реИрдВред рд╡реЗ рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рдХрдЪрд░рд╛ рд╕рдВрдЧреНрд░рд╣ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред
рдпрд╣рд╛рдБ рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рд░реВрдкрд░реЗрдЦрд╛ рд╣реИ рдХрд┐ рдореЗрдореЛрд░реА рдЖрд╡рдВрдЯрди рддрдВрддреНрд░ рдЧреЛ рдореЗрдВ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред


рдЧреЛ рдореЗрдВ рдореЗрдореЛрд░реА рдЖрд╡рдВрдЯрди рддрдВрддреНрд░ рдХреА рд╕рд╛рдорд╛рдиреНрдп рд░реВрдкрд░реЗрдЦрд╛

рдкрд░рд┐рдгрд╛рдо


рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдпрд╣ рдзреНрдпрд╛рди рджрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕ рд╕рд╛рдордЧреНрд░реА рдореЗрдВ рд╣рдордиреЗ рдмрд╣реБрдд рд╕рд╛рдорд╛рдиреНрдп рд╢рдмреНрджреЛрдВ рдореЗрдВ рдЧреЛ рдореЗрдореЛрд░реА рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдмрд╕рд┐рд╕реНрдЯрдо рдХрд╛ рд╡рд░реНрдгрди рдХрд┐рдпрд╛ рд╣реИред рдЧреЛ рдореЗрдВ рдореЗрдореЛрд░реА рд╕рдмрд╕рд┐рд╕реНрдЯрдо рдХрд╛ рдореБрдЦреНрдп рд╡рд┐рдЪрд╛рд░ рд╡рд┐рднрд┐рдиреНрди рд╕реНрддрд░реЛрдВ рдХреЗ рд╡рд┐рднрд┐рдиреНрди рд╕рдВрд░рдЪрдирд╛рдУрдВ рдФрд░ рдХреИрд╢ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдореЗрдореЛрд░реА рдЖрд╡рдВрдЯрд┐рдд рдХрд░рдирд╛ рд╣реИред рдпрд╣ рдЙрди рд╡рд╕реНрддреБрдУрдВ рдХреЗ рдЖрдХрд╛рд░ рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрддрд╛ рд╣реИ рдЬрд┐рдирдХреЗ рд▓рд┐рдП рдореЗрдореЛрд░реА рдЖрд╡рдВрдЯрд┐рдд рдХреА рдЧрдИ рд╣реИред

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

рдкреНрд░рд┐рдп рдкрд╛рдардХреЛрдВ! рдХреНрдпрд╛ рдЖрдкрдХреЛ рдЧреЛ рдореЗрдВ рд▓рд┐рдЦреЗ рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдореЗрдВ рд╕реНрдореГрддрд┐ рдХреА рдЦрд░рд╛рдмреА рдХреЗ рдХрд╛рд░рдг рд╕рдорд╕реНрдпрд╛рдУрдВ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝рд╛ рд╣реИ?

Source: https://habr.com/ru/post/hi442648/


All Articles