Asm.js. рдХреЗ рдЕрдЧрд▓реЗ рдкреНрд░рджрд░реНрд╢рди рд╕реБрдзрд╛рд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ
рдЦрдмрд░ рд╕реЗ рдЦреБрд╢ рдореЛрдЬрд╝рд┐рд▓рд╛ рдпрд╣ рдордзреНрдпрд╡рд░реНрддреА рднрд╛рд╖рд╛ C рдФрд░ C ++ рдЬреИрд╕реА рднрд╛рд╖рд╛рдУрдВ рдореЗрдВ рд▓рд┐рдЦреА рдЧрдИ рдХреЛрдб рдирд┐рд╖реНрдкрд╛рджрди рдХреА рдЕрд╕рд╛рдзрд╛рд░рдг рдЙрдЪреНрдЪ рдЧрддрд┐ рдкреНрд░рджрд╛рди рдХрд░рддреА рд╣реИ, Google рдореВрд▓ рдЧреНрд░рд╛рд╣рдХ рдХреЗ рд▓рд┐рдП рдПрдХ рдореБрдлреНрдд рд╡рд┐рдХрд▓реНрдк рд╣реИ рдФрд░ рдХрд┐рд╕реА рднреА рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдХрд╛рдо рдХрд░рддреА рд╣реИ (рд╣рд╛рд▓рд╛рдБрдХрд┐ рдпрд╣ рдлрд╝рд╛рдпрд░рдлрд╝реЙрдХреНрд╕ рдореЗрдВ рд╕рдмрд╕реЗ рддреЗрдЬрд╝ рд╣реИ)ред
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, Emscripten рд╕рдВрдХрд▓рдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ Asm.js рдореЗрдВ C ++ рдХреЛрдб рд╕рдВрдХрд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдкрд╣рд▓реЗ рдкреНрд░рджрд░реНрд╢рди рдХрд╛ рдиреБрдХрд╕рд╛рди рд▓рдЧрднрдЧ рджреЛ рдЧреБрдирд╛ рдерд╛, рдЕрдм Asm.js рдХреЛрдб рдореВрд▓ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреА рддреБрд▓рдирд╛ рдореЗрдВ 1.5 рдЧреБрдирд╛ рдЕрдзрд┐рдХ рдзреАрдорд╛ рдирд╣реАрдВ рд╣реИред
рдкреНрд░рджрд░реНрд╢рди рдХрд┐рдП рдЧрдП рдХреБрдЫ рдЕрдиреБрдХреВрд▓рди рдЫреЛрдЯреЗ рдФрд░ рдорд╣рддреНрд╡рд╣реАрди рд╣реИрдВ, рдЬрдмрдХрд┐ рдЕрдиреНрдп рдЕрдзрд┐рдХ рдЧрдВрднреАрд░ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдлрд╝рд╛рдпрд░рдлрд╝реЙрдХреНрд╕ рдиреЗ рд╣рд╛рд▓ рд╣реА рдореЗрдВ рдХреБрдЫ рдлрд╝реНрд▓реЛрдЯрд┐рдВрдЧ рдкреЙрдЗрдВрдЯ рдСрдкрд░реЗрд╢рдВрд╕ рдХреЛ рдСрдкреНрдЯрд┐рдорд╛рдЗрдЬрд╝ рдХрд░рдирд╛ рд╕реАрдЦрд╛ рддрд╛рдХрд┐ рдлреНрд▓реЛрдЯ64 рдирдВрдмрд░ рдХреА рдмрдЬрд╛рдп рдХрдо рд╕рдЯреАрдХ рдлрд╝реНрд▓реЛрдЯ 32 рдирдВрдмрд░реЛрдВ рдХреЗ рд╕рд╛рде рдЧрдгрдирд╛ рдХреА рдЬрд╛ рд╕рдХреЗ, рдЬреЛ рдкреНрд░рджрд░реНрд╢рди рдореЗрдВ рдмрд╣реБрдд рдмрдбрд╝реА рд╡реГрджреНрдзрд┐ рджреЗрддрд╛ рд╣реИред рд╕рдВрдмрдВрдзрд┐рдд рдкрд░рд┐рд╡рд░реНрддрди Asm.js, Emscripten рд╕рдВрдХрд▓рдХ рдФрд░ рд╕реНрдкрд╛рдЗрдбрд░рдореЛрдВрдХреА рдЗрдВрдЬрди рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдЖрд░реЗрдЦ 3.2 (рдПрдХ рдЗрдХрд╛рдИ рдХреЗ рд░реВрдк рдореЗрдВ рд▓рд┐рдпрд╛ рдЧрдпрд╛) рдХреЗ рд╕рд╛рдкреЗрдХреНрд╖ рд╡рд┐рднрд┐рдиреНрди рд╡рд╛рддрд╛рд╡рд░рдгреЛрдВ рдореЗрдВ рд╕рдВрдЪрд╛рд▓рди рдХреА рдЧрддрд┐ рдХреЛ рджрд░реНрд╢рд╛рддрд╛ рд╣реИред рдХрдо рд╕рдордп рдмреЗрд╣рддрд░ рдкрд░рд┐рдгрд╛рдо рд╕реЗ рдореЗрд▓ рдЦрд╛рддрд╛ рд╣реИред

рд░реЗрдб 32-рдмрд┐рдЯ рдирдВрдмрд░реЛрдВ (рдлрд╝рд╛рдпрд░рдлрд╝реЙрдХреНрд╕-рдПрдл 32) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЙрддреНрдкрдиреНрди рдИрд╕реНрдХреНрд░рд┐рдкреНрдЯрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛрдб рдХреЗ рд╕рд╛рде рдлрд╝рд╛рдпрд░рдлрд╝реЙрдХреНрд╕ рджрд┐рдЦрд╛рддрд╛ рд╣реИред рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, Asm.js рдкрд░ рд╕рдВрдЪрд╛рд▓рди рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рджреЗрд╢реА рдЧрддрд┐ рдХреЗ рдмрд╣реБрдд рдХрд░реАрдм рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЕрдзрд┐рдХрддрдо рдЕрдВрддрд░ рдпреЗ рд╕рдорд╛рди 1.5 рдЧреБрдирд╛ рд╣реИ, рдФрд░ рдХреБрдЫ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдлрд╝рд╛рдпрд░рдлрд╝реЙрдХреНрд╕ рдмреЗрд╣рддрд░ рдкреНрд░рджрд░реНрд╢рди рднреА рджрд┐рдЦрд╛рддрд╛ рд╣реИ!
рдбреЗрд╡рд▓рдкрд░реНрд╕ рдЖрдЧреЗ рдЕрдиреБрдХреВрд▓рди рдЬрд╛рд░реА рд░рдЦрдиреЗ рдХрд╛ рд╡рд╛рджрд╛ рдХрд░рддреЗ рд╣реИрдВ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЕрдм, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЕрд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЗрдВрдЬрди 3 рдЗрдВрдЬрди рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдареАрдХ рдЪрд▓рддрд╛ рд╣реИред рдПрдХ рд╕рдордп рдореЗрдВ, рдпрд╣ Asm.js. рдХреЗ рдкрд╣рд▓реЗ рдкреНрд░рджрд░реНрд╢рдиреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдерд╛