рдХреИрд╢ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХрд╛ рдкреНрд░рдпреЛрдЧ

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

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

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

рд╕рд┐рджреНрдзрд╛рдВрдд рдХреА рдмрд┐рдЯ


рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдФрд░ рд╡реНрдпрд╛рдкрдХ рд░реВрдк рд╕реЗ рддреАрди рдкреНрд░рдХрд╛рд░ рдХреЗ рдХреИрд╢ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ: рдбрд╛рдпрд░реЗрдХреНрдЯ рдореИрдкрд┐рдВрдЧ рдХреИрд╢, рдПрд╕реЛрд╕рд┐рдПрдЯрд┐рд╡ рдХреИрд╢ рдФрд░ рдорд▓реНрдЯреА-рдПрд╕реЛрд╕рд┐рдПрдЯрд┐рд╡ рдХреИрд╢ред

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



рд╕рд╣рдпреЛрдЧреА рдХреИрд╢
- рдХреИрд╢ рдХреА рдХрд┐рд╕реА рднреА рд▓рд╛рдЗрди рдореЗрдВ рд░реИрдо рдХреА рдХреЛрдИ рднреА рд▓рд╛рдЗрди рдореИрдк рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИред



рдПрдХрд╛рдзрд┐рдХ рд╕рд╣рдпреЛрдЧреА рдХреИрд╢
- рдХреИрд╢ рдореЗрдореЛрд░реА рдХреЛ рдХрдИ "рдмреИрдВрдХреЛрдВ" рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рдирдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдкреНрд░рддреНрдпрдХреНрд╖ рдореИрдкрд┐рдВрдЧ рдХреЗ рд╕рд╛рде рдХреИрд╢ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рд░реНрдп рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд░реИрдо рд▓рд╛рдЗрди рдХреЛ рдХреЗрд╡рд▓ рд╕рдВрднрд╡ рдХреИрд╢ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рдореЗрдВ рдирд╣реАрдВ рджрд┐рдЦрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ (рдЬреИрд╕рд╛ рдХрд┐ рдпрд╣ рдкреНрд░рддреНрдпрдХреНрд╖ рдореИрдкрд┐рдВрдЧ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рд╣реЛрдЧрд╛), рд▓реЗрдХрд┐рди рдХрдИ рдмреИрдВрдХреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдореЗрдВ ; рдХреИрд╢ рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдкрдВрдХреНрддрд┐ рдХреЗ рд▓рд┐рдП LRU рдпрд╛ рдЕрдиреНрдп рддрдВрддреНрд░ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдмреИрдВрдХ рдХрд╛ рдЪрдпрди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред



LRU - "рд╕рдмрд╕реЗ рд▓рдВрдмреА рдЕрдкреНрд░рдпреБрдХреНрдд" рд▓рд╛рдЗрди, рдореЗрдореЛрд░реА рдХреИрд╢ рдХреА рднреАрдбрд╝ред

рд╡рд┐рдЪрд╛рд░


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

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

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

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

рд╕рд╣рдпреЛрдЧреА рдХреИрд╢

рдЬреИрд╕реЗ рд╣реА рдбреЗрдЯрд╛ рдХрд╛ рдЖрдХрд╛рд░ рдХреИрд╢ рдХреЗ рдЖрдХрд╛рд░ рд╕реЗ рдЕрдзрд┐рдХ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ,
рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рд╛рд╣рдЪрд░реНрдп рдХреИрд╢ рд╣рд░ рдмрд╛рд░ рдпрд╛рдж рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рд╕реНрдореГрддрд┐ рддрдХ рдкрд╣реБрдБрдЪрд╛ рд╣реИред



рдкреНрд░рддреНрдпрдХреНрд╖ рдХреИрд╢

рд╡рд┐рднрд┐рдиреНрди рдкрдВрдХреНрддрд┐ рдЖрдХрд╛рд░реЛрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред - рдЕрдзрд┐рдХрддрдо рдпрд╛рдж рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдкреНрд░реЛрд╕реЗрд╕рд░ рд▓рд╛рдЗрди рдкрд░ рдЕрдЧрд▓реЗ рдкрд╛рд╕ рд╕рд░рдгреА рдХреЗ рддрддреНрд╡реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЦрд░реНрдЪ рдХрд░реЗрдЧрд╛ред









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

рдЗрд╕рд▓рд┐рдП, рд╕рд╛рд╣рдЪрд░реНрдп рдХреИрд╢ рдореЗрдВ, рдХрджрдо рдКрд░реНрдзреНрд╡рд╛рдзрд░ рд╣реЛрдЧрд╛, рдФрд░ рдкреНрд░рддреНрдпрдХреНрд╖ рдХреИрд╢ рдореЗрдВ, рдпрд╣ рдзреАрд░реЗ-рдзреАрд░реЗ рдХреИрд╢ рдХреЗ рджреЛрд╣рд░реЗ рдЖрдХрд╛рд░ рддрдХ рдмрдврд╝ рдЬрд╛рдПрдЧрд╛ред рдПрдХрд╛рдзрд┐рдХ рд╕рд╣рдпреЛрдЧреА рдХреИрд╢ рдордзреНрдп рдорд╛рдорд▓рд╛, "рдкреБрдЪреНрдЫрд▓" рд╣реЛрдЧрд╛, рдпрджрд┐ рдХреЗрд╡рд▓ рдЗрд╕рд▓рд┐рдП рдХрд┐ рдкрд╣реБрдВрдЪ рдХрд╛ рд╕рдордп рдкреНрд░рддреНрдпрдХреНрд╖ рд╕реЗ рдмреЗрд╣рддрд░ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

рдпрджрд┐ рд╣рдо рдореЗрдореЛрд░реА рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╕рдмрд╕реЗ рддреЗрдЬрд╝ рдХреИрд╢ рд╣реИ, рдЬрд┐рд╕рдХреЗ рдмрд╛рдж рдкрд░рд┐рдЪрд╛рд▓рди рдПрдХ рд╣реИ, рд╕рдмрд╕реЗ рдзреАрдореА рд╕реНрд╡реИрдк рд╣реИ, рд╣рдо рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗред рдмрджрд▓реЗ рдореЗрдВ, рд╡рд┐рднрд┐рдиреНрди рдХреИрд╢ рд╕реНрддрд░ (рдПрдХ рдирд┐рдпрдо рдХреЗ рд░реВрдк рдореЗрдВ рдЖрдЬ рдкреНрд░реЛрд╕реЗрд╕рд░ рдореЗрдВ 2-3 рдХреИрд╢ рд╕реНрддрд░ рд╣реЛрддреЗ рд╣реИрдВ) рдореЗрдВ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдореЗрдореЛрд░реА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдЧрддрд┐ рд╣реЛрддреА рд╣реИ: рдЙрдЪреНрдЪ рд╕реНрддрд░, рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреА рдЧрддрд┐ рдХрдо рд╣реЛрддреА рд╣реИред рдФрд░ рдЗрд╕рд▓рд┐рдП, рдпрджрд┐ рдХреИрд╢ рдХреЗ рдкрд╣рд▓реЗ рд╕реНрддрд░ рдореЗрдВ рдПрдХ рд░реЗрдЦрд╛ рд░рдЦреА рдЬрд╛рддреА рд╣реИ, (рдЬреЛ рдХрд┐ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рд╛рд╣рдЪрд░реНрдп рд╣реИ), рддреЛ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╕рдордп рдПрдХ рдкрдВрдХреНрддрд┐ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдХрдо рд╣реЛрдЧрд╛ рдЬреЛ рдкрд╣рд▓реЗ рд╕реНрддрд░ рдХреЗ рдХреИрд╢ рдХреЗ рдЖрдХрд╛рд░ рд╕реЗ рдХрд╛рдлреА рдЕрдзрд┐рдХ рд╣реИред рдЗрд╕рд▓рд┐рдП, рд▓рд╛рдЗрди рдЖрдХрд╛рд░реЛрдВ рд╕реЗ рд╕реНрдореГрддрд┐ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╕рдордп рдХреЗ рдЧреНрд░рд╛рдл рдкрд░ рдХрдИ рдкрдард╛рд░ рд╣реЛрдВрдЧреЗ - рд╕реНрдореГрддрд┐ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХрд╛ рдкрдард╛рд░ * рдФрд░ рдкрдард╛рд░ рд╡рд┐рднрд┐рдиреНрди рдХреИрд╢ рд╕реНрддрд░реЛрдВ рдХреЗ рдХрд╛рд░рдгред

* рд╕рдорд╛рд░реЛрд╣ рдкрдард╛рд░ - {i: x, f (xi) - f (xi + 1) <eps: eps тЖТ тЖТ}}

рдЪрд▓рд┐рдП рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ


рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд▓рд┐рдП рд╣рдо C (ANSI C99) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗред

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

for (i = 0; i < 16; i++) { for (j = 0; j < L_STR; j++) A[j]++; } 


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



рдЬрд╛рд╣рд┐рд░ рд╣реИ, рдпрд╣ рджреЛ рдХрд╛рд░рдгреЛрдВ рд╕реЗ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ: рдпрд╛ рддреЛ рдкреНрд░реЛрд╕реЗрд╕рд░ рдореЗрдВ рдореЗрдореЛрд░реА рдХреИрд╢ рдирд╣реАрдВ рд╣реИ, рдпрд╛ рдкреНрд░реЛрд╕реЗрд╕рд░ рдХрд╛ рдЕрдиреБрдорд╛рди рд╣реИ рдХрд┐ рдореЗрдореЛрд░реА рдПрдХреНрд╕реЗрд╕ рдЗрддрдиреА рдЕрдЪреНрдЫреА рд╣реИред рдЪреВрдВрдХрд┐ рдкрд╣рд▓рд╛ рд╡рд┐рдХрд▓реНрдк рдХрд▓реНрдкрдирд╛ рдХреЗ рдХрд░реАрдм рд╣реИ, рд╕рдм рдХреБрдЫ рдХрд╛ рдХрд╛рд░рдг рд╣рд┐рдЯ рдХрд╛ рдПрдХ рдЕрдЪреНрдЫрд╛ рдкреВрд░реНрд╡рд╛рдиреБрдорд╛рди рд╣реИред

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

рд░реИрдВрдбрдорд╛рдЗрдЬреНрдб рдРрд░реЗ рдХреА рд▓рдВрдмрд╛рдИ рдХреЙрд▓реНрд╕ рдХреА рдмрдбрд╝реА рдЧреНрд░реИрдиреНрдпреБрд▓реИрд░рд┐рдЯреА рд╕реЗ рдЫреБрдЯрдХрд╛рд░рд╛ рдкрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдореЗрди рд▓рд╛рдЗрди рдХреА рд▓рдВрдмрд╛рдИ рдХреЗ рд╕рд╛рде рддреБрд▓рдиреАрдп рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП, рдПрд░реЗ рдХреА рд▓рдВрдмрд╛рдИ рджреЛ рдХреА рдкрд╛рд╡рд░ рдирд╣реАрдВ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рдореЗрдВ "рдУрд╡рд░рд▓реЗ" рдереЗ - рдЬрд┐рд╕рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рдЖрдЙрдЯрд▓реЗрдпрд░ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред рдЧреНрд░реИрдиреНрдпреБрд▓реИрд░рд┐рдЯреА рдХреЛ рд╕реНрдерд┐рд░ рд░рдЦрдирд╛ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдЕрдЧрд░ рдЧреНрд░реИрдиреНрдпреБрд▓реИрд░рд┐рдЯреА рдПрдХ рдкреНрд░рдореБрдЦ рд╣реИ, рддреЛ рдУрд╡рд░рд▓реЗ рдХреЗ рдкреНрд░рднрд╛рд╡ рд╕реЗ рдмрдЪрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдФрд░ рдПрдХ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд╕рд░рдгреА рдХреА рд▓рдВрдмрд╛рдИ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреА рд▓рдВрдмрд╛рдИ рдХрд╛ рдПрдХ рдХрд╛рд░реНрдп рд╣реИред
 for (i = 0; i < j; i++) { for (m = 0; m < L; m++) { for (x = 0; x < M; x++){ v = A[ random[x] + m ]; } } } 


рдЙрд╕рдХреЗ рдмрд╛рдж, рд╣рдордиреЗ рд▓рдВрдмреЗ рд╕рдордп рд╕реЗ рдкреНрд░рддреАрдХреНрд╖рд┐рдд "рдЪрд┐рддреНрд░" рдХреЛ рдЖрд╢реНрдЪрд░реНрдпрдЪрдХрд┐рдд рдХрд┐рдпрд╛, рдЬрд┐рд╕рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ рдЪрд░реНрдЪрд╛ рд╣реБрдИ рдереАред





рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЛ 2 рднрд╛рдЧреЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ - рдкрд░реАрдХреНрд╖рдг рдФрд░ рдбреЗрдЯрд╛ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдгред рдЦреБрдж рдХреЛ рдкреЗрди рд╕реЗ 2 рдмрд╛рд░ рдЪрд▓рд╛рдиреЗ рдпрд╛ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП 3 рд▓рд╛рдЗрдиреЛрдВ рдореЗрдВ рдПрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд▓рд┐рдЦреЗрдВред

рд▓рд┐рдирдХреНрд╕ рдХреЗ рд╕рд╛рде size.s рдлрд╝рд╛рдЗрд▓ рдХреЛ рд╕реВрдЪреАрдмрджреНрдз рдХрд░рдирд╛

 #include <stdio.h> #include <stdlib.h> #include <string.h> #include <time.h> #define T char #define MAX_S 0x1000000 #define L 101 volatile TA[MAX_S]; int m_rand[0xFFFFFF]; int main (){ static struct timespec t1, t2; memset ((void*)A, 0, sizeof (A)); srand(time(NULL)); int v, M; register int i, j, k, m, x; for (k = 1024; k < MAX_S;) { M = k / L; printf("%g\t", (k+M*4)/(1024.*1024)); for (i = 0; i < M; i++) m_rand[i] = L * i; for (i = 0; i < M/4; i++) { j = rand() % M; x = rand() % M; m = m_rand[j]; m_rand[j] = m_rand[i]; m_rand[i] = m; } if (k < 100*1024) j = 1024; else if (k < 300*1024) j = 128; else j = 32; clock_gettime (CLOCK_PROCESS_CPUTIME_ID, &t1); for (i = 0; i < j; i++) { for (m = 0; m < L; m++) { for (x = 0; x < M; x++){ v = A[ m_rand[x] + m ]; } } } clock_gettime (CLOCK_PROCESS_CPUTIME_ID, &t2); printf ("%g\n",1000000000. * (((t2.tv_sec + t2.tv_nsec * 1.e-9) - (t1.tv_sec + t1.tv_nsec * 1.e-9)))/(double)(L*M*j)); if (k > 100*1024) k += k/16; else k += 4*1024; } return 0; } 



рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдЖрдХрд╛рд░ рд╕реВрдЪреАрдмрджреНрдз рдХрд░рдирд╛ред рд╡рд┐рдВрдбреЛрдЬрд╝ рдХреЗ рд╕рд╛рде

 #include <stdio.h> #include <stdlib.h> #include <string.h> #include <time.h> #include <iostream> #include <Windows.h> using namespace std; #define T char #define MAX_S 0x1000000 #define L 101 volatile TA[MAX_S]; int m_rand[0xFFFFFF]; int main (){ LARGE_INTEGER freq; LARGE_INTEGER time1; LARGE_INTEGER time2; QueryPerformanceFrequency(&freq); memset ((void*)A, 0, sizeof (A)); srand(time(NULL)); int v, M; register int i, j, k, m, x; for (k = 1024; k < MAX_S;) { M = k / L; printf("%g\t", (k+M*4)/(1024.*1024)); for (i = 0; i < M; i++) m_rand[i] = L * i; for (i = 0; i < M/4; i++) { j = rand() % M; x = rand() % M; m = m_rand[j]; m_rand[j] = m_rand[i]; m_rand[i] = m; } if (k < 100*1024) j = 1024; else if (k < 300*1024) j = 128; else j = 32; QueryPerformanceCounter(&time1); for (i = 0; i < j; i++) { for (m = 0; m < L; m++) { for (x = 0; x < M; x++){ v = A[ m_rand[x] + m ]; } } } QueryPerformanceCounter(&time2); time2.QuadPart -= time1.QuadPart; double span = (double) time2.QuadPart / freq.QuadPart; printf ("%g\n",1000000000. * span/(double)(L*M*j)); if (k > 100*1024) k += k/16; else k += 4*1024; } return 0; } 



рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╕рдм рдХреБрдЫ рд╕реНрдкрд╖реНрдЯ рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВ рдХреБрдЫ рдмрд┐рдВрджреБрдУрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ред

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

рдлрд╝рд╛рдЗрд▓ рдХреЛ Ubuntu 12.04 рдкрд░ рдЕрд╕реЗрдВрдмрд▓рд░ рдореЗрдВ рдЕрдиреБрд╡рд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ gcc 4.6 рд╕рдВрдХрд▓рдХ - рдЪрдХреНрд░ рд╕рд╣реЗрдЬреЗ рдЧрдП рд╣реИрдВред

рдбрд╛рдЯрд╛ рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ


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

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

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

рд▓рд┐рд╕реНрдЯрд┐рдВрдЧ рдлрд╝рд╛рдЗрд▓ data_pr.s
 #include <stdio.h> #include <stdlib.h> #include <math.h> double round (double x) { int mul = 100; if (x > 0) return floor(x * mul + .5) / mul; else return ceil(x * mul - .5) / mul; } float size[112], time[112], der_1[112], der_2[112]; int main(){ size[0] = 0; time[0] = 0; der_1[0] = 0; der_2[0] = 0; int i, z = 110; for (i = 1; i < 110; i++) scanf("%g%g", &size[i], &time[i]); for (i = 1; i < z; i++) der_1[i] = (time[i]-time[i-1])/(size[i]-size[i-1]); for (i = 1; i < z; i++) if ((time[i]-time[i-1])/(size[i]-size[i-1]) > 2) der_2[i] = 1; else der_2[i] = 0; //comb for (i = 0; i < z; i++) if (der_2[i] == der_2[i+2] && der_2[i+1] != der_2[i]) der_2[i+1] = der_2[i]; for (i = 0; i < z-4; i++) if (der_2[i] == der_2[i+3] && der_2[i] != der_2[i+1] && der_2[i] != der_2[i+2]) { der_2[i+1] = der_2[i]; der_2[i+2] = der_2[i]; } for (i = 0; i < z-4; i++) if (der_2[i] == der_2[i+4] && der_2[i] != der_2[i+1] && der_2[i] != der_2[i+2] && der_2[i] != der_2[i+3]) { der_2[i+1] = der_2[i]; der_2[i+2] = der_2[i]; der_2[i+3] = der_2[i]; } // int k = 1; for (i = 0; i < z-4; i++){ if (der_2[i] == 1) printf("L%d = %g\tMb\n", k++, size[i]); while (der_2[i] == 1) i++; } return 0; } 


рдкрд░реАрдХреНрд╖рдг


рд╕реАрдкреАрдпреВ / рдУрдПрд╕ / рдХрд░реНрдиреЗрд▓ рд╕рдВрд╕реНрдХрд░рдг / рд╕рдВрдХрд▓рдХ / рд╕рдВрдХрд▓рди рдХреБрдВрдЬреА - рдкреНрд░рддреНрдпреЗрдХ рдкрд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП рд╕рдВрдХреЗрдд рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред


  • рдЗрдВрдЯреЗрд▓ рдкреЗрдВрдЯрд┐рдпрдо CPU P6100 @ 2.00GHz / Ubuntu 12.04 / 3.2.0-27-рдЬреЗрдиреЗрд░рд┐рдХ / gcc -Wall -O3 size.c -lrt

    рдПрд▓ 1 = 0.05 рдПрдордмреА
    L2 = 0.2 рдПрдордмреА
    L3 = 2.7 рдПрдордмреА
  • рдореИрдВрдиреЗ рд╕рднреА рдЕрдЪреНрдЫреЗ рдкрд░реАрдХреНрд╖рдг рдирд╣реАрдВ рджрд┐рдП, рдЪрд▓реЛ рдмреЗрд╣рддрд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рддреЗ рд╣реИрдВ


"рд░реЗрдХ" рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рддреЗ рд╣реИрдВ


рдЗрдВрдЯреЗрд▓ Xeon рд╕рд░реНрд╡рд░ рдкреНрд░реЛрд╕реЗрд╕рд░ 2.4 / L2 = 512 kb / Windows рд╕рд░реНрд╡рд░ 2008 рдкрд░ рдбреЗрдЯрд╛ рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рдХреЗ рджреМрд░рд╛рди рд░реЗрдХ рдХрд╛ рдкрддрд╛ рдЪрд▓рд╛



рд╕рдорд╕реНрдпрд╛ рдкрдард╛рд░ рдирд┐рдХрд╛рд╕ рдЕрдВрддрд░рд╛рд▓ рдкрд░ рдЧрд┐рд░рдиреЗ рд╡рд╛рд▓реА рдЫреЛрдЯреА рд╕рдВрдЦреНрдпрд╛ рд╣реИ - рддрджрдиреБрд╕рд╛рд░, рджреВрд╕рд░реА рд╡реНрдпреБрддреНрдкрдиреНрди рдХреА рдЫрд▓рд╛рдВрдЧ рдЕрджреГрд╢реНрдп рд╣реИ рдФрд░ рдЗрд╕реЗ рд╢реЛрд░ рдХреЗ рд░реВрдк рдореЗрдВ рд▓рд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдЖрдк рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдХрдо рд╕реЗ рдХрдо рд╡рд░реНрдЧ рд╡рд┐рдзрд┐ рджреНрд╡рд╛рд░рд╛ рд╣рд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдпрд╛ рдкрдард╛рд░реА рдХреНрд╖реЗрддреНрд░реЛрдВ рдХреЗ рдирд┐рд░реНрдзрд╛рд░рдг рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВред

рдореИрдВ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЗ рд╕рдорд╛рдзрд╛рди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЖрдкрдХреЗ рд╕реБрдЭрд╛рд╡ рд╕реБрдирдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ред

рд╕рдВрджрд░реНрдн


  • рдордХрд░реЛрд╡ рдП.рд╡реА. рдХрдВрдкреНрдпреВрдЯрд░ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдФрд░ рд▓реЛ-рд▓реЗрд╡рд▓ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧред
  • Ulrich Drepper рд╣рд░ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреЛ рдореЗрдореЛрд░реА рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛ рдЬрд╛рдирдирд╛ рдЪрд╛рд╣рд┐рдП

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


All Articles