Design: рд╕рд╛рдЭрд╛ рд╕реНрдореГрддрд┐ рдФрд░ рдкрд░рдорд╛рдгреБ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 20 рдЬреБрд▓ре░ 2016  ┬╖  5рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: WebAssembly/design

Ecma TC39 рдХреА 53рд╡реАрдВ рдмреИрдардХ рдХреЗ рд▓рд┐рдП рдкрд░рдорд╛рдгреБ 3 рдЪрд░рдг рдореЗрдВ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВред рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдЙрдирдХрд╛ рдПрдкреАрдЖрдИ рдЬрдореЗ рд╣реБрдП рд╣реЛрдЧрд╛ред рдЗрд╕рд▓рд┐рдП рдпрджрд┐ WebAssembly рдХрдореНрдпреБрдирд┐рдЯреА рдЧреНрд░реБрдк рд╡рд┐рдЬрди TC39 рд╡рд┐рдЬрди рдХреЗ рд╕рд╛рде рдЕрд▓рдЧ рд╣реИ, рддреЛ рдордВрдЧрд▓рд╡рд╛рд░, 26 рдЬреБрд▓рд╛рдИ рдХрд▓реНрдкрдирд╛ рдореЗрдВ рдХреЛрдИ рднреА рдмрджрд▓рд╛рд╡ рдХрд░рдиреЗ рдХреА рд╕рдордп рд╕реАрдорд╛ рдмрди рд╕рдХрддреА рд╣реИред

ES рдкреНрд░рд╕реНрддрд╛рд╡: https://github.com/tc39/ecmascript_sharedmem

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

@chicoxyzzy , рдпрд╣рд╛рдБ sab+wasm рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рд▓рдВрдмреА рдЪрд░реНрдЪрд╛ рд╣реБрдИ: https://github.com/tc39/ecmascript_sharedmem/issues/59

@taisel , рдЕрдм рдореИрдВ рдкрд╛рдВрдбрд┐рддреНрдпрдкреВрд░реНрдг рд╣реЛ рд░рд╣рд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдлрд┐рд░ рднреА: "рдореБрдЦреНрдп рдзрд╛рдЧрд╛ рд╕реАрдорд╛рдПрдВ" рддрдХрдиреАрдХреА рд░реВрдк рд╕реЗ рдЙрд╕ рдпреБрдХреНрддрд┐ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рдирд╣реАрдВ рд╣реИрдВред рдпреБрдХреНрддрд┐ рдХреБрдЫ рдереНрд░реЗрдбреНрд╕ рдХреЛ рдмреНрд▓реЙрдХ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИ (рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рджреНрд╡рд╛рд░рд╛ рдЪреБрдиреЗ рдЧрдП рдорд╛рдирджрдВрдбреЛрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░), рдФрд░ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдпрд╣ рд╕реБрд╡рд┐рдзрд╛ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЗ рдореБрдЦреНрдп рдереНрд░реЗрдбреНрд╕ рд╕реЗ рдкреНрд░реЗрд░рд┐рдд рд╣реИ, рд▓реЗрдХрд┐рди рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдХрд┐рд╕реА рдЕрдиреНрдп рд╕реЗрдЯрд┐рдВрдЧ рдореЗрдВ JS + рд╕рд╛рдЭрд╛ рдореЗрдореЛрд░реА рдХреЗ рдЙрдкрдпреЛрдЧ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ рдЙрд╕ рд╕реАрдорд╛ рд╣реИред рдореИрдВ рдирд╣реАрдВ рджреЗрдЦрддрд╛ рдХрд┐ wasm рдХрд┐рд╕реА рднреА рдЕрд▓рдЧ рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдХреИрд╕рд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдореИрдВ рдХреБрдЫ рдкреНрд░рдХрд╛рд░ рдХреЗ рд╢реНрд░рдорд┐рдХреЛрдВ рдХреЛ рджреЗрдЦ рд╕рдХрддрд╛ рдерд╛, рдЬреИрд╕реЗ SharedWorkers, рд╕рд╛рдЭрд╛ рдореЗрдореЛрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, рд▓реЗрдХрд┐рди рдмреНрд▓реЙрдХ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рджреА рдЬрд╛ рд░рд╣реА рдереАред

рджрд░рдЕрд╕рд▓, рдЯреАрд╕реА39 рдХреЗ рд▓рд┐рдП рдореБрдЦреНрдп рдереНрд░реЗрдб рдкрд░ рдмреНрд▓реЙрдХ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рднреА рдЙрдкрдпреЛрдЧреА рдирд╣реАрдВ рд╣реЛрдЧрд╛, рдХреЗрд╡рд▓ рд╕рдВрдШрд░реНрд╖ рдХреЗ рд▓рд┐рдП, рдФрд░ рд╢рд╛рдпрдж рдкреВрд░реЗ рд╕рд╛рдЭрд╛ рд╕реНрдореГрддрд┐ рдкреНрд░рд╕реНрддрд╛рд╡ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЛ рдЦрддрд░реЗ рдореЗрдВ рдбрд╛рд▓ рджреЗрдЧрд╛ред рдЕрдм рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдореМрдЬреВрджрд╛ рд╡реЗрдм рдкрд╛рд░рд┐рд╕реНрдерд┐рддрд┐рдХреА рддрдВрддреНрд░ рдореЗрдВ рдлрд┐рдЯ рд╣реЛрдиреЗ рд╡рд╛рд▓реА рднрд╛рд╖рд╛ рдФрд░ рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдХреЗ рд▓рд┐рдП рдХрд╛рдлреА рд░реВрдврд╝рд┐рд╡рд╛рджреА рд╡рд┐рд╕реНрддрд╛рд░ рд╣реИред рд╣рдо рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдкреНрд░реЙрдХреНрд╕реА рдХрд░рдиреЗ рд╕реЗ рдХреБрдЫ рд╕рдорд╕реНрдпрд╛рдПрдВ рд╣рд▓ рд╣реЛ рд╕рдХрддреА рд╣реИрдВ; рд╣рдо рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ "рдЕрд╕рдордорд┐рдд" рдЕрд╡рд░реЛрдзрди (рд╢реНрд░рдорд┐рдХ рдмреНрд▓реЙрдХ рдХрд░рддреЗ рд╣реИрдВ рд▓реЗрдХрд┐рди рдореБрдЦреНрдп рдзрд╛рдЧрд╛ рдирд╣реАрдВ) рдЕрдиреНрдп рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рд╣рд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ; рд╣рдореЗрдВ рдЗрд╕рдХреЗ рд╕рд╛рде рдХреБрдЫ рдЕрдиреБрднрд╡ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рддрд╛рдХрд┐ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдпрд╛ рдЬрд╛ рд╕рдХреЗ рдХрд┐ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рджрд░реНрдж рдмрд┐рдВрджреБ рдХрд╣рд╛рдВ рд╣реИрдВ, рдФрд░ рдлрд┐рд░ рд╣рдо рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдЙрдиреНрд╣реЗрдВ рдХреИрд╕реЗ рд╕рдВрдмреЛрдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПред рдЗрд╕ рд╕реНрддрд░ рдкрд░, рдореБрдЦреНрдп рдзрд╛рдЧреЗ рдкрд░ рдЕрд╡рд░реЛрдзрди рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдкрд░рдорд╛рдгреБ рд╡рд┐рдХрд▓реНрдк рд╣реИред

рд╕рднреА 5 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдореЗрд░рд╛ рдкреНрд░рд╢реНрди рд╣реИ: рдХреНрдпрд╛ рдЙрд╕ рдХрд▓реНрдкрдирд╛ рдореЗрдВ рдореБрдЦреНрдп рдереНрд░реЗрдб рд╕реАрдорд╛рдУрдВ рдХреЛ WASM рдкрд░ рдХреЙрдкреА рдХрд░рдиреЗ рдХреЗ рд╕рд╛рде рд╣рд░ рдХреЛрдИ рдареАрдХ рд╣реИ?

@chicoxyzzy , рдпрд╣рд╛рдБ sab+wasm рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рд▓рдВрдмреА рдЪрд░реНрдЪрд╛ рд╣реБрдИ: https://github.com/tc39/ecmascript_sharedmem/issues/59

@taisel , рдЕрдм рдореИрдВ рдкрд╛рдВрдбрд┐рддреНрдпрдкреВрд░реНрдг рд╣реЛ рд░рд╣рд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдлрд┐рд░ рднреА: "рдореБрдЦреНрдп рдзрд╛рдЧрд╛ рд╕реАрдорд╛рдПрдВ" рддрдХрдиреАрдХреА рд░реВрдк рд╕реЗ рдЙрд╕ рдпреБрдХреНрддрд┐ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рдирд╣реАрдВ рд╣реИрдВред рдпреБрдХреНрддрд┐ рдХреБрдЫ рдереНрд░реЗрдбреНрд╕ рдХреЛ рдмреНрд▓реЙрдХ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИ (рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рджреНрд╡рд╛рд░рд╛ рдЪреБрдиреЗ рдЧрдП рдорд╛рдирджрдВрдбреЛрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░), рдФрд░ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдпрд╣ рд╕реБрд╡рд┐рдзрд╛ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЗ рдореБрдЦреНрдп рдереНрд░реЗрдбреНрд╕ рд╕реЗ рдкреНрд░реЗрд░рд┐рдд рд╣реИ, рд▓реЗрдХрд┐рди рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдХрд┐рд╕реА рдЕрдиреНрдп рд╕реЗрдЯрд┐рдВрдЧ рдореЗрдВ JS + рд╕рд╛рдЭрд╛ рдореЗрдореЛрд░реА рдХреЗ рдЙрдкрдпреЛрдЧ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ рдЙрд╕ рд╕реАрдорд╛ рд╣реИред рдореИрдВ рдирд╣реАрдВ рджреЗрдЦрддрд╛ рдХрд┐ wasm рдХрд┐рд╕реА рднреА рдЕрд▓рдЧ рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдХреИрд╕рд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдореИрдВ рдХреБрдЫ рдкреНрд░рдХрд╛рд░ рдХреЗ рд╢реНрд░рдорд┐рдХреЛрдВ рдХреЛ рджреЗрдЦ рд╕рдХрддрд╛ рдерд╛, рдЬреИрд╕реЗ SharedWorkers, рд╕рд╛рдЭрд╛ рдореЗрдореЛрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, рд▓реЗрдХрд┐рди рдмреНрд▓реЙрдХ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рджреА рдЬрд╛ рд░рд╣реА рдереАред

рджрд░рдЕрд╕рд▓, рдЯреАрд╕реА39 рдХреЗ рд▓рд┐рдП рдореБрдЦреНрдп рдереНрд░реЗрдб рдкрд░ рдмреНрд▓реЙрдХ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рднреА рдЙрдкрдпреЛрдЧреА рдирд╣реАрдВ рд╣реЛрдЧрд╛, рдХреЗрд╡рд▓ рд╕рдВрдШрд░реНрд╖ рдХреЗ рд▓рд┐рдП, рдФрд░ рд╢рд╛рдпрдж рдкреВрд░реЗ рд╕рд╛рдЭрд╛ рд╕реНрдореГрддрд┐ рдкреНрд░рд╕реНрддрд╛рд╡ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЛ рдЦрддрд░реЗ рдореЗрдВ рдбрд╛рд▓ рджреЗрдЧрд╛ред рдЕрдм рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдореМрдЬреВрджрд╛ рд╡реЗрдм рдкрд╛рд░рд┐рд╕реНрдерд┐рддрд┐рдХреА рддрдВрддреНрд░ рдореЗрдВ рдлрд┐рдЯ рд╣реЛрдиреЗ рд╡рд╛рд▓реА рднрд╛рд╖рд╛ рдФрд░ рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдХреЗ рд▓рд┐рдП рдХрд╛рдлреА рд░реВрдврд╝рд┐рд╡рд╛рджреА рд╡рд┐рд╕реНрддрд╛рд░ рд╣реИред рд╣рдо рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдкреНрд░реЙрдХреНрд╕реА рдХрд░рдиреЗ рд╕реЗ рдХреБрдЫ рд╕рдорд╕реНрдпрд╛рдПрдВ рд╣рд▓ рд╣реЛ рд╕рдХрддреА рд╣реИрдВ; рд╣рдо рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ "рдЕрд╕рдордорд┐рдд" рдЕрд╡рд░реЛрдзрди (рд╢реНрд░рдорд┐рдХ рдмреНрд▓реЙрдХ рдХрд░рддреЗ рд╣реИрдВ рд▓реЗрдХрд┐рди рдореБрдЦреНрдп рдзрд╛рдЧрд╛ рдирд╣реАрдВ) рдЕрдиреНрдп рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рд╣рд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ; рд╣рдореЗрдВ рдЗрд╕рдХреЗ рд╕рд╛рде рдХреБрдЫ рдЕрдиреБрднрд╡ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рддрд╛рдХрд┐ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдпрд╛ рдЬрд╛ рд╕рдХреЗ рдХрд┐ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рджрд░реНрдж рдмрд┐рдВрджреБ рдХрд╣рд╛рдВ рд╣реИрдВ, рдФрд░ рдлрд┐рд░ рд╣рдо рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдЙрдиреНрд╣реЗрдВ рдХреИрд╕реЗ рд╕рдВрдмреЛрдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПред рдЗрд╕ рд╕реНрддрд░ рдкрд░, рдореБрдЦреНрдп рдзрд╛рдЧреЗ рдкрд░ рдЕрд╡рд░реЛрдзрди рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдкрд░рдорд╛рдгреБ рд╡рд┐рдХрд▓реНрдк рд╣реИред

@ рд▓рд╛рд░реНрд╕-рдЯреА-рд╣реИрдирд╕реЗрди рд╣рд╛рдБ, рдФрд░ рдореИрдВрдиреЗ рдЪрд░реНрдЪрд╛ рдХреЛ рдкреНрд░реЛрддреНрд╕рд╛рд╣рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрд╕ рдирд░рдо рд╕реАрдорд╛ рдХреЛ рдлрд┐рд░ рд╕реЗ рджреЛрд╣рд░рд╛рдпрд╛ред

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

рдЙрдкрд░реЛрдХреНрдд рдореЗрдВ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП, рдбрд┐рд╕реНрдХрд╢рди.рдПрдордбреА рдХреЗ рд╡реЗрдмрдЕрд╕реЗрдВрдмрд▓реА рд╕реЗрдХреНрд╢рди рдореЗрдВ sab+wasm рдЪрд░реНрдЪрд╛ рдХрд╛ рдПрдХ рдЕрдЪреНрдЫрд╛ рд╕рд╛рд░рд╛рдВрд╢ рд╣реИред

рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдереНрд░реЗрдбрд┐рдВрдЧ рдкреНрд░рд╕реНрддрд╛рд╡ рдХреЛ SAB+ рдХрд╛рд░реНрдпрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд╡реНрдпрд╡рд╣рд╛рд░ рд╕реЗ рдореЗрд▓ рдЦрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣рд╛рдВ рдирд╛рд╡ рдХреЛ рд╣рд┐рд▓рд╛рдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдирд╣реАрдВ рд╣реИред рд╣рдордиреЗ "рдкреНрдпреЛрд░ рд╡рд╛рд╕рдо" рдереНрд░реЗрдбреНрд╕ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХреА рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕рдВрджрд░реНрдн рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рд╣рдордиреЗ рддрдп рдХрд┐рдпрд╛ рдХрд┐ рдлреАрдЪрд░ рд╕рдорд╛рдирддрд╛ w/JavaScript + SAB рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдХреЗ рдмрд╛рдж рдЗрд╕реЗ рдмреЗрд╣рддрд░ рддрд░реАрдХреЗ рд╕реЗ рдирд┐рдкрдЯрд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ред

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдПрдЪрдЯреАрдПрдордПрд▓ рд╕реНрдкреЗрдХ рдЕрдм рдИрдПрд╕ рд╕реНрдкреЗрдХ рдбрдмреНрд▓реВрдЖрд░рдЯреА рдмреНрд▓реЙрдХрд┐рдВрдЧ рдХреЗ Atomics.wait рдХреЙрд▓ рдХрд░реЗрдВ)ред

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕