рдЖрдорддреМрд░ рдкрд░, рдкреНрд░рджрд░реНрд╢рди рдХреЛ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рд╕рдордп рдЕрдВрддрд░рд╛рд▓ рдХреЗ рд▓рд┐рдП рд╕рдВрдЪрд╛рд▓рди рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рд╕рдордЭрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдЙрдирдореЗрдВ рд╕реЗ рдЕрдзрд┐рдХ, рдмреЗрд╣рддрд░ред рд▓реЗрдХрд┐рди рдЗрд╕ рддрд░рд╣ рдХреА рдкрд░рд┐рднрд╛рд╖рд╛, рдФрд░ рд╕рдордЧреНрд░ рд░реВрдк рдореЗрдВ рджреГрд╖реНрдЯрд┐рдХреЛрдг, рд╕рд╛рдордиреЗ рдХреЗ рдЕрдВрдд рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдХрдо рдкреНрд░рдпреЛрдЬреНрдпрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХрд╛ рдЕрдкрдирд╛ "рдлреНрд░рдВрдЯ-рдПрдВрдб" рд╣реЛрдЧрд╛ред рдпрд╣реА рдореИрдВ рдмрд╛рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ, рдЬреЛ рд╣реЛ рд░рд╣рд╛ рд╣реИ "рд╡рд╣рд╛рдВ", рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд╕рд╛рде, рджреВрд╕рд░реА рддрд░рдл, рд╡рд╛рд╕реНрддрд╡рд┐рдХрддрд╛ рдореЗрдВ, рдФрд░ рдЖрдкрдХреЗ рд╢реАрд░реНрд╖ рдореИрдХрдмреБрдХ рдкрд░ рдирд╣реАрдВред
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдореИрдВ рдХреЛрдб рдХреЛ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рд╕рд╛рдорд╛рдиреНрдп рдирд┐рдпрдореЛрдВ рдФрд░ рдХреБрдЫ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдкрд░ рдзреНрдпрд╛рди рджреЗрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реВрдВрдЧрд╛ рдЬреЛ рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реИрдВред рдореИрдВ рдЖрдкрдХреЛ рдПрдХ рдРрд╕реЗ
рдЯреВрд▓ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рднреА рдмрддрд╛рдКрдВрдЧрд╛ рдЬреЛ рди рдХреЗрд╡рд▓ рдкреНрд░реЛрдлрд╛рдЗрд▓рд┐рдВрдЧ рдореЗрдВ рдорджрдж рдХрд░рддрд╛ рд╣реИ, рдмрд▓реНрдХрд┐ рдмреЙрдХреНрд╕ рдХреЗ рдмрд╛рд╣рд░ рднреА рдЖрдкрдХреЗ рдЖрд╡реЗрджрди рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмреБрдирд┐рдпрд╛рджреА рдореАрдЯреНрд░рд┐рдХ рдХрд╛ рдПрдХ рдЧреБрдЪреНрдЫрд╛ рдПрдХрддреНрд░ рдХрд░рддрд╛ рд╣реИ (рдФрд░ рдореБрдЭреЗ рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдЖрдк рдЗрд╕ рдкреЛрд╕реНрдЯ рдХреЛ рдЕрдВрдд рддрдХ рдкрдврд╝рддреЗ рд╣реИрдВ)ред
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╣рдо рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░реЗрдВрдЧреЗ рдХрд┐ рдлреНрд░рдВрдЯ-рдПрдВрдб рдкреНрд░рджрд░реНрд╢рди рдХреНрдпрд╛ рд╣реИ, рдФрд░ рдлрд┐рд░ рд╣рдо рдЗрд╕реЗ рдорд╛рдкрдиреЗ рдХреЗ рддрд░реАрдХреЗ рдкрд░ рдЖрдЧреЗ рдмрдврд╝реЗрдВрдЧреЗред рдЗрд╕рд▓рд┐рдП, рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рдХрд╣рд╛, рд╣рдо рдХреБрдЫ рдСрдкреНрд╕ / рд╕реЗрдХрдВрдб рдХреЛ рдирд╣реАрдВ рдорд╛рдкреЗрдВрдЧреЗ, рд╣рдореЗрдВ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдбреЗрдЯрд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЬреЛ рдЗрд╕ рд╕рд╡рд╛рд▓ рдХрд╛ рдЬрд╡рд╛рдм рджреЗ рд╕рдХреЗ рдХрд┐ рдЗрд╕рдХреЗ рдХрд╛рдо рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рдЪрд░рдг рдореЗрдВ рд╣рдорд╛рд░реА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд╕рд╛рде рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреНрдпрд╛ рд╣реЛрддрд╛ рд╣реИред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ рдореАрдЯреНрд░рд┐рдХ рдХреЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕реЗрдЯ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:
- рдбрд╛рдЙрдирд▓реЛрдб рдЧрддрд┐;
- рдкрд╣рд▓реЗ рдкреНрд░рддрд┐рдкрд╛рджрди рдФрд░ рдЕрдиреНрддрд░рдХреНрд░рд┐рдпрд╛рд╢реАрд▓рддрд╛ рдХрд╛ рд╕рдордп (рдЗрдВрдЯрд░рдПрдХреНрдЯрд┐рд╡ рдХрд╛ рд╕рдордп);
- рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХрд╛рд░реНрдпреЛрдВ рдХреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреА рдЧрддрд┐;
- рд╕реНрдХреНрд░реЙрд▓рд┐рдВрдЧ рдФрд░ рдПрдирд┐рдореЗрд╢рди рдХреЗ рд▓рд┐рдП рдПрдлрдкреАрдПрд╕;
- рдЖрд╡реЗрджрди рдЖрд░рдВрднреАрдХрд░рдг;
- рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдХ рдПрд╕рдкреАрдП рд╣реИ, рддреЛ рдЖрдкрдХреЛ рдорд╛рд░реНрдЧреЛрдВ рдХреЗ рдмреАрдЪ рд╕реНрд╡рд┐рдЪ рдХрд░рдиреЗ рдкрд░ рдЦрд░реНрдЪ рдХрд┐рдП рдЧрдП рд╕рдордп рдХреЛ рдорд╛рдкрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ;
- рд╕реНрдореГрддрд┐ рдФрд░ рдпрд╛рддрд╛рдпрд╛рдд рдХреА рдЦрдкрдд;
- рдФрд░ ... рдЕрднреА рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИред
рдпреЗ рд╕рднреА рдореВрд▓ рдореАрдЯреНрд░рд┐рдХ рд╣реИрдВ, рдЬрд┐рдирдХреЗ рдмрд┐рдирд╛ рдпрд╣ рд╕рдордЭрдирд╛ рдЕрд╕рдВрднрд╡ рд╣реИ рдХрд┐ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдлреНрд░рдВрдЯ-рдПрдВрдб рдкрд░ рдХреНрдпрд╛ рд╣реЛ рд░рд╣рд╛ рд╣реИред рдФрд░ рди рдХреЗрд╡рд▓ рд╕рд╛рдордиреЗ рдХреЗ рдЫреЛрд░ рдкрд░, рдмрд▓реНрдХрд┐ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдЕрдВрдд рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд╕рд╛рдеред рд▓реЗрдХрд┐рди рдЗрди рдореИрдЯреНрд░рд┐рдХреНрд╕ рдХреЛ рдЗрдХрдЯреНрдард╛ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ рдпрд╣ рд╕реАрдЦрдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдЙрдиреНрд╣реЗрдВ рдХреИрд╕реЗ рдорд╛рдкреЗрдВ, рддреЛ рдЖрдЗрдП рдпрд╛рдж рд░рдЦреЗрдВ рдХрд┐ рдкреНрд░рджрд░реНрд╢рди рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЗ рд▓рд┐рдП рдХреНрдпрд╛ рддрд░реАрдХреЗ рд╣реИрдВред
рд╢реБрд░реБрдЖрдд рдХрд░рдиреЗ рд╡рд╛рд▓реА рдкрд╣рд▓реА рдЪреАрдЬрд╝ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдкреНрд░рджрд░реНрд╢рди рдПрдкреАрдЖрдИ рд╣реИред рдЕрд░реНрдерд╛рддреН,
рдкреНрд░рджрд░реНрд╢рдиред рдкрд░реАрдХреНрд╖рдг, рдЬрд┐рд╕рдХреЗ рджреНрд╡рд╛рд░рд╛ рдЖрдк рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдЖрдкрдХреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛ рдЦреЛрд▓рдиреЗ рдореЗрдВ рдХрд┐рддрдирд╛ рд╕рдордп рд▓рдЧрд╛ред рд▓реЗрдХрд┐рди рдкреНрд░рджрд░реНрд╢рди API рдореЗрдВ рдореАрдЯреНрд░рд┐рдХ рдХрд╛ рдХреЗрд╡рд▓ рдПрдХ рднрд╛рдЧ рд╢рд╛рдорд┐рд▓ рд╣реИ, рдмрд╛рдХреА рдХреЛ рдЦреБрдж рд╕реЗ рдорд╛рдкрдирд╛ рд╣реЛрдЧрд╛ рдФрд░ рдЗрд╕рдХреЗ рд▓рд┐рдП рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЙрдкрдХрд░рдг рд╣реЛрдВрдЧреЗ:
рдЙрд╕ рдкрд▓, рдореБрдЭреЗ рдПрд╣рд╕рд╛рд╕ рд╣реБрдЖ рдХрд┐ рдЖрдкрдХреЛ рдПрдХ рдЙрдкрдХрд░рдг рджреЗрдЦрдиреЗ рдХреА рдЬрд╝рд░реВрд░рдд рд╣реИ рдЬреЛ рдЙрдкрд░реЛрдХреНрдд рдлрд╛рдпрджреЗ рдХреЛ рдорд┐рд▓рд╛рдПрдЧрд╛ рдФрд░, рдпрджрд┐ рд╕рдВрднрд╡ рд╣реЛ рддреЛ, рдХреЛрдИ рдорд┐рдиреНрдпреВрдЬрд╝ рдирд╣реАрдВ рд╣реИред рдЗрд╕рд▓рд┐рдП
рдкрд░рдлреЗрдХреНтАНрдЯрд░ рдерд╛ред
PerfKeeper
- рд╢реБрд░реБрдЖрдд рдФрд░ рдЕрдВрдд рдкрд░ рдкреВрд░реНрдг рдирд┐рдпрдВрддреНрд░рдгред
- рдЖрдк рд╕рд░реНрд╡рд░ рдХреЛ рднреЗрдЬ рд╕рдХрддреЗ рд╣реИрдВред
- рдпрд╣ рдХрдВрд╕реЛрд▓ рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рд╣реЛрддрд╛ рд╣реИред
- DevTools рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ -> рдкреНрд░рджрд░реНрд╢рди -> рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕рдордпред
- рдПрдХ рд╕рдореВрд╣рди рд╣реИред
- рдПрдХ рд░рдВрдЧ рдХреЛрдбрд┐рдВрдЧ рд╣реИ (рд╕рд╛рде рд╣реА рдорд╛рдк рдХреА рдЗрдХрд╛рдЗрдпрд╛рдВ, рдпрд╛рдиреА, рдЖрдк рди рдХреЗрд╡рд▓ рд╕рдордп рдХреЛ рдорд╛рдк рд╕рдХрддреЗ рд╣реИрдВ)ред
- рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред
рдЕрдм рдореИрдВ рдпрд╣рд╛рдВ рдПрдкреАрдЖрдИ рдкреЗрдВрдЯ рдирд╣реАрдВ рдХрд░реВрдВрдЧрд╛, рдореИрдВрдиреЗ рдЗрд╕рдХреЗ рд▓рд┐рдП
рдкреНрд░рд▓реЗрдЦрди рдирд╣реАрдВ рд▓рд┐рдЦрд╛ рдерд╛, рдФрд░ рд▓реЗрдЦ рдЙрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВ рдореИрдЯреНрд░рд┐рдХреНрд╕ рдХреИрд╕реЗ рдЗрдХрдЯреНрдард╛ рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦреВрдВрдЧрд╛ред
рдкреЗрдЬ рдбрд╛рдЙрдирд▓реЛрдб рд╕реНрдкреАрдб
рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рд╣реА рдХрд╣рд╛ рдерд╛, рдЖрдк
рдкреНрд░рджрд░реНрд╢рди рдЧрддрд┐ рд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб рдЧрддрд┐ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣ рдЖрдкрдХреЛ рдкреЗрдЬ рд▓реЛрдбрд┐рдВрдЧ рдХреА рд╢реБрд░реБрдЖрдд рд╕реЗ рдкреВрд░реНрдг рдЪрдХреНрд░ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛ (DNS рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХрд╛ рд╕рдордп, HTTP рд╣реИрдВрдбрд╢реЗрдХ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛, рдЕрдиреБрд░реЛрдз рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдирд╛) рд╕реЗ рдкреВрд░реНрдг рдкреГрд╖реНрда рд▓реЛрдбрд┐рдВрдЧ (рдбреЛрдорд░реЗрдбреНрдбреА рдФрд░ рдУрдирд▓реЙрдб):

рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рдЖрдкрдХреЛ рдореИрдЯреНрд░рд┐рдХреНрд╕ рдХрд╛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕реЗрдЯ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП:
@ Perf-tools / keeper рдХреЗ рд▓рд┐рдП рдиреЗрд╡рд┐рдЧреЗрд╢рди рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдгредрд▓реЗрдХрд┐рди рдпрд╣ рдкрд░реНрдпрд╛рдкреНрдд рдирд╣реАрдВ рд╣реИ, рд╣рдореЗрдВ рдХреЗрд╡рд▓ рдореВрд▓ рдореВрд▓реНрдп рдорд┐рд▓реЗ рдФрд░ рдЕрднреА рднреА рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрддрдирд╛ рд╕рдордп рдХреНрдпрд╛ рд▓рдЧрд╛ред рдФрд░ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ HTML рдореЗрдЯреНрд░рд┐рдХреНрд╕ рдореЗрдВ рднреА рднрд░рдирд╛ рд╣реЛрдЧрд╛ред
рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рд╣реА рдХрд╣рд╛ рдерд╛, рдореИрдВ
PerfKeeper рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЙрджрд╛рд╣рд░рдг
рджрд┐рдЦрд╛рдКрдВрдЧрд╛ , рдЗрд╕рд▓рд┐рдП рдкрд╣рд▓реА рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐
<hed/>
PerfKeeper рдореЗрдВ рд╣реА рдЗрдирд▓рд╛рдЗрди рд╣реИ (2.5 Kb) рдФрд░ рдЖрдЧреЗ:

рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рдЖрдк рд╕рд╛рдВрддреНрд╡рдирд╛ рдореЗрдВ рдРрд╕реА рд╕реБрдВрджрд░рддрд╛ рджреЗрдЦреЗрдВрдЧреЗ:

рдпрд╣ рдорд╛рдк рдХрд╛ рдПрдХ рдЙрддреНрдХреГрд╖реНрдЯ рджрд╛рджрд╛рдЬреА рддрд░реАрдХрд╛ рд╣реИ, 100% рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рджреБрдирд┐рдпрд╛ рдЕрднреА рднреА рдЦрдбрд╝рд╛ рдирд╣реАрдВ рд╣реИ, рдФрд░ рдЕрдзрд┐рдХ рд╕рдЯреАрдХ рдорд╛рдк рдХреЗ рд▓рд┐рдП рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЕрдм
рд╕рдВрд╕рд╛рдзрди рд╕рдордп рдПрдкреАрдЖрдИ рд╣реИ (рдФрд░ рдпрджрд┐ рд╕рдВрд╕рд╛рдзрди рдЖрдкрдХреА рдорджрдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрд▓рдЧ
рд╕рдордп-рдЕрдиреБрдорддрд┐-рдореВрд▓ рдбреЛрдореЗрди рдкрд░ рд╣реИрдВ)ред
рдФрд░ рдпрд╣рд╛рдВ рдкреГрд╖реНрда рдХреА рдкреНрд░рд╛рд░рдВрднрд┐рдХ рд▓реЛрдбрд┐рдВрдЧ рдХреЗ рджреМрд░рд╛рди рдХреНрд▓рд╛рд╕рд┐рдХ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рдиреЗ рд▓рд╛рдпрдХ рд╣реИ, рдЕрд░реНрдерд╛рддреН:
- GZip рдФрд░ HTTP / 2 рдХреА рдХрдореА (рд╣рд╛рдБ, рдпрд╣ рдЕрднреА рднреА рдЖрдо рд╣реИ);
- рдлреЛрдВрдЯ рдХрд╛ рдЕрдиреБрдЪрд┐рдд рдЙрдкрдпреЛрдЧ (рдХрднреА-рдХрднреА рдПрдХ рдлрд╝реЙрдиреНрдЯ рдХреЗрд╡рд▓ рдПрдХ рд╣реЗрдбрд░ рдХреЗ рд▓рд┐рдП рдпрд╛ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдкрд╛рдж рд▓реЗрдЦ 0_o рдореЗрдВ рдПрдХ рдлреЛрди рдирдВрдмрд░ рдХреЗ рд▓рд┐рдП рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рд╣реИ);
- CSS / JS рдмрдВрдбрд▓ рдмрд╣реБрдд рд╕рд╛рдорд╛рдиреНрдп рд╣реИред
рдкреГрд╖реНрда рд▓реЛрдбрд┐рдВрдЧ рдХреЛ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЗ:
- GZip рдХреЗ рдмрдЬрд╛рдп Brotli (рдпрд╛ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ SDCH) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ, HTTP / 2 рдХреЛ рд╕рдХреНрд╖рдо рдХрд░реЗрдВ;
- рдХреЗрд╡рд▓ рдЖрд╡рд╢реНрдпрдХ рд╕реАрдПрд╕рдПрд╕ (рдорд╣рддреНрд╡рдкреВрд░реНрдг) рд▓реАрдЬрд┐рдП рдФрд░ рд╕реАрдПрд╕рдПрд╕рдУ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдордд рднреВрд▓рдирд╛;
- рдиреНрдпреВрдирддрдо рдХреЛрд░ рдмрдВрдбрд▓ рдХреЛ рдЕрд▓рдЧ рдХрд░рдХреЗ рдЬреЗрдПрд╕ рдмрдВрдбрд▓ рдХреЗ рдЖрдХрд╛рд░ рдХреЛ рдХрдо рдХрд░реЗрдВ, рдФрд░ рдмрд╛рдХреА рдорд╛рдВрдЧ рдкрд░ рд▓реЛрдб рдХрд░реЗрдВ, рдЕрд░реНрдерд╛рддред рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рд░реВрдк рд╕реЗ;
- рдЬреЗрдПрд╕ рдФрд░ рд╕реАрдПрд╕рдПрд╕ рдХреЛ рдЧреИрд░-рдмреНрд▓реЙрдХрд┐рдВрдЧ рдореЛрдб рдореЗрдВ рд▓реЛрдб рдХрд░реЗрдВ, рдЧрддрд┐рд╢реАрд▓ рд░реВрдк рд╕реЗ
/> <sript src="..."/>
, рдЖрджрд░реНрд╢ рд░реВрдк рд╕реЗ рдЬреЗрдПрд╕ рдХреЛ рдореБрдЦреНрдп рд╕рд╛рдордЧреНрд░реА рдХреЗ рдмрд╛рдж рд▓реЛрдб рдХрд░реЗрдВ; - рдкреАрдПрдирдЬреА рдХреЗ рдмрдЬрд╛рдп рдПрд╕рд╡реАрдЬреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ, рдФрд░ рдпрджрд┐ рдЬреЗрдПрд╕ рдХреЗ рд╕рд╛рде рд╕рдВрдпреБрдХреНрдд рд╣реИ, рддреЛ рдпрд╣ рдЕрдирд╛рд╡рд╢реНрдпрдХ рдПрдХреНрд╕рдПрдордПрд▓ рд╕реЗ рдЫреБрдЯрдХрд╛рд░рд╛ рдкрд╛рдпреЗрдЧрд╛ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдлрд╝реЙрдиреНрдЯ-рдХрдорд╛рд▓ рдХреА рддрд░рд╣);
- рджреЛрдиреЛрдВ рдЫрд╡рд┐рдпреЛрдВ рдФрд░ iframes рдХреЗ рд▓рд┐рдП рдЖрд▓рд╕реА рд▓реЛрдбрд┐рдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ (рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдирд┐рдХрдЯ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рджреЗрд╢реА рд╕рдорд░реНрдерди рджрд┐рдЦрд╛рдИ рджреЗрдЧрд╛)ред
рдкрд╣рд▓рд╛ рдкреНрд░рддрд┐рдкрд╛рджрди рд╕рдордп рдФрд░ рдЕрдиреНрддрд░рдХреНрд░рд┐рдпрд╛рд╢реАрд▓рддрд╛ (TTI)
рд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдЕрдЧрд▓рд╛ рдЪрд░рдг рд╡рд╣ рдХреНрд╖рдг рд╣реЛрддрд╛ рд╣реИ рдЬрдм рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдиреЗ рдкрд░рд┐рдгрд╛рдо рджреЗрдЦрд╛, рдФрд░ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдЗрдВрдЯрд░реИрдХреНрдЯрд┐рд╡ рдореЛрдб рдореЗрдВ рдЪрд▓рд╛ рдЧрдпрд╛ред рдЗрд╕рдХреЗ рд▓рд┐рдП рд╣рдореЗрдВ
Performance Paint Timing рдФрд░
PerformanceObserver рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ ред
рдкрд╣рд▓рд╛ рд╡рд╛рд▓рд╛ рд╕рд░рд▓ рд╣реИ, рд╣рдо
performance.getEntriesByType('paint')
рдХрд╣рддреЗ рд╣реИрдВ
performance.getEntriesByType('paint')
рдФрд░ рд╣рдореЗрдВ рджреЛ рдореИрдЯреНрд░рд┐рдХреНрд╕ рдорд┐рд▓рддреЗ рд╣реИрдВ:
- рдкрд╣рд▓рд╛-рдкреЗрдВрдЯ - рдкрд╣рд▓рд╛ рдкреНрд░рддрд┐рдкрд╛рджрди;
- рдкрд╣рд▓рд╛-рд╡рд┐рд╡рд╛рджрд╛рд╕реНрдкрдж-рдкреЗрдВрдЯ - рдФрд░ рдкрд╣рд▓рд╛ рдкрд╣рд▓рд╛ рд░реЗрдВрдбрд░ред
@ Perf-tools / рдХреАрдкрд░ рдХреЗ рд▓рд┐рдП рдкреЗрдВрдЯ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдгредрд▓реЗрдХрд┐рди рдЕрдЧрд▓реА рдореАрдЯреНрд░рд┐рдХ, рдЯрд╛рдЗрдо рдЯреВ рдЗрдВрдЯрд░рдПрдХреНрдЯрд┐рд╡ рдХреЗ рд╕рд╛рде, рдпрд╣ рдереЛрдбрд╝рд╛ рдФрд░ рджрд┐рд▓рдЪрд╕реНрдк рд╣реИред рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рд╕рдЯреАрдХ рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЖрдкрдХрд╛ рдЖрд╡реЗрджрди рдХрдм рдЗрдВрдЯрд░реИрдХреНрдЯрд┐рд╡ рд╣реЛ рдЧрдпрд╛, рдЕрд░реНрдерд╛рдд рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд▓рд┐рдП рд╕реБрд▓рдн рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдЕрдкреНрд░рддреНрдпрдХреНрд╖ рд░реВрдк рд╕реЗ
рд▓рдВрдмреЗ рд╕рдордп рдХреЗ рдЕрднрд╛рд╡ рд╕реЗ рд╕рдордЭрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:
@ Perf-tools / рдХреАрдкрд░ рдХреЗ рд▓рд┐рдП рдкреНрд░рджрд░реНрд╢рди рд╡рд┐рд╕реНрддрд╛рд░ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдгредрдЗрди рдореВрд▓ рдореИрдЯреНрд░рд┐рдХреНрд╕ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЖрдкрдХреА рдПрдкреНрд▓рд┐рдХреЗрд╢рди рддрддреНрдкрд░рддрд╛ рдореАрдЯреНрд░рд┐рдХ рднреА рдЖрд╡рд╢реНрдпрдХ рд╣реИ, рдЕрд░реНрдерд╛рдд рдЖрдкрдХреЗ рдХреЛрдб рдореЗрдВ рдХрд╣реАрдВ рдРрд╕рд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП:
Import { system } from '@perf-tools/keeper'; export function applicationBoot(el, data) { const app = new Application(el, data);
рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рджрд░
рдореИрдЯреНрд░рд┐рдХреНрд╕ рдХреЗ рд▓рд┐рдП рдПрдХ рдмрд╣реБрдд рдмрдбрд╝рд╛ рдХреНрд╖реЗрддреНрд░ рд╣реИ рдФрд░ рд╡реЗ рдмрд╣реБрдд рд╣реА рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдореИрдВ рдЙрди рджреЛ рдмреБрдирд┐рдпрд╛рджреА рд▓реЛрдЧреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░реВрдБрдЧрд╛ рдЬреЛ рдХрд┐рд╕реА рднреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рд╣реИрдВ, рдЬреИрд╕реЗ:
рдкреНрд░рдердо-рдШрдЯрдирд╛ -
рдкрд╣рд▓реА рдШрдЯрдирд╛ рдХрд╛ рд╕рдордп, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдкрд╣рд▓рд╛ рдХреНрд▓рд┐рдХ (рдЬрд╣рд╛рдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рд░реЛрдХрд╛ рдЧрдпрд╛ рд╣реИ), рдпрд╣ рдореАрдЯреНрд░рд┐рдХ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рд╕рднреА рдкреНрд░рдХрд╛рд░ рдХреЗ рдЦреЛрдЬ рдкрд░рд┐рдгрд╛рдореЛрдВ, рдЙрддреНрдкрд╛рджреЛрдВ рдХреА рд╕реВрдЪреА, рд╕рдорд╛рдЪрд╛рд░ рдлрд╝реАрдб рдЖрджрд┐ рдХреЗ рд▓рд┐рдП рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рд╣реИред рдЗрд╕рдХреЗ рд╕рд╛рде, рдЖрдк рдпрд╣ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдЖрдкрдХреА рдХреНрд░рд┐рдпрд╛рдУрдВ рд╕реЗ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╕рдордп рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХрд╛ рдкреНрд░рд╡рд╛рд╣ рдХреИрд╕реЗ рд╣реЛ (рдкрд░рд┐рд╡рд░реНрддрди: рдбрд┐рдЬрд╝рд╛рдЗрди / рдирдИ рд╕реБрд╡рд┐рдзрд╛рдПрдБ / рдЕрдиреБрдХреВрд▓рди рдЗрддреНрдпрд╛рджрд┐) рдкрд░рд┐рд╡рд░реНрддрди
@ Perf-tools / рдХреАрдкрд░ рдХреЗ рд▓рд┐рдП рдкреНрд░рджрд░реНрд╢рди рд╡рд┐рд╕реНрддрд╛рд░ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдгредрд╡рд┐рд▓рдВрдмрддрд╛ - рдХреБрдЫ рдШрдЯрдирд╛рдУрдВ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рддреЗ рд╕рдордп рджреЗрд░реА, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП:
click
,
input
,
submit
,
scroll
, рдЖрджрд┐ред
рджреЗрд░реА рдХреЛ рдорд╛рдкрдиреЗ рдХреЗ рд▓рд┐рдП, рдмрд╕
capture = true
рд╕рд╛рде
window
рдкрд░ рдИрд╡реЗрдВрдЯ рд╣реИрдВрдбрд▓рд░
requestAnimationFrame
рдФрд░
requestAnimationFrame
рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред рдЕрдВрддрд░ рдХреА рдЧрдгрдирд╛
requestAnimationFrame
рд▓рд┐рдП
requestAnimationFrame
, рдпрд╣ рджреЗрд░реА рд╣реЛрдЧреА:
window.addEventListener(eventType, ({target}) => { const start = now(); requestAnimationFrame(() => { const latency = now() - start; if (latency >= minLatency) {
рдЬрдм рдПрдХ рдХреНрд▓рд┐рдХ рдкрд░ рдПрдХ рдлрд╛рдЗрдмреЛрдиреИрдЪрд┐ рд╕рдВрдЦреНрдпрд╛ рдХреА рдЧрдгрдирд╛ рдХреА рдЬрд╛рддреА рд╣реИ рддреЛ @ perf-tools / keeper рдХреЗ рд▓рд┐рдП рдкреНрд░рджрд░реНрд╢рди рд╡рд┐рд╕реНрддрд╛рд░ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдгредрд╕реНрдХреНрд░реЙрд▓рд┐рдВрдЧ рдФрд░ рдПрдирд┐рдореЗрд╢рди рдХрд░рддреЗ рд╕рдордп рдПрдлрдкреАрдПрд╕
рдпрд╣ рд╕рдмрд╕реЗ рджрд┐рд▓рдЪрд╕реНрдк рдореАрдЯреНрд░рд┐рдХ рд╣реИ, рдЗрд╕реЗ рдЖрдорддреМрд░ рдкрд░
requestAnimationFrame
рдорд╛рдзреНрдпрдо рд╕реЗ рдорд╛рдкрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдпрджрд┐ рдЖрдкрдХреЛ рдирд┐рд░рдВрддрд░ рдПрдлрдкреАрдПрд╕ рдорд╛рдк рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рдХреНрд▓рд╛рд╕рд┐рдХ
рдПрдлрдкреАрдПрд╕рдореАрдЯрд░ рдХрд░реЗрдЧрд╛ (рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рдмрд╣реБрдд рдЖрд╢рд╛рд╡рд╛рджреА рд╣реИ)ред рдпрджрд┐ рдЖрдкрдХреЛ рдкреГрд╖реНрда рд╕реНрдХреНрд░реЙрд▓рд┐рдВрдЧ рдХреА рдЪрд┐рдХрдирд╛рдИ рдХреЛ рдорд╛рдкрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рдпрд╣ рдмрд┐рд▓реНрдХреБрд▓ рднреА рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ рдЙрд╕реЗ рд╡рд╛рд░реНрдо-рдЕрдк рдХреА рдЬрд░реВрд░рдд рд╣реИред рдФрд░ рдлрд┐рд░ рдореИрдВ рдПрдХ рдмрд╣реБрдд рд╣реА
рджрд┐рд▓рдЪрд╕реНрдк рддрд░реАрдХреЗ рд╕реЗ рдЖрдпрд╛ред
рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рд╣рдо рд╕рд┐рд░реНрдл рдПрдХ рдкрд╛рд░рджрд░реНрд╢реА div (1x1px) рдмрдирд╛рддреЗ рд╣реИрдВ,
transition: left 300ms linear
рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ
transition: left 300ms linear
рдФрд░ рдЗрд╕реЗ рдПрдХ рдХреЛрдиреЗ рд╕реЗ рджреВрд╕рд░реЗ рдХреЛрдиреЗ рдореЗрдВ рдЪрд▓рд╛рддреЗ рд╣реИрдВ, рдФрд░ рдпрд╣ рдПрдирд┐рдореЗрдЯ рдХрд░рддреЗ рд╣реБрдП,
requestAnimationFrame
рдорд╛рдзреНрдпрдо рд╕реЗ
requestAnimationFrame
рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдмрд╛рдИрдВ рдЬрд╛рдБрдЪ рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдпрджрд┐ рдирдИ рд▓рдВрдмрд╛рдИ рдкрд┐рдЫрд▓реЗ рдПрдХ рд╕реЗ рднрд┐рдиреНрди рд╣реЛрддреА рд╣реИ, рддреЛ рдлрд┐рд░ рдкреНрд░рджрд╛рди рдХрд┐рдП рдЧрдП рдлрд╝реНрд░реЗрдореЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рд╡реГрджреНрдзрд┐ рдХрд░реЗрдВ (рдЕрдиреНрдпрдерд╛ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рдПрдлрдкреАрдПрд╕ рдбреНрд░рд╛рдбрд╛рдЙрди рд╣реИ)ред
рдФрд░ рдпрд╣ рд╕рдм рдирд╣реАрдВ рд╣реИ, рдпрджрд┐ рдЖрдк рдПрдлрдПрдл рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдмрд╕
mozPaintCount рд╣реИ , рдЬреЛ рдкреНрд░рджрд╛рди рдХрд┐рдП рдЧрдП рдлрд╝реНрд░реЗрдо рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИ, рдЕрд░реНрдерд╛рддреНред рд╣рдореЗрдВ "рдбреАрдУ" рдпрд╛рдж рд╣реИ, рдФрд░
transitionend
рд╣рдо рдЕрдВрддрд░ рдХреА рдЧрдгрдирд╛ рдХрд░рддреЗ рд╣реИрдВред
рдХреБрд▓, рдмрд┐рдирд╛ рдХрд┐рд╕реА рд╡рд╛рд░реНрдо рдЕрдк рдХреЗ, рд╣рдо рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдлрд╝реНрд░реЗрдо рдХреЛ рдлрд┐рд░ рд╕реЗ рдмрдирд╛рддрд╛ рд╣реИ рдпрд╛ рдирд╣реАрдВред
рд╡реЗ рдЬрд▓реНрдж рд╣реА рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рдПрдкреАрдЖрдИ рдХрд╛ рд╡рд╛рджрд╛ рдХрд░рддреЗ рд╣реИрдВ:
http://wicg.imtqy.com/frame-timing/@ Perf-tools / рдХреАрдкрд░ рдХреЗ рд▓рд┐рдП рдПрдлрдкреАрдПрд╕ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдгредрд╕реНрдХреНрд░реЙрд▓рд┐рдВрдЧ рдЕрдиреБрдХреВрд▓рди:
- рд╕рд░рд▓рддрдо рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рд╕реНрдХреНрд░реЙрд▓ рдкрд░ рдХреБрдЫ рднреА рдирд╣реАрдВ рдХрд░рдирд╛ рд╣реИ, рдпрд╛
requestAnimationFrame
рдорд╛рдзреНрдпрдо рд╕реЗ рд╡рд┐рд▓рдВрдм рдирд┐рд╖реНрдкрд╛рджрди requestIdleCallback
ред - рдмрд╣реБрдд рд╕рд╛рд╡рдзрд╛рдиреА рд╕реЗ
pointer-events: none
рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ pointer-events: none
, рдЗрд╕реЗ рдЪрд╛рд▓реВ рдФрд░ рдмрдВрдж рдХрд░рдиреЗ рдХрд╛ рд╡рд┐рдкрд░реАрдд рдкреНрд░рднрд╛рд╡ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП pointer-events
рдФрд░ рдмрд┐рдирд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдП / рдмреА рдкреНрд░рдпреЛрдЧ рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рд╣реИ; - рд╡рд░реНрдЪреБрдЕрд▓рд╛рдЗрдЬреНрдб рд╕реВрдЪрд┐рдпреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдордд рднреВрд▓рдирд╛, рд▓рдЧрднрдЧ рд╕рднреА рджреГрд╢реНрдп рдЗрдВрдЬрдиреЛрдВ рдореЗрдВ рдЕрдм рдРрд╕реЗ рдШрдЯрдХ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдлрд┐рд░ рд╕реЗ, рд╕рд╛рд╡рдзрд╛рди рд░рд╣реЗрдВ, рдРрд╕реА рд╕реВрдЪреА рдХреЗ рддрддреНрд╡ рдпрдерд╛рд╕рдВрднрд╡ рд╕рд░рд▓ рд╣реЛрдиреЗ рдЪрд╛рд╣рд┐рдП рдпрд╛ "рдбрдореАрдЬрд╝" рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ рдЬреЛ рд╕реНрдХреНрд░реЙрд▓рд┐рдВрдЧ рдкреВрд░реА рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж рд╡рд╛рд╕реНрддрд╡рд┐рдХ рддрддреНрд╡реЛрдВ рдХреЗ рд╕рд╛рде рдмрджрд▓ рджрд┐рдП рдЬрд╛рдПрдВрдЧреЗред рдпрджрд┐ рдЖрдк рд╕реНрд╡рдпрдВ рдПрдХ рд╡рд░реНрдЪреБрдЕрд▓рд╛рдЗрдЬреНрдб рд╕реВрдЪреА рд▓рд┐рдЦрддреЗ рд╣реИрдВ, рддреЛ рдХреЛрдИ рдЖрдВрддрд░рд┐рдХ HTML рдФрд░ DOM рдкреБрдирд░реНрдЪрдХреНрд░рдг рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдордд рднреВрд▓рдирд╛ (рдпрд╣ рддрдм рд╣реИ рдЬрдм рдЖрдк рд╣рд░ рдЫреАрдВрдХ рдХреЗ рд▓рд┐рдП DOM рддрддреНрд╡ рдирд╣реАрдВ рдмрдирд╛рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЙрдирдХрд╛ рдкреБрди: рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ)ред
рдЖрд╡реЗрджрди рдЖрд░рдВрднреАрдХрд░рдг
рдХреЗрд╡рд▓ рдПрдХ рдирд┐рдпрдо рд╣реИ: рд╡рд┐рд╕реНрддрд╛рд░ рддрд╛рдХрд┐ рдЖрдк рдареАрдХ рд╕реЗ рдЬрд╡рд╛рдм рджреЗ рд╕рдХреЗрдВ рдХрд┐ рдЖрд╡реЗрджрди рдХреЛ рдЕрдВрддрд┐рдо рд▓реЙрдиреНрдЪ рддрдХ рд╢реБрд░реВ рдХрд░рдиреЗ рд╕реЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХрд┐рддрдирд╛ рд╕рдордп рд▓рдЧрд╛ рд╣реИред рдирддреАрдЬрддрди, рдЖрдкрдХреЛ рдХрдо рд╕реЗ рдХрдо рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдореИрдЯреНрд░рд┐рдХреНрд╕ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП:
- рдкреНрд░рддреНрдпреЗрдХ рд╡реНрдпрд╕рди рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдореЗрдВ рдХрд┐рддрдирд╛ рд╕рдордп рд▓рдЧрд╛;
- рдЖрд╡реЗрджрди рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдФрд░ рдбреЗрдЯрд╛ рддреИрдпрд╛рд░ рдХрд░рдиреЗ рдХрд╛ рд╕рдордп;
- рдмреНрд▓реЙрдХ рджреНрд╡рд╛рд░рд╛ рд╡рд┐рд╡рд░рдг рдХреЗ рд╕рд╛рде рдЖрд╡реЗрджрди рдкреНрд░рд╕реНрддреБрдд рдХрд░рдирд╛ред
рдпрд╛рдиреА рдЖрдЙрдЯрдкреБрдЯ рдкрд░, рдЖрдкрдХреЛ рдРрд╕реЗ рдореЗрдЯреНрд░рд┐рдХреНрд╕ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдЪрд╛рд╣рд┐рдП, рдЬрд┐рдирдХреЗ рджреНрд╡рд╛рд░рд╛ рдЖрдк рдареАрдХ-рдареАрдХ рдкрддрд╛ рд▓рдЧрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдЖрдкрдХрд╛ рдбреНрд░рд╛рдбрд╛рдЙрди рдХрд┐рд╕ рдЪрд░рдг рдореЗрдВ рдЪрд▓ рд░рд╣рд╛ рд╣реИред
рдХрд╛рдо рдХрд╛ рдЙрджрд╛рд╣рд░рдгрдХрдВрд╕реЛрд▓
рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХрд╛ рд╕рдордп 
рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрд╕рдкреАрдП рд╣реИ, рддреЛ рдЖрдкрдХреЛ рд░реВрдЯрд┐рдВрдЧ рд╕рдордп рдХреЛ рдорд╛рдкрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдПрдХ рдкреВрд░реЗ рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рджрд░реНрд╢рди (рдПрдХ рдорд╛рд░реНрдЧ рдкрд░ рдкрд╛рд░рдЧрдорди рд╕рдордп) рдХреЗ рдореВрд▓реНрдпрд╛рдВрдХрди рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рдореАрдЯреНрд░рд┐рдХ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рд▓реЗрдХрд┐рди рдкреНрд░рддреНрдпреЗрдХ рдорд╛рд░реНрдЧ рдХреЗ рд▓рд┐рдП рдПрдХ рдореАрдЯреНрд░рд┐рдХ рд╣реЛрдирд╛ рднреА рдЖрд╡рд╢реНрдпрдХ рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ "рдереНрд░реЗрдбреНрд╕ рдХреА рд╕реВрдЪреА", "рдПрдХ рдзрд╛рдЧрд╛ рдкрдврд╝рдирд╛," рдЦреЛрдЬ ", рдЖрджрд┐) рдбреАред), рдореАрдЯреНрд░рд┐рдХ рдХреЛ рд╣реА рдореАрдЯреНрд░рд┐рдХ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП:
- рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ (рдЬрд┐рд╕рдореЗрдВ рд╕реЗ рдПрдХ рдЯреВрдЯрдиреЗ рдХреЗ рд╕рд╛рде)
- рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг
- рдЕрджреНрдпрддрди
- рдкреНрд░рд╕реНрддреБрдд рдХрд░рдирд╛
- рдХреБрд▓ рдЖрд╡реЗрджрди
- рдмреНрд▓реЙрдХ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╣рдорд╛рд░реЗ рд╕рд╛рде, рдпрд╣ рд╣реЛрдЧрд╛: "рд╡рд╛рдо рдХреЙрд▓рдо" (рдЙрд░реНрдл "рдлрд╝реЛрд▓реНрдбрд░реНрд╕ рдХреА рд╕реВрдЪреА"), "рд╕реНрдорд╛рд░реНрдЯ рдЦреЛрдЬ рдмрд╛рд░", "рдЕрдХреНрд╖рд░реЛрдВ рдХреА рд╕реВрдЪреА" рдФрд░ рдЗрд╕реА рддрд░рд╣)
рдЗрд╕ рд╕рдм рдХреЗ рдмрд┐рдирд╛, рдпрд╣ рд╕рдордЭрдирд╛ рдЕрд╕рдВрднрд╡ рд╣реИ рдХрд┐ рд╕рдорд╕реНрдпрд╛рдПрдВ рдХрд╣рд╛рдБ рд╕реЗ рд╢реБрд░реВ рд╣реЛрддреА рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдХрдИ рдореЙрдбреНрдпреВрд▓ рд╣реИрдВ рдЬреЛ рд╕рдордп рдХреЗ рд╕рд╛рде рдмреЙрдХреНрд╕ рд╕реЗ рдмрд╛рд╣рд░ рд╣реИрдВ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХреНрд╕рдПрдЪрдЖрд░ рдХреЗ рд▓рд┐рдП рдПрдХ рд╣реА рдореЙрдбреНрдпреВрд▓ рдореЗрдВ
endTime
рдФрд░
endTime
, рдЬреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рд▓реЙрдЧ рд╣реЛрддреЗ рд╣реИрдВ)ред
рд▓реЗрдХрд┐рди рдпреЗ рдореАрдЯреНрд░рд┐рдХ рдкрд░реНрдпрд╛рдкреНрдд рд░реВрдк рд╕реЗ рдпрд╣ рдЖрдХрд▓рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рдирд╣реАрдВ рд╣реИрдВ рдХрд┐ рдХреНрдпрд╛ рд╣реЛ рд░рд╣рд╛ рд╣реИред рд╡реЗ рдмрд╣реБрдд рд╕рд╛рдорд╛рдиреНрдп рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рд╣рдо рдПрд╕рдкреАрдП рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЗ рдкрд╛рд╕ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдХреБрдЫ рдкреНрд░рдХрд╛рд░ рдХреЗ рд░рдирдЯрд╛рдЗрдо рдХреИрд╢ рд╣реИрдВ (рдЗрд╕рд▓рд┐рдП рдпрджрд┐ рдЖрдк рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╡рд╣рд╛рдВ рдЧрдП рд╣реИрдВ рддреЛ рд╕рд░реНрд╡рд░ рдкрд░ рдлрд┐рд░ рд╕реЗ рди рдЬрд╛рдПрдВ), рдЗрд╕рд▓рд┐рдП рд╣рдорд╛рд░реЗ рдореЗрдЯреНрд░рд┐рдХреНрд╕ рдХреЛ рдЖрдЧреЗ рдХреИрд╢ рдХреЗ рд╕рд╛рде рдФрд░ рдмрд┐рдирд╛ рд░реВрдЯ рдХрд┐рдП рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдлрд┐рд░ рднреА, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╣рдо рдореАрдЯреНрд░рд┐рдХ рдХреЛ рдЙрд╕рдореЗрдВ рд╕рдВрд╕реНрдерд╛рдУрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рд╕реЗ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рддреЗ рд╣реИрдВред рджреВрд╕рд░реЗ рд╢рдмреНрджреЛрдВ рдореЗрдВ, рдЖрдк рдПрдХ рдореАрдЯреНрд░рд┐рдХ рдореЗрдВ 1, 5, 10 рдпрд╛ 100+ рдЕрдХреНрд╖рд░реЛрдВ рдХреЗ рд╕рд╛рде "рдереНрд░реЗрдб" рджреГрд╢реНрдп рдирд╣реАрдВ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдХреЛрдИ рд╕реВрдЪреА рдкреНрд░рджрд░реНрд╢рд┐рдд рд╣реИ, рддреЛ рдЖрдкрдХреЛ рдмреНрд░реЗрдХрдкреЙрдЗрдВрдЯ рдХрд╛ рдЪрдпрди рдХрд░рдиреЗ рдФрд░ рдореАрдЯреНрд░рд┐рдХ рдХреЛ рдЕрд▓рдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рдореЗрдореЛрд░реА рдФрд░ рдЯреНрд░реИрдлрд╝рд┐рдХ рдХреА рдЦрдкрдд
рд╕реНрдореГрддрд┐ рд╕реЗ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ ред рдФрд░ рдпрд╣рд╛рдБ рд╣рдо рдПрдХ рдмрдбрд╝реА рдирд┐рд░рд╛рд╢рд╛ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдлрд┐рд▓рд╣рд╛рд▓ рдЧреИрд░-рдорд╛рдирдХреАрдХреГрдд (рдХреЗрд╡рд▓ рдХреНрд░реЛрдо) рдкреНрд░рджрд░реНрд╢рди рд╣реИред рдпрд╣ рд╣рд╛рд╕реНрдпрд╛рд╕реНрдкрдж рд░реВрдк рд╕реЗ рдХрдо рд╕рдВрдЦреНрдпрд╛ рджреЗрддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдлрд┐рд░ рднреА рдЙрдиреНрд╣реЗрдВ рдорд╛рдкрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рджреЗрдЦрдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рд╕рдордп рдХреЗ рд╕рд╛рде "рдкреНрд░рд╡рд╛рд╣" рдХреИрд╕реЗ рд╣реЛрддрд╛ рд╣реИ:
@ Perf-tools / рдХреАрдкрд░ рдХреЗ рд▓рд┐рдП рдореЗрдореЛрд░реА рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдгрдпрд╛рддрд╛рдпрд╛рддред рдЯреНрд░реИрдлрд╝рд┐рдХ рдХреА рдЧрдгрдирд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ
рдЯрд╛рдЗрдорд┐рдВрдЧ-рдЕрдиреБрдорддрд┐-рдЙрддреНрдкрддреНрддрд┐ (рдпрджрд┐ рд╕рдВрд╕рд╛рдзрди рдПрдХ рдЕрд▓рдЧ рдбреЛрдореЗрди рдореЗрдВ рд╕реНрдерд┐рдд рд╣реИрдВ) рдФрд░
рд╕рдВрд╕рд╛рдзрди рдЯрд╛рдЗрдорд┐рдВрдЧ рдПрдкреАрдЖрдИ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА, рдпрд╣ рди рдХреЗрд╡рд▓ рдЯреНрд░реИрдлрд╝рд┐рдХ рдХреА рдЧрдгрдирд╛ рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░реЗрдЧрд╛, рдмрд▓реНрдХрд┐ рдЗрд╕реЗ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рднреА рдмрддрд╛рдПрдЧрд╛:
- рдХреНрдпрд╛ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ (HTTP / 1, HTTP / 2, рдЖрджрд┐);
- рд▓реЛрдб рдХрд┐рдП рдЧрдП рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЗ рдкреНрд░рдХрд╛рд░;
- рдЙрдиреНрд╣реЗрдВ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдореЗрдВ рдХрд┐рддрдирд╛ рд╕рдордп рд▓рдЧрд╛;
- рдЖрдХрд╛рд░, рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЖрдк рд╕рдордЭ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рд╕рдВрд╕рд╛рдзрди рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ рд▓реЛрдб рд╣реИ рдпрд╛ рдХреИрд╢ рд╕реЗ рд▓рд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
@ Perf-tools / рдХреАрдкрд░ рдХреЗ рд▓рд┐рдП рд╕рдВрд╕рд╛рдзрди рд╡рд┐рд╕реНрддрд╛рд░ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдгредрдЯреНрд░реИрдлрд┐рдХ рдХрд╛рдЙрдВрдЯ рдХреНрдпрд╛ рджреЗрддрд╛ рд╣реИ?
- рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рдпрд╣ рдЖрдкрдХреЛ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рддрд╕реНрд╡реАрд░ рджреЗрдЦрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рди рдХрд┐ рд╕реАрдПрд╕рдПрд╕ + рдЬреЗрдПрд╕ рдХреЗ рд╕рд╛рде рдФрд░ рдЙрд╕рд╕реЗ рдкрд░реЗ, рдпрд╣ рдХреИрд╕реЗ "рддрд╕реНрд╡реАрд░" рд╕рдордп рдХреЗ рд╕рд╛рде рдмрджрд▓рддреА рд╣реИред
- рдлрд┐рд░ рдЖрдк рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреНрдпрд╛ рд▓реЛрдб рд╣реИ, рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЛ рд╕рдореВрд╣реЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░реЗрдВ, рдЖрджрд┐ред
- рдЖрдкрдХреЗ рд▓рд┐рдП рдХреИрд╢рд┐рдВрдЧ рдХрд┐рддрдирд╛ рдЕрдЪреНрдЫрд╛ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
- рдХреНрдпрд╛ рдХреЛрдИ рд╡рд┐рд╕рдВрдЧрддрд┐рдпрд╛рдВ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдСрдкрд░реЗрд╢рди рдХреЗ 15 рдорд┐рдирдЯ рдмрд╛рдж, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХреЛрдб рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдореЗрдВ рдЪрд▓рд╛ рдЧрдпрд╛ рдФрд░ рдХреБрдЫ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЛ рдЕрдВрддрд╣реАрди рд░реВрдк рд╕реЗ рд▓реЛрдб рдХрд░рддрд╛ рд╣реИ, рдпрд╛рддрд╛рдпрд╛рдд рдХреА рдирд┐рдЧрд░рд╛рдиреА рдореЗрдВ рдорджрдж рдорд┐рд▓реЗрдЧреАред
рдЦреИрд░, рдЗрд╕ рд╡рд┐рд╖рдп рдкрд░ рдореЗрд░реЗ рд╕рд╣рдпреЛрдЧреА
рдЗрдЧреЛрд░ рдбреНрд░реВрдЬрд╝рд┐рдирд┐рди рдХреА рдПрдХ рдХреИрдЪ-рдЕрдк рд░рд┐рдкреЛрд░реНрдЯ:
рдЖрд╡реЗрджрди рдХреА рдЧреБрдгрд╡рддреНрддрд╛ рдХрд╛ рдореВрд▓реНрдпрд╛рдВрдХрди :
рдирд┐рдЧрд░рд╛рдиреА рдЦрдкрддрдПрдирд╛рд▓рд┐рдЯрд┐рдХреНрд╕
рд╣рдо рдореИрдЯреНрд░рд┐рдХреНрд╕ рд╕реЗрдЯ рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдлрд┐рд░ рдХреНрдпрд╛? рдФрд░ рдлрд┐рд░ рдЙрдиреНрд╣реЗрдВ рдХрд╣реАрдВ рднреЗрдЬрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдФрд░ рдпрд╣рд╛рдВ рдпрд╛ рддреЛ рдЖрдк
рд╕реЗ рдХреБрдЫ
рдЧреНрд░реЗрдлрд╛рдЗрдЯ рд▓реЗрддреЗ рд╣реИрдВ , рдпрд╛ рд╢реБрд░реБрдЖрдд рдХреЗ рд▓рд┐рдП, рдЖрдк рд╡реНрдпрдХреНрддрд┐рдЧрдд рд▓рд╛рдн рдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛ рдПрдХрддреНрд░реАрдХрд░рдг рдХреЗ рд▓рд┐рдП
Google Analytics рдпрд╛ рд╕рдорд╛рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдФрд░ рдпрд╣ рдордд рднреВрд▓реЛ, рдпрд╣ рдХреЗрд╡рд▓ рдПрдХ рд╢реЗрдбреНрдпреВрд▓ рдкрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рдирд╣реАрдВ рд╣реИ, рд╕рднреА рдорд╣рддреНрд╡рдкреВрд░реНрдг рдореИрдЯреНрд░рд┐рдХреНрд╕ рдХреЗ рд▓рд┐рдП рдкреНрд░рддрд┐рд╢рдд рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдЬреЛ рдЖрдкрдХреЛ рд╕рдордЭрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд╛ рдХрд┐рддрдирд╛ рдкреНрд░рддрд┐рд╢рдд рджрд░реНрд╢рдХ <1s, <2s, <3s, 5s, 5s + рдЖрджрд┐ рдХреЗ рд▓рд┐рдП рд▓реЛрдб рдХрд░ рд░рд╣рд╛ рд╣реИред
рдЙрдЪреНрдЪ-рдкреНрд░рджрд░реНрд╢рди рдХреЛрдб рд▓рд┐рдЦрдирд╛
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдореИрдВ рдпрд╣рд╛рдБ рдХреБрдЫ рд╕рд╛рд░реНрдердХ рд▓рд┐рдЦрдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛, рд╡реЗ рдХрд╣рддреЗ рд╣реИрдВ рдХрд┐ WebWorker рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ,
requestIdleCallback
рдпрд╛ рдХреБрдЫ рд╡рд┐рджреЗрд╢реА рдордд рднреВрд▓рдирд╛, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, SharedWorker рдпрд╛ ServiceWorker рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдЯреИрдм рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд░рдирдЯрд╛рдЗрдо рдХреИрд╢ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ (рдЬреЛ рдХреЗрд╡рд▓ рдХреИрд╢рд┐рдВрдЧ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд╣реАрдВ рд╣реИ, рдпрджрд┐ рд╡рд╣ рд╣реИ)ред рд▓реЗрдХрд┐рди рдпрд╣ рд╕рдм рдмрд╣реБрдд рд╕рд╛рд░ рд╣реИ, рдФрд░ рдХрдИ рд╡рд┐рд╖рдпреЛрдВ рдХреЛ рдЕрд╕рдВрднрд╡рддрд╛ рдХреЗ рд▓рд┐рдП рдкреАрдЯрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдмрд╕ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд▓рд┐рдЦреЗрдВ:
- рдкреНрд░рд╛рд░рдВрдн рдореЗрдВ рдЕрдкрдиреЗ рдХреЛрдб рдХреЛ рдореАрдЯреНрд░рд┐рдХ рдХреЗ рд╕рд╛рде рдХрд╡рд░ рдХрд░реЗрдВ рдЬреЛ рдЗрд╕рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдХреЛ рдорд╛рдкреЗрдЧрд╛ред
- Jsperf рд╡рд╛рд▓реЗ рдорд╛рдирджрдВрдб рдкрд░ рд╡рд┐рд╢реНрд╡рд╛рд╕ рди рдХрд░реЗрдВред рдЙрдирдореЗрдВ рд╕реЗ рдЕрдзрд┐рдХрд╛рдВрд╢ рдХреЛ рдЦрд░рд╛рдм рддрд░реАрдХреЗ рд╕реЗ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИ, рдФрд░ рдмрд╕ рд╕рдВрджрд░реНрдн рд╕реЗ рдмрд╛рд╣рд░ рд▓реЗ рдЬрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред рд╕рд░реНрд╡рд╢реНрд░реЗрд╖реНрда рдмреЗрдВрдЪрдорд╛рд░реНрдХ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдкрд░ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдореАрдЯреНрд░рд┐рдХ рд╣реИ, рдЬрд┐рд╕рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдЖрдк рдЕрдкрдиреЗ рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рдкреНрд░рднрд╛рд╡ рджреЗрдЦреЗрдВрдЧреЗред
- рдЙрддреНрдкрд╛рджрдХрддрд╛, рдпрд╛ рдмрд▓реНрдХрд┐ рд╡реЗрдмрд░-рдлреЗрдЪрдирд░ рдХрд╛рдиреВрди рдХреА рдзрд╛рд░рдгрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдпрд╛рдж рд░рдЦреЗрдВред рдЕрд░реНрдерд╛рддреН, рдпрджрд┐ рдЖрдкрдиреЗ рдЕрдиреБрдХреВрд▓рди рд╢реБрд░реВ рдХрд┐рдпрд╛ рд╣реИ, рддреЛ рдмрджрд▓рд╛рд╡реЛрдВ рдХреЛ рддрдм рддрдХ рд░реЛрд▓ рдЖрдЙрдЯ рди рдХрд░реЗрдВ рдЬрдм рддрдХ рдХрд┐ рдпрд╣ рдХрдо рд╕реЗ рдХрдо 20% рддрдХ рдмреЗрд╣рддрд░ рди рд╣реЛ рдЬрд╛рдП, рдЕрдиреНрдпрдерд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдмрд╕ рдиреЛрдЯрд┐рд╕ рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗред рдХрд╛рдиреВрди рд╡рд┐рдкрд░реАрдд рджрд┐рд╢рд╛ рдореЗрдВ рднреА рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
- рднрдп рдирд┐рдпрдорд┐рдд, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЙрддреНрдкрдиреНрдиред рд╡реЗ рди рдХреЗрд╡рд▓ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЛ рд▓рдЯрдХрд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдмрд▓реНрдХрд┐ рдПрдХреНрд╕рдПрд╕рдПрд╕ рднреА рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдпрд╣реА рдХрд╛рд░рдг рд╣реИ рдХрд┐ рд╣рдорд╛рд░реЗ рдореЗрд▓ рдореЗрдВ рдХреЗрд╡рд▓ рдЙрдирдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ HTML рдХреЛ рдкрд╛рд░реНрд╕ рдХрд░рдиреЗ рд╕реЗ рдордирд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдХреЗрд╡рд▓ рдПрдХ рдбреЛрдо рдмрд╛рдИрдкрд╛рд╕ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗред
- рдЖрдкрдХреЛ рдПрдХ рдпрд╛ рдХрд┐рд╕реА рдЕрдиреНрдп рд╕рдореВрд╣ рдореЗрдВ рдорд╛рди рджрд░реНрдЬ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд░рдгрд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ
object
рдпрд╛ Set
(рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, successSteps.includes(currentStep)
рдЬрд░реВрд░реА successSteps.includes(currentStep)
рдХрд┐ рдЙрд╕рдХреЗ successSteps.hasOwnProperty(currentStep)
), O (1) рд╕рдм рдХреБрдЫ рд╣реИред - рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ "рд╕рдордпрдкреВрд░реНрд╡ рдЕрдиреБрдХреВрд▓рди рд╕рднреА рдмреБрд░рд╛рдЗрдпреЛрдВ рдХреА рдЬрдбрд╝ рд╣реИ" рдЬреЛ рдХреБрдЫ рднреА рдЖрдк рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдЙрд╕реЗ рд▓рд┐рдЦрдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд╣реАрдВ рд╣реИред рдпрджрд┐ рдЖрдк рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдХреИрд╕реЗ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╣реИ, рддреЛ рдмреЗрд╣рддрд░ рдврдВрдЧ рд╕реЗ рд▓рд┐рдЦреЗрдВред
рдореИрдВ рдХреЛрдб рдФрд░ рдЗрд╕рдХреЗ рдЕрдиреБрдХреВрд▓рди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рджреЛ рдкреИрд░рд╛рдЧреНрд░рд╛рдл рд▓рд┐рдЦреВрдВрдЧрд╛рдбреЛрдоред рдмрд╣реБрдд рдмрд╛рд░ рдореИрдВ "рдбреЛрдо рдореЗрдВ рд╕рдорд╕реНрдпрд╛" рд╕реБрдирддрд╛ рд╣реВрдВ - рдпрд╣, рдмрд┐рд▓реНрдХреБрд▓ рд╕рдЪ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рджреЗрдЦрддреЗ рд╣реБрдП рдХрд┐ рд▓рдЧрднрдЧ рд╕рднреА рдХреЛ рдЕрдм рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрддрд╛ рдирд╣реАрдВ рд╣реИред рдпрд╣ рд╡рд╣ рд╣реИ рдЬреЛ рдЕрдбрд╝рдЪрди рдмрди рдЬрд╛рддрд╛ рд╣реИ, рдпрд╛ рдмрд▓реНрдХрд┐ рдЖрдкрдХрд╛ рдХреЛрдб, рдЬреЛ рджреГрд╢реНрдп рдФрд░ рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рддрд░реНрдХ рдХреЗ рдЧрдарди рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИред
рд▓реЗрдХрд┐рди рдЕрдЧрд░ рд╣рдо DOM рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, DOM рд╕реЗ рдПрдХ рдЯреБрдХрдбрд╝рд╛ рд╣рдЯрд╛рдиреЗ рдХреЗ рдмрдЬрд╛рдп, рдЗрд╕реЗ рдЫрд┐рдкрд╛рдирд╛ рдпрд╛ рдбрд┐рдЯреИрдЪ рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рд╣реИред рдпрджрд┐ рдЖрдкрдХреЛ рдЕрднреА рднреА рд╣рдЯрд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рдпрд╣ рдСрдкрд░реЗрд╢рди
requestIdleCallback
(рдпрджрд┐ рд╕рдВрднрд╡ рд╣реЛ) рдореЗрдВ рдХрд░реЗрдВ, рдпрд╛ рд╡рд┐рдирд╛рд╢ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рджреЛ рдЪрд░рдгреЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░реЗрдВ: рддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рдФрд░ рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХред
рдореИрдВ рддреБрд░рдВрдд рдЖрд░рдХреНрд╖рдг рдХрд░реВрдБрдЧрд╛, рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХрд╛ рдмреБрджреНрдзрд┐рдорд╛рдиреА рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ, рдЕрдиреНрдпрдерд╛ рдЖрдк рдЕрдкрдиреЗ рдШреБрдЯрдиреЗ рдкрд░ рдЧреЛрд▓реА рдорд╛рд░ рд╕рдХрддреЗ рд╣реИрдВред
рд╣рдо рд╕реВрдЪрд┐рдпреЛрдВ рдкрд░ рдПрдХ рдФрд░ рджрд┐рд▓рдЪрд╕реНрдк рддрдХрдиреАрдХ рдХрд╛ рднреА рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, "рдереНрд░реЗрдбреНрд╕ рдХреА рд╕реВрдЪреА"ред рддрдХрдиреАрдХ рдХрд╛ рд╕рд╛рд░ рдпрд╣ рд╣реИ рдХрд┐ рдПрдХ рд╡реИрд╢реНрд╡рд┐рдХ "рд╕реВрдЪреА" рдХреЗ рдмрдЬрд╛рдп рдФрд░ рдЗрд╕рдХреЗ рдбреЗрдЯрд╛ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рдкреНрд░рддреНрдпреЗрдХ "рдлрд╝реЛрд▓реНрдбрд░" рдХреЗ рд▓рд┐рдП "рдереНрд░реЗрдбреНрд╕ рдХреА рд╕реВрдЪреА" рдЙрддреНрдкрдиреНрди рдХрд░рддреЗ рд╣реИрдВред рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рдЬрдм рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ "рдлрд╝реЛрд▓реНрдбрд░" рдХреЗ рдмреАрдЪ рдиреЗрд╡рд┐рдЧреЗрдЯ рдХрд░рддрд╛ рд╣реИ, рддреЛ рдПрдХ рд╕реВрдЪреА DOM (рд╣рдЯрд╛рдП рдирд╣реАрдВ) рд╕реЗ рд╣рдЯрд╛ рджреА рдЬрд╛рддреА рд╣реИ, рдФрд░ рджреВрд╕рд░реЗ рдХреЛ рдЖрдВрд╢рд┐рдХ рд░реВрдк рд╕реЗ рдпрд╛ рдмрд┐рд▓реНрдХреБрд▓ рднреА рдЕрдкрдбреЗрдЯ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдФрд░ рд╕рднреА рдирд╣реАрдВ, рдЬреИрд╕рд╛ рдХрд┐ "рдПрдХрд▓ рд╕реВрдЪреА" рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рд╣реИред
рдпрд╣ рд╕рдм рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рддреНрд╡рд░рд┐рдд рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рджреЗрддрд╛ рд╣реИред
рдЧрдгрд┐рддред рд╣рдо рд╡рд░реНрдХрд░ рдпрд╛ WebAssembly рдореЗрдВ рд╕рднреА рдЧрдгрд┐рдд рдХреЛ рдЖрд╕рд╛рдиреА рд╕реЗ рд╣рдЯрд╛ рджреЗрддреЗ рд╣реИрдВ, рдпрд╣ рд▓рдВрдмреЗ рд╕рдордп рд╕реЗ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИред
рдЯреНрд░рд╛рдВрд╕рдкреНрд▓рд╛рдпрд░ ред рдУрд╣, рдХрдИ рд▓реЛрдЧ рдпрд╣ рднреА рдирд╣реАрдВ рд╕реЛрдЪрддреЗ рд╣реИрдВ рдХрд┐ рдЬреЛ рдХреЛрдб рд╡реЗ рд▓рд┐рдЦрддреЗ рд╣реИрдВ рд╡рд╣ рдЯреНрд░рд╛рдВрд╕рдкрд┐рд▓рд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЬрд╛рддрд╛ рд╣реИред рд╣рд╛рдВ, рд╡реЗ рдЙрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╡рд╣ рд╕рдм рдХреБрдЫ рд╣реИ рд▓реЗрдХрд┐рди рд╡рд╣ рдЙрди рдмрд╛рддреЛрдВ рдореЗрдВ рдмрджрд▓ рдЬрд╛рддрд╛ рд╣реИ рдЬрд┐рдирдХреА рдЙрдиреНрд╣реЗрдВ рдХреЛрдИ рдкрд░рд╡рд╛рд╣ рдирд╣реАрдВ рд╣реИред рджрд░рдЕрд╕рд▓, DevTools рдореЗрдВ рд╡реЗ рд╕реНрд░реЛрдд рдорд╛рдирдЪрд┐рддреНрд░ рдХрд╛ рдкрд░рд┐рдгрд╛рдо рджреЗрдЦрддреЗ рд╣реИрдВред
рдЗрд╕рд▓рд┐рдП, рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдЙрдкрдХрд░рдгреЛрдВ рдХрд╛ рдЕрдзреНрдпрдпрди рдХрд░реЗрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП,
рдЦреЗрд▓ рдХреЗ
рдореИрджрд╛рди рдореЗрдВ рдПрдХ рд╣реА рдмреИрдмреЗрд▓ рдХреЛ рдпрд╣ рджреЗрдЦрдиреЗ рдХрд╛ рдЕрд╡рд╕рд░ рдорд┐рд▓рддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЪрдпрдирд┐рдд рдкреНрд░реАрд╕реЗрдЯ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдХреЛрдб рдХреНрдпрд╛ рдЙрддреНрдкрдиреНрди рдХрд░рддрд╛ рд╣реИ, рдмрд╕ рдЙрд╕реА
yeild
,
await
рдпрд╛ рдЗрд╕рдХреЗ
for of
ред
рдЬреАрдн рдХреА рд╕реВрдХреНрд╖реНрдорддрд╛ ред рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдХрдо рд▓реЛрдЧреЛрдВ рдХреЛ рдХреЛрдб рдХреЗ рдореЛрдиреЛрдореЛрд░реНрдлрд┐рдЬреНрдо рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрддрд╛ рд╣реИ, рдпрд╛
handleEvent
рдХреНрдпреЛрдВ рдмрд╛рдВрдзрдирд╛ рдзреАрдорд╛ рд╣реИ рдФрд░ ... рдЖрдк рдЖрдЦрд┐рд░рдХрд╛рд░
handleEvent
рдЙрдкрдпреЛрдЧ
handleEvent
!
рдбреЗрдЯрд╛ рдФрд░ рдкреНрд░реАрдХреНрд░реЗрд╢рд┐рдВрдЧ ред рдХрдо рдЕрдиреБрд░реЛрдз, рдЕрдзрд┐рдХ рдХреИрд╢рд┐рдВрдЧред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдмрд╣реБрдд рдмрд╛рд░ рд╣рдо "рджреВрд░рджрд░реНрд╢рд┐рддрд╛" рдХреА рддрдХрдиреАрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рдпрд╣ рддрдм рд╣реЛрддрд╛ рд╣реИ рдЬрдм рдкреГрд╖реНрдарднреВрдорд┐ рдореЗрдВ рд╣рдо рдбреЗрдЯрд╛ рд▓реЛрдб рдХрд░рддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, "рдереНрд░реЗрдб рд▓рд┐рд╕реНрдЯ" рдХреЛ рдкреНрд░рд╕реНрддреБрдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рд╣рдо рд╡рд░реНрддрдорд╛рди "рдлрд╝реЛрд▓реНрдбрд░" рдореЗрдВ рдПрди-рдЕрдкрдард┐рдд рдереНрд░реЗрдб рд▓реЛрдб рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ, рддрд╛рдХрд┐ рдЬрдм рдЖрдк рдЙрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ, рддреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рддреБрд░рдВрдд "рд░реАрдб" рдкрд░ рд╕реНрд╡рд┐рдЪ рд╣реЛ, рдФрд░ рдПрдХ рдФрд░ "рд▓реЛрдбрд░" рди рд╣реЛред рд╣рдо рди рдХреЗрд╡рд▓ рдбреЗрдЯрд╛ рдХреЗ рд▓рд┐рдП, рдмрд▓реНрдХрд┐ JS рдХреЗ рд▓рд┐рдП рднреА рдПрдХ рд╕рдорд╛рди рддрдХрдиреАрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, "рдПрдХ рдкрддреНрд░ рд▓рд┐рдЦрдирд╛" рдПрдХ рдмрд╣реБрдд рдмрдбрд╝рд╛ рдмрдВрдбрд▓ рд╣реИ (рд╕рдВрдкрд╛рджрдХ рдХреА рд╡рдЬрд╣ рд╕реЗ), рдФрд░ рд╕рднреА рд▓реЛрдЧ рдПрдХ рд╕рд╛рде рдкрддреНрд░ рдирд╣реАрдВ рд▓рд┐рдЦрддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рд╣рдо рдЗрд╕реЗ рдЖрд╡реЗрджрди рд╢реБрд░реВ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж рдкреГрд╖реНрдарднреВрдорд┐ рдореЗрдВ рд▓реЛрдб рдХрд░рддреЗ рд╣реИрдВред
Lowderред рдореБрдЭреЗ рдкрддрд╛ рдирд╣реАрдВ рдХреНрдпреЛрдВ, рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ рдЙрди рд▓реЗрдЦреЛрдВ рдХреЛ рдирд╣реАрдВ рджреЗрдЦрд╛ рдЬреЛ рд╕рд┐рдЦрд╛рддрд╛ рдерд╛ рдХрд┐ рдХреИрд╕реЗ рдПрдХ рд▓реЛрдбрд░ рдирд╣реАрдВ рдмрдирд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдмрд▓реНрдХрд┐ "рднрд╡рд┐рд╖реНрдп" рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреА рдПрдХ рдкреНрд░рд╕реНрддреБрддрд┐ рд▓реА рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдмрд╣реБрдд рд╕рдордп рд╕рд╕реНрдкреЗрдВрд╕ рдХреЗ рдврд╛рдВрдЪреЗ рдореЗрдВ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдкрд┐рдд рдерд╛ред рд▓реЗрдХрд┐рди рдЖрдЦрд┐рд░рдХрд╛рд░, рдЖрджрд░реНрд╢ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд▓реЛрдбрд░ рдХреЗ рдмрд┐рдирд╛ рд╣реИ, рд╣рдо рдХреЗрд╡рд▓ рдЖрдкрд╛рддрдХрд╛рд▓реАрди рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдореЗрдВ рдЗрд╕реЗ рджрд┐рдЦрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдореЗрд▓ рдореЗрдВ рд▓рдВрдмреЗ рд╕рдордп рд╕реЗ рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣реЗ рд╣реИрдВред
рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдРрд╕реА рдиреАрддрд┐ рд╣реИ, рдХреЛрдИ рдбреЗрдЯрд╛ рдирд╣реАрдВ рд╣реИ, рдХреЛрдИ рджреГрд╢реНрдп рдирд╣реАрдВ рд╣реИ, рд╕реЗрдореА-рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдЦреАрдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рднреА рдирд╣реАрдВ рд╣реИ, рдкрд╣рд▓реЗ рд╣рдо рдбреЗрдЯрд╛ рд▓реЛрдб рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЙрд╕рдХреЗ рдмрд╛рдж рд╣реА "рдбреНрд░рд╛" рдХрд░рддреЗ рд╣реИрдВред рдпрд╣реА рдХрд╛рд░рдг рд╣реИ рдХрд┐ рд╣рдо рдЙрд╕ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреА "рджреВрд░рджрд░реНрд╢рд┐рддрд╛" рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рдЬрд╣рд╛рдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЬрд╛рдиреЗ рдФрд░ рдЗрд╕ рдбреЗрдЯрд╛ рдХреЛ рд▓реЛрдб рдХрд░рдиреЗ рдЬрд╛ рд░рд╣рд╛ рд╣реИ рддрд╛рдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рд▓реЛрдбрд░ рджрд┐рдЦрд╛рдИ рди рджреЗред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╣рдорд╛рд░реА рдбреЗрдЯрд╛ рд▓реЗрдпрд░, рдЬреЛ рд▓рдЧрд╛рддрд╛рд░ рдмрдиреА рд░рд╣рддреА рд╣реИ, рдЗрд╕ рдХрд╛рд░реНрдп рдореЗрдВ рдмрд╣реБрдд рдорджрдж рдХрд░рддреА рд╣реИред рдпрджрд┐ рдЖрдкрдиреЗ рдПрдХ рдЬрдЧрд╣ рдХрд╣реАрдВ "рдереНрд░реЗрдб" рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд┐рдпрд╛ рд╣реИ, рддреЛ рдЕрдЧрд▓реА рдмрд╛рд░ рдЬрдм рдЖрдк рдХрд┐рд╕реА рдЕрдиреНрдп рдпрд╛ рдЙрд╕реА рд╕реНрдерд╛рди рд╕реЗ рдЕрдиреБрд░реЛрдз рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдХреЛрдИ рдЕрдиреБрд░реЛрдз рдирд╣реАрдВ рд╣реЛрдЧрд╛, рд╣рдо рд░рдирдЯрд╛рдЗрдо рдХреИрд╢ рд╕реЗ рдбреЗрдЯрд╛ рд▓реЗрдВрдЧреЗ (рдЕрдзрд┐рдХ рд╕рдЯреАрдХ, рдбреЗрдЯрд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рд▓рд┐рдВрдХ)ред рдФрд░ рдЗрд╕рд▓рд┐рдП рд╕рдм рдХреБрдЫ рдореЗрдВ, рдереНрд░реЗрдбреНрд╕ рдХрд╛ рд╕рдВрдЧреНрд░рд╣ рднреА рдХреЗрд╡рд▓ рдбреЗрдЯрд╛ рдХреЗ рд▓рд┐рдВрдХ рд╣реИрдВред
рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдЖрдк рдЕрднреА рднреА рд▓реЛрдбрд░ рдмрдирд╛рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЙрди рдмреБрдирд┐рдпрд╛рджреА рдирд┐рдпрдореЛрдВ рдХреЛ рди рднреВрд▓реЗрдВ рдЬреЛ рдЖрдкрдХреЗ рд▓реЛрдбрд░ рдХреЛ рдХрдо рдкрд░реЗрд╢рд╛рди рдХрд░реЗрдВрдЧреЗ:
- рд▓реЛрдбрд░ рдХреЛ рддреБрд░рдВрдд рджрд┐рдЦрд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рдЕрдиреБрд░реЛрдз рднреЗрдЬрдиреЗ рдХреЗ рд╕рдордп, рд╢реЛ рд╕реЗ рдкрд╣рд▓реЗ рдХрдо рд╕реЗ рдХрдо 300-500 рдПрдордПрд╕ рдХреА рджреЗрд░реА рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП;
- рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдЖрдкрдХреЛ рд▓реЛрдбрд░ рдХреЛ рддреЗрдЬреА рд╕реЗ рд╣рдЯрд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рдпрд╣рд╛рдВ рдлрд┐рд░ рд╕реЗ рджреЗрд░реА рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред
рдЗрди рд╕рд░рд▓ рдирд┐рдпрдореЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рддрд╛рдХрд┐ рд▓реЛрдбрд░ рдХреЗрд╡рд▓ рднрд╛рд░реА рдЕрдиреБрд░реЛрдзреЛрдВ рдкрд░ рджрд┐рдЦрд╛рдИ рджреЗ рдФрд░ рдкреВрд░рд╛ рд╣реЛрдиреЗ рдкрд░ "рдмреНрд▓рд┐рдВрдХ" рди рдХрд░реЗред рд▓реЗрдХрд┐рди рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд╛рдд, рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд▓реЛрдбрд░ рдПрдХ рд▓реЛрдбрд░ рд╣реИ рдЬреЛ рджрд┐рдЦрд╛рдИ рдирд╣реАрдВ рджрд┐рдпрд╛ред
рдзреНрдпрд╛рди рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХрд╛ рдзрдиреНрдпрд╡рд╛рдж, рдпрд╣ рд╕рдм, рдорд╛рдк, рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдФрд░ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ
PerfKeeper (
рд▓рд╛рдЗрд╡ рдЙрджрд╛рд╣рд░рдг ), рд╕рд╛рде рд╣реА рд╕рд╛рде
рдореЗрд░реЗ рдЧрд┐рддреБрдм рдФрд░
рдЯреНрд╡рд┐рдЯрд░ , рдкреНрд░рд╢реНрдиреЛрдВ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ!