рд╕рд╣реА рддрд░реАрдХреЗ рд╕реЗ рдмреЗрдВрдЪрдорд╛рд░реНрдХ рд╕реАрдЦрдирд╛ (рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐рдпреЛрдВ рд╕рд╣рд┐рдд)

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



рддреЛ, рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐рдпреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрд┐рдЫрд▓рд╛ рдЙрджрд╛рд╣рд░рдг, рд╡реАрдПрд╕ 2005, 4 рд░рдиред рдорд╢реАрди рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрдирд▓реЛрдб рд╣реИ, рдЯреЙрд░реЗрдВрдЯ, рдЖрджрд┐ рдкреГрд╖реНрдарднреВрдорд┐ рдореЗрдВ рдирд╣реАрдВ рдЪрд▓ рд░рд╣реЗ рд╣реИрдВ, рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рд╡рд┐рдЬреЗрддрд╛ рдХреЛ рднреА рдмрдВрдж рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред (рд╣рд╛рд▓рд╛рдВрдХрд┐, рд╕реАрдкреАрдпреВ рдмрд╛рдзреНрдп рд╡рд░реНрдХрд▓реЛрдб рдХреЗ рд▓рд┐рдП, рд╡рд┐рдВрдореНрдк рдФрд░ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдЯреЛрд░реЗрдВрдЯ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдШрдмрд░рд╛рдирд╛ рдирд╣реАрдВ рдмрдирд╛рддреЗ рд╣реИрдВ, рдЕрдзрд┐рдХрддрдо 1-2%ред) рдкрд░рд┐рдгрд╛рдо 0.758 рд╕реЗ 1.085 рддрдХ рдЬрд╛рддреЗ рд╣реИрдВ, рдЬреЛ рд▓рдЧрднрдЧ 1.5 рдЧреБрдирд╛ рд╣реИред рдЕрд▓рдЧ-рдЕрд▓рдЧ рд░рдиреЛрдВ рдкрд░, рдлрд┐рд░ рд╕реЗ, рдЕрд▓рдЧ-рдЕрд▓рдЧ рдЬреАрдд, рдЬреЛ рджреМрдбрд╝ рдХреЗ рд▓рд┐рдП рдЕрд╕реНрд╡реАрдХрд╛рд░реНрдп рд╣реИред ;)



x = 3256681784 iterator++. Total time : 0.795557

x = 3256681784 ++iterator. Total time : 0.892076



x = 3256681784 iterator++. Total time : 1.08741

x = 3256681784 ++iterator. Total time : 1.0848



x = 3256681784 iterator++. Total time : 0.898355

x = 3256681784 ++iterator. Total time : 0.758123



x = 3256681784 iterator++. Total time : 0.906159

x = 3256681784 ++iterator. Total time : 0.861794








рдХреНрдпрд╛ рд╣реЛ рд░рд╣рд╛ рд╣реИ? рд╣рдо рдХреЛрдб рдХреЛ рджреЗрдЦрддреЗ рд╣реИрдВ, QPC рд╣реИ, рдФрд░ рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ рдХрд┐ рдпрд╣ SetThreadAffinityMask рд╣реИред рджреЗрд╢рджреНрд░реЛрд╣, рдореБрдЦреНрдпрд╛рд▓рдп рд╣рдорд╛рд░рд╛ рдирд╣реАрдВ рд╣реИред C2D рдкреНрд░реЛрд╕реЗрд╕рд░, рдпрд╣ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдХреЛрд░ рдкрд░ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдлреНрд░реАрдХреНрд╡реЗрдВрд╕реА рд░рдЦ рд╕рдХрддрд╛ рд╣реИред рдФрд░ рдбрд╛рдЙрдирдЯрд╛рдЗрдо рдХреЗ рд╕рдордп, рдУрдПрд╕ рдЗрд╕рдХрд╛ рд▓рд╛рдн рдЙрдард╛рддрд╛ рд╣реИ рдФрд░ рдЖрд╡реГрддреНрддрд┐ рдХреЛ рдХрдо рдХрд░рддрд╛ рд╣реИред рдпрджрд┐ рдЖрдк рдПрдХ рдХреЛрд░ рдкрд░ рдЯрд╛рдЗрдорд░ (QueryPerformanceFrequency) рдХреЛ рдХреИрд▓рд┐рдмреНрд░реЗрдЯ рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рджреВрд╕рд░реЗ рдкрд░, рдпрд╛ рдЙрд╕реА рдкрд░ рдХрд╛рдЙрдВрдЯрд░ рдбреЗрдЯрд╛ (QueryPerformanceCounter) рдкрдврд╝рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЖрд╡реГрддреНрддрд┐ рдмрдврд╝рдиреЗ рдХреЗ рдмрд╛рдж, рдХрдЪрд░рд╛ рд╣реЛрдЧрд╛ред



рд╣рдо рдмрд┐рд▓реНрдХреБрд▓ рдПрдХ рдЪрд░рд┐рддреНрд░ рдХреЛ рдмрджрд▓рддреЗ рд╣реИрдВ, SetThreadAffinityMask рдореЗрдВ рд╣рдо рджреВрд╕рд░реЗ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЛ 1 рдкрд░ рд╕реЗрдЯ рдХрд░рддреЗ рд╣реИрдВ, 0 рдкрд░ рдирд╣реАрдВред



x = 3256681784 iterator++. Total time : 0.751778

x = 3256681784 ++iterator. Total time : 0.685859



x = 3256681784 iterator++. Total time : 0.737615

x = 3256681784 ++iterator. Total time : 0.686026



x = 3256681784 iterator++. Total time : 0.736503

x = 3256681784 ++iterator. Total time : 0.688713



x = 3256681784 iterator++. Total time : 0.772983

x = 3256681784 ++iterator. Total time : 0.68895








рдмрд╣реБрдд рдмреЗрд╣рддрд░ред рдкрд╣рд▓рд╛ рдкрд░реАрдХреНрд╖рдг 0.736 рд╕реЗ 0.772 рддрдХ рдХрд╛рдВрдкрддрд╛ рд╣реИред 5% рд╕реЗ, 50% рд╕реЗ рдирд╣реАрдВред рджреВрд╕рд░рд╛ 0.686 рд╕реЗ 0.689 рддрдХ, рдЙрдиред 0.4% рддрдХред рдлрд░реНрдХ рдХрд╣рд╛рдВ рд╕реЗ рдЖрддрд╛ рд╣реИ?



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



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



  SetProcessAffinityMask(GetCurrentProcess(), 1); volatile int zomg = 1; for ( int i=1; i<1000000000; i++ ) zomg *= i;
      
      







рдФрд░ рдкрд░рд┐рдгрд╛рдо рдХрд╛ рдЖрдирдВрдж рд▓реЗрдВред



x = 3256681784 iterator++. Total time : 0.687585

x = 3256681784 ++iterator. Total time : 0.685685



x = 3256681784 iterator++. Total time : 0.687524

x = 3256681784 ++iterator. Total time : 0.68579



x = 3256681784 iterator++. Total time : 0.686004

x = 3256681784 ++iterator. Total time : 0.688326



x = 3256681784 iterator++. Total time : 0.688472

x = 3256681784 ++iterator. Total time : 0.685775








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



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



рдЖрдкрдХреЗ рд▓рд┐рдП рд╕рд╣реА рдмреЗрдВрдЪрдорд╛рд░реНрдХред



All Articles