рд╣рдо 100 рдмрд╛рд░ рдЕрдиреБрд░реЛрдз рдХреЛ рдХреИрд╕реЗ рдЧрддрд┐ рджреЗрддреЗ рд╣реИрдВ, рдпрд╛ рд╕рднреА рд╣реИрд╢ рдлрд╝рдВрдХреНрд╢рди рд╕рдорд╛рди рд░реВрдк рд╕реЗ рдЦрд░рд╛рдм рдирд╣реАрдВ рд╣реИрдВ

рд╣рдо рдПрдХ рдбреЗрдЯрд╛рдмреЗрд╕ рд╡рд┐рдХрд╕рд┐рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдПрдХ рдмрд╛рд░, рд╣рдореЗрдВ рдПрдХ рдХрдВрдкрдиреА рд╕реЗ рд╕рдВрдкрд░реНрдХ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдЬрд┐рд╕рдиреЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрд╛рд░реНрдп рдХрд╛ рд╕рд╛рдордирд╛ рдХрд┐рдпрд╛ рдерд╛:



рдХреБрдЫ рдХрдИ рдСрдмреНрдЬреЗрдХреНрдЯ рд╣реИрдВ, рдФрд░ рдХреБрдЫ рдХрдИ рдЯреИрдЧ рд╣реИрдВред рдкреНрд░рддреНрдпреЗрдХ рдСрдмреНрдЬреЗрдХреНрдЯ рдореЗрдВ рдХрдИ рдЯреИрдЧ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред рдХреБрдЫ рдЯреИрдЧ рдмрд╣реБрдд рджреБрд░реНрд▓рдн рд╣реИрдВ, рдФрд░ рдХреБрдЫ рд╕рд╛рдорд╛рдиреНрдп рд╣реИрдВред рдПрдХ рд╡рд╕реНрддреБ рдХреЛ рдПрдХ рдЯреИрдЧ рдХреЗ рд╕рд╛рде рдХрдИ рдмрд╛рд░ рдЬреЛрдбрд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдирдИ рд╡рд╕реНрддреБрдУрдВ, рдЯреИрдЧ рдФрд░ рдЙрдирдХреЗ рдмреАрдЪ рд▓рд┐рдВрдХ рд▓рдЧрд╛рддрд╛рд░ рдЬреЛрдбрд╝реЗ рдЬрд╛рддреЗ рд╣реИрдВред

рдпрд╣ рдХрд╛рдо рдЬрд▓реНрджреА рд╕реЗ рд╕рд╡рд╛рд▓реЛрдВ рдХреЗ рдЬрд╡рд╛рдм рджреЗрдирд╛ рд╣реИ: "рдХрд┐рддрдиреА рд╡рд╕реНрддреБрдУрдВ рдХрд╛ рдЯреИрдЧ A рдпрд╛ B рд╣реИ, рд▓реЗрдХрд┐рди рдХреЛрдИ рдЯреИрдЧ C" рдФрд░ рдЗрд╕реА рддрд░рд╣ рдХрд╛ рдирд╣реАрдВ рд╣реИред рдореИрдВ рдбреЗрдЯрд╛ рдХреЗ рд▓реЛрдбрд┐рдВрдЧ рдХреЛ рдирд╣реАрдВ рд░реЛрдХрддреЗ рд╣реБрдП рдПрдХ рд╕реЗрдХрдВрдб рдХреЗ рджрд╕рд╡реЗрдВ рд╣рд┐рд╕реНрд╕реЗ рдореЗрдВ рдРрд╕реЗ рдЕрдиреБрд░реЛрдзреЛрдВ рдХрд╛ рдЬрд╡рд╛рдм рджреЗрдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ред



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



SELECT COUNT(*) FROM ( SELECT object_id, (MAX(tag == A) OR MAX(tag == B)) AND MIN(tag != C) AS good FROM tags WHERE tag IN (A, B, C) GROUP BY object_id ) WHERE good == 1;
      
      







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

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



рд╣рдордиреЗ рдХреНрд▓рд╕реНрдЯрд░ рдореЗрдВ рд╕рднреА рдбреЗрдЯрд╛ рд▓реЛрдб рдХрд┐рдП, рдФрд░ рдЕрдиреБрд░реЛрдз рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ред рдЕрдиреБрд░реЛрдз рдореЗрдВ 25 рд╕реЗрдХрдВрдб рд▓рдЧреЗред



рдХреБрдЫ рдЧрдбрд╝рдмрдбрд╝ рд╣реЛ рдЧрдИред

рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╣рдордиреЗ рдЬрд╣рд╛рдВ рд╕рдорд╕реНрдпрд╛ рд╣реБрдИ рдереА, рдЙрд╕реЗ рд╕реНрдерд╛рдиреАрдп рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП GROUP BY object_id рдХреЛ рд╣рдЯрд╛ рджрд┐рдпрд╛ред рдЕрдиреБрд░реЛрдз 0.3 рд╕реЗрдХрдВрдб рдореЗрдВ рд╕рдорд╛рдкреНрдд рд╣реЛ рдЧрдпрд╛ред рдЗрд╕рд▓рд┐рдП рдбреЗрдЯрд╛ рдкрдврд╝рдирд╛ рдХрд╛рдлреА рддреЗрдЬ рд╣реИ, рдФрд░ рдЕрдзрд┐рдХ рдХреБрдЫ рднреА рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ рдкреНрд░рд╕рд╛рд░рд┐рдд рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред рд╕рдорд╕реНрдпрд╛ рд╣реИрд╢ рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рдХрд╣реАрдВ рд╣реИред

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



 uint64_t hash(uint64_t value) { return value * MULTIPLIER1; } uint64_t accumulateHash(uint64_t hash, uint64_t value) { hash ^= hash >> SHIFT1; hash += value; hash ^= hash >> SHIFT2; hash *= MULTIPLIER2; return hash; }
      
      







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



рдЕрдЧрд▓реА рд╕реБрдмрд╣ рдореИрдВрдиреЗ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ рдХрд┐ рдореВрд▓ рд░реВрдк рд╕реЗ рдЗрди рджреЛ рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЛ рдХрд┐рд╕рдиреЗ рд▓рд┐рдЦрд╛ рд╣реИред рдмрдирд╛ рджрд┐рдпрд╛ рджреЛрд╖ рдФрд░ рдкрд╛рдпрд╛ рдмреБрд░рд╛ рдкреНрд░рддрд┐рдмрджреНрдз рд╣реИред рджрд┐рд▓рдЪрд╕реНрдк рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рдЗрд╕ рдмрджрд▓рд╛рд╡ рдореЗрдВ, рдЗрди рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдореЗрдВ рд╕реЗ, рд╕рд░реНрд╡рд░ рдХреЛрдб рдореЗрдВ рдХреЗрд╡рд▓ рдЗрди рджреЛ рд▓рд╛рдЗрдиреЛрдВ рдХреЛ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рдерд╛, рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ, рд╕рдВрдЪрд┐рддHash рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рдпреЛрдЧ рдФрд░ рдЧреБрдгрди рд╢рд╛рдорд┐рд▓ рдереЗред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЗрди рджреЛ рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдХрдорд┐рдЯ рдХреЗ рд▓реЗрдЦрдХ рдиреЗ рддрдерд╛рдХрдерд┐рдд рд╣рд┐рдорд╕реНрдЦрд▓рди рдкрд░реАрдХреНрд╖рдг рдХреЛ рднреА рдЬреЛрдбрд╝рд╛ - рдПрдХ рдРрд╕рд╛ рдкрд░реАрдХреНрд╖рдг рдЬреЛ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдХреЛрдИ рднреА, рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рд╕рдмрд╕реЗ рдирдЧрдгреНрдп, рдЗрдирдкреБрдЯ рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рд╕реЗ рд╣реИрд╢ рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдкрд░рд┐рд╡рд░реНрддрди рд╣реЛрддреЗ рд╣реИрдВред рдкрд░реАрдХреНрд╖рдг рд╡рд┐рдЬреНрдЮрд╛рди рдХреЗ рдХреБрдЫ рдЙрдореНрдореАрджрд╡рд╛рд░ рдХреЗ рдХреБрдЫ рдкреНрд░рдХрд╛рд╢рди рдкрд░ рдЖрдзрд╛рд░рд┐рдд рдерд╛, рдФрд░ рдЙрдЪрд┐рдд рд▓рдЧрд╛ред рдЙрд╕реА рд╕рдордп, рдкрд░реАрдХреНрд╖рдг XOR рдФрд░ SHIFT рдХреЗ рдмрд┐рдирд╛ рдкрд╛рд╕ рдирд╣реАрдВ рд╣реБрдЖ, рд▓реЗрдХрд┐рди рдЙрдирдХреЗ рд╕рд╛рде рдЙрддреНрддреАрд░реНрдг рд╣реБрдЖред рдпрд╣реА рд╣реИ, рдкреНрд░рддрд┐рдмрджреНрдз рдХреЗ рд▓реЗрдЦрдХ рдиреЗ рд╕рд┐рд░реНрдл рдПрдХ рднреНрд░рдорд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рдлрд╝рдВрдХреНрд╢рди рдирд╣реАрдВ рд▓рд┐рдЦрд╛, рд╡рд╣ рд╕рдордЭ рдЧрдпрд╛ рдХрд┐ рд╡рд╣ рдХреНрдпрд╛ рдХрд░ рд░рд╣рд╛ рдерд╛ред рд▓реЗрдХрд┐рди рдХреНрдпреЛрдВ рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ рдлрд╝рдВрдХреНрд╢рди рдиреЗ рдЕрдкреНрд░рддреНрдпрд╛рд╢рд┐рдд рд░реВрдк рд╕реЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд┐рдпрд╛?



рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рд╕реЗ рдирд┐рдкрдЯрдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рдПрдХ рдЯреИрдЧ рдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛ рдХреЛ рд╕реНрдерд╛рдиреАрдп рдорд╢реАрди рдкрд░ рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдпрд╛, рдФрд░ рдкреНрд░рдпреЛрдЧ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд┐рдпрд╛ред рджрд░рдЕрд╕рд▓, рд╣рдорд╛рд░реЗ рд╡рд░реНрддрдорд╛рди рд╣реИрд╢ рдлрд╝рдВрдХреНрд╢рди рдиреЗ рдЯрдХреНрдХрд░реЛрдВ рдХрд╛ рдЙрддреНрдкрд╛рджрди рдХрд┐рдпрд╛: рд╕рднреА рдореВрд▓реНрдпреЛрдВ рдореЗрдВ рдкрд╛рдВрдЪ рдЙрдЪреНрдЪ рдмрд┐рдЯреНрд╕ рд╕рдорд╛рди рдереЗред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЕрдиреНрдп SHIFT1 рдФрд░ SHIFT2 рдХреЗ рд╕рд╛рде рдПрдХ рд╣реА рдХрд╛рд░реНрдп рдиреЗ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЕрдЪреНрдЫреЗ рдкрд░рд┐рдгрд╛рдо рджрд┐рдП рд╣реИрдВред рддрдм рдореИрдВрдиреЗ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ 10 рдорд┐рд▓рд┐рдпрди рд╕рдВрдЦреНрдпрд╛рдПрдБ рдЙрддреНрдкрдиреНрди рдХреАрдВ, рдФрд░ рд╣рдорд╛рд░реЗ рдЦрд░рд╛рдм рд╣реИрд╢ рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╣реИрд╢ рддрд╛рд▓рд┐рдХрд╛ рдХреЛ рдлрд┐рд░ рд╕реЗ рдмрдирд╛рдпрд╛ред рдЗрд╕ рдмрд╛рд░ рдХреЛрдИ рдЕрд╕рд╛рдорд╛рдиреНрдп рдЯрдХреНрдХрд░ рднреА рдирд╣реАрдВ рдереАред рдпрд╣реА рд╣реИ, рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд╕рдВрдЦреНрдпрд╛рдУрдВ рдкрд░, рд╣реИрд╢ рдлрд╝рдВрдХреНрд╢рди рдЕрдЪреНрдЫрд╛ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд░рддрд╛ рд╣реИ, рд╕рдорд╕реНрдпрд╛ рд╣рдорд╛рд░реЗ рд╣реИрд╢ рдлрд╝рдВрдХреНрд╢рди рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдбреЗрдЯрд╛ рдХреЗ рдЪреМрд░рд╛рд╣реЗ рдкрд░ рдХрд╣реАрдВ рд╣реИред рдЙрдиреНрд╣реЛрдВрдиреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдбреЗрдЯрд╛ рдореЗрдВ рдкреИрдЯрд░реНрди рдХреА рддрд▓рд╛рд╢ рд╢реБрд░реВ рдХреАред рдкреИрдЯрд░реНрди рд╣реИрдВ: рд╡реЗ рд╕рднреА 64 рд╕реЗ рд╡рд┐рднрд╛рдЬрд┐рдд рд╣реИрдВ, рдФрд░ рдЙрди рд╕рднреА рдореЗрдВ рдкрд╛рдВрдЪ рдЙрдЪреНрдЪ рдмрд┐рдЯреНрд╕ рд╣реИрдВред рдореИрдВ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХрд╛ рдПрдХ рд╕реЗрдЯ рдЙрддреНрдкрдиреНрди рдХрд░рддрд╛ рд╣реВрдВ рдЬреЛ 64 рдХреЗ рдЧреБрдгрдХреЛрдВ рдореЗрдВ рдПрдХ рд╣реА рдЙрдЪреНрдЪ рдкрд╛рдВрдЪ рдмрд┐рдЯреНрд╕ рдХреЗ рд╕рд╛рде рд╣реЛрддреЗ рд╣реИрдВред рдирд╣реАрдВ, рд╡реИрд╕реЗ рднреА рдХреЛрдИ рдЯрдХреНрдХрд░ рдирд╣реАрдВ рд╣реИред рдФрд░ рдХреНрдпрд╛ рд╕рдорд╕реНрдпрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИ? рдХреНрдпрд╛ рдпрд╣ рд╕рдВрднрд╡ рд╣реИ рдХрд┐ рдЬрд┐рд╕ рддрд░рд╣ рд╕реЗ рд╡рд╕реНрддреБрдПрдВ рдЙрддреНрдкрдиреНрди рд╣реЛрддреА рд╣реИрдВ, рд╡рд╣ рдХрд┐рд╕реА рддрд░рд╣ рд╣рдорд╛рд░реЗ рд╣реИрд╢ рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рд╕реНрддрд░ рдмрдирд╛рдПрдЧреА?



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

рд╣рд╛рдВ, рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ рд╣реА рдХреЙрд▓рдо рд╣реИред рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ рдХрд┐ рдХреЛрдб рдореЗрдВ рдПрдХ рдмрдЧ рдХреЗ рдХрд╛рд░рдг, рдПрдХ рд╣реА рд╣реИрд╢ рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдЧреНрд░реБрдк BY рдХреЛ рд╡рд┐рднрд╛рдЬрди рдФрд░ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдЪрд╛рд░ рднреМрддрд┐рдХ рд╕рд░реНрд╡рд░реЛрдВ рдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдореЗрдВ 8 рд╡рд┐рднрд╛рдЬрди рдереЗ, рдХреБрд▓ 32 рд╡рд┐рднрд╛рдЬрди, рд╡рд┐рднрд╛рдЬрди рдХрд╛ рдЪрдпрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИрд╢ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдЙрдЪреНрдЪрддрдо рдмрд┐рдЯреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдирддреАрдЬрддрди, рдПрдХ рдЦрдВрдб рдореЗрдВ рд╕рднреА рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП, object_id рд╕реЗ рд╣реИрд╢ рдлрд╝рдВрдХреНрд╢рди рдорд╛рди рдХреЗ рдЙрдЪреНрдЪ рдкрд╛рдВрдЪ рдмрд┐рдЯ рд╕рдорд╛рди рд╣реЛрдВрдЧреЗред рдЬрдм рд╣рдордиреЗ XOR рдФрд░ SHIFT рдХреЛ рдХрд┐рд╕реА рдлрд╝рдВрдХреНрд╢рди рд╣реИрд╢ рдореЗрдВ рдЯрд┐рдкреНрдкрдгреА рдХреА, рдФрд░ рдХреНрд▓рд╕реНрдЯрд░ рдХреЛ рдкреБрдирд░рд╛рд░рдВрдн рдХрд┐рдпрд╛, рддреЛ рд╣рдордиреЗ рдбреЗрдЯрд╛ рдХреЛ рдлрд┐рд░ рд╕реЗ рд▓реЛрдб рдирд╣реАрдВ рдХрд┐рдпрд╛, рдЬрд┐рд╕рд╕реЗ рдпрд╣ рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИ рдХрд┐ рд╕рдорд╕реНрдпрд╛ рдареАрдХ рд╣реЛ рдЧрдИ рдереА, рдХреНрдпреЛрдВрдХрд┐ рдЕрдм рдбреЗрдЯрд╛ рдХреЛ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд╣реИрд╢ рджреНрд╡рд╛рд░рд╛ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЬреЛ рдХрд┐ рдЧреНрд░реБрдк BY рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╕реЗ рдЕрд▓рдЧ рдерд╛ред рд▓реЗрдХрд┐рди рдЕрдЧрд░ рд╣рдордиреЗ рдирд╡реАрдирддрдо рдбреЗрдЯрд╛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджрд┐рдпрд╛, рддреЛ рдЕрдВрдд рдореЗрдВ рд╕рдорд╕реНрдпрд╛ рдиреЗ рдЦреБрдж рдХреЛ рдлрд┐рд░ рд╕реЗ рдорд╣рд╕реВрд╕ рдХрд┐рдпрд╛ рд╣реЛрдЧрд╛ред



рд╣рдордиреЗ рд╣реИрд╢ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдЙрд╕ рд░реВрдк рдореЗрдВ рд▓реМрдЯрд╛рдпрд╛ рдЬрд┐рд╕рдореЗрдВ рдпрд╣ рд╣рд┐рдорд╕реНрдЦрд▓рди рдкрд░реАрдХреНрд╖рдг рд╕реЗ рдЧреБрдЬрд░рддрд╛ рд╣реИ, рдФрд░ рд╡рд┐рднрд╛рдЬрди рдХреЗ рд▓рд┐рдП рд╣реИрд╢ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдмрджрд▓ рджрд┐рдпрд╛, рдФрд░ рд╣рдорд╛рд░реЗ рд╕рд╣рдпреЛрдЧрд┐рдпреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдиреЗ рдПрдХ рдордЬрд╝реЗрджрд╛рд░ рдХрд╣рд╛рдиреА рд╕рд╛рдЭрд╛ рдХреА: рдПрдХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдкреНрд░рддрд┐рдпреЛрдЧрд┐рддрд╛ рдореЗрдВ, рдЙрдиреНрд╣реЛрдВрдиреЗ рджреЛ-рдЖрдпрд╛рдореА рджрд┐рд╢рд╛-рдирд┐рд░реНрджреЗрд╢реЛрдВ рдкрд░ рдЬрд╛рд╡рд╛ рдореЗрдВ рдПрдХ рд╣реИрд╢ рдЯреЗрдмрд▓ рдмрдирд╛рдпрд╛ред рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдкреНрд░рддреНрдпреЗрдХ рдореЗрдВ 32 рдмрд┐рдЯреНрд╕ рдХреА рджреЛ рд╕рдВрдЦреНрдпрд╛рдПрдВ рдереАрдВ, рдФрд░ рдХреБрд╢рд▓рддрд╛ рд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдб рдХреЗ рд▓рд┐рдП, рдЙрдиреНрд╣реЛрдВрдиреЗ рдЙрдиреНрд╣реЗрдВ рдПрдХ 64-рдмрд┐рдЯ рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рд▓рд┐рдЦ рджрд┐рдпрд╛, рдФрд░ рдЙрдиреНрд╣реЗрдВ рдПрдХ рд╣реИрд╢ рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рдбрд╛рд▓ рджрд┐рдпрд╛ред рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдХрд╛рд░реНрдп рд╕рдордп рдореЗрдВ рдкрд╛рд░рд┐рдд рдирд╣реАрдВ рд╣реБрдЖ, рдХреНрдпреЛрдВрдХрд┐ рдЬрд╛рд╡рд╛ рдореЗрдВ рд╣реИрд╢ рдлрд╝рдВрдХреНрд╢рди рдКрдкрд░реА рдФрд░ рдирд┐рдЪрд▓реЗ 32 рдмрд┐рдЯреНрд╕ рдХреЗ рдПрдХреНрд╕рдУрдЖрд░ рдХреА рдЧрдгрдирд╛ рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕рд╕реЗ рд╣рдореЗрд╢рд╛ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдХреЗ рд▓рд┐рдП рд╕рдорд╛рди рдорд╛рди рдкреНрд░рд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИ рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдПрдХреНрд╕ рд╡рд╛рдИ рд╣реИред



All Articles