Доступен предварительный вариант стандарта WebAssembly 2.0
Автор
Сообщение
news_bot ®
Стаж: 6 лет 9 месяцев
Сообщений: 27286
Консорциум W3C опубликовал черновой вариант новой спецификации, стандартизирующей промежуточного код WebAssembly 2.0 и связанный с ним API, позволяющий создавать высокопроизводительные приложения, переносимые между браузерами и аппаратными платформами. WebAssembly предоставляет не зависящий от браузера универсальный низкоуровневый промежуточный код для выполнения приложений, скомпилированных из различных языков программирования. Благодаря задействованию JIT для WebAssembly можно добиться уровня производительности близкого к нативному коду.
Технология WebAssembly может применяться для выполнения в браузере задач, требующих высокой производительности, например, кодирования видео, обработки звука, манипуляции с графикой и 3D, разработки игр, криптографических операций и математических вычислений через организацию выполнения в браузере кода, написанного на компилируемых языках, таких как C/C++.
Среди основных задач WebAssembly выделяется обеспечение переносимости, предсказуемость поведения и идентичности выполнения кода на разных платформах. Последнее время WebAssembly также продвигается в качестве универсальной платформы для безопасного выполнения кода в любых инфраструктурах, операционных системах и устройствах, не ограничиваясь браузерами.
W3C опубликовал три предварительные спецификации WebAssembly 2.0:
- WebAssembly Core - описывает низкоуровневую виртуальную машину для выполнения промежуточного кода WebAssembly. Связанные с WebAssembly ресурсы поставляются в формате ".wasm", схожем с файлами ".class" в Java и содержащем статические данные и сегменты кода для работы с этими данными.
- WebAssembly JavaScript Interface - предоставляет API для интеграции с JavaScript. Позволяет получать значения и передавать параметры в функции WebAssembly. Выполнение WebAssembly соответствует модели безопасности JavaScript и всё взаимодействие с основной системой производится по аналогии с выполнением JavaScript-кода.
- WebAssembly Web API - определяет программный интерфейс на основе механизма Promise для запроса и выполнения ресурсов ".wasm". Формат ресурсов WebAssembly оптимизирован для начала выполнения, не дожидаясь полной загрузки файла, что позволяет повысить отзывчивость web-приложений.
Основные изменения в WebAssembly 2.0, по сравнению с первой версией стандарта:
- Поддержка векторного типа v128 и связанных с ним векторных инструкций, позволяющих параллельно выполнять действия над несколькими числовыми значениями (SIMD, single instruction multiple data).
- Возможность импорта и экспорта изменяемых (mutable) глобальных переменных, позволяющих применять глобальное связывание для таких значений, как указатели стека в C++.
- Новые инструкции для преобразования типа float в int, которые вместо генерации исключения при переполнении результата возвращают минимально или максимально возможное значение (необходимо для SIMD).
- Инструкции для расширения знака целых чисел (увеличение разрядности числа с сохранением знака и значения).
- Поддержка возвращения нескольких значений блоками и функциями (в дополнение к передаче в функции нескольких параметров).
- Реализация JavaScript-функций BigInt64Array и BigUint64Array для преобразования между JavaScript-типом BigInt и представлением 64-разрядных целых чисел в WebAssembly.
- Поддержка ссылочных типов (funcref и externref) и связанных с ними инструкций (select, ref.null, ref.func и ref.is_null).
- Инструкции memory.copy, memory.fill, memory.init и data.drop для копирования данных между областями памяти и очистки регионов памяти.
- Инструкции для прямого доступа и изменения таблиц (table.set, table.get, table.size, table.grow). Возможность создания, импорта и экспорта нескольких таблиц в одном модуле. Функции копирования/заполнения таблиц в пакетном режиме (table.copy, table.init и elem.drop).
===========
Источник:
OpenNet.RU
===========
Похожие новости
- Главная ссылка к новости (https://www.w3.org/blog/news/a...)
- OpenNews: Доступен Wasmer 2.0, инструментарий для создания приложений на базе WebAssembly
- OpenNews: Доступен Emscripten 3.0, компилятор из C/C++ в WebAssembly
- OpenNews: Вариант LibreOffice, скомпилированный в WebAssembly и работающий в web-браузере
- OpenNews: Первый выпуск wasm3, быстрого интерпретатора WebAssembly
- OpenNews: W3C придал WebAssembly статус рекомендованного стандарта
Похожие новости:
- Вариант LibreOffice, скомпилированный в WebAssembly и работающий в web-браузере
- В основной ветке Python появилась возможность сборки для работы в браузере
- [.NET, C#, WebAssembly] Хостим WASM-приложения на github pages в два клика (перевод)
- [JavaScript, Программирование, Алгоритмы, Обработка изображений, Машинное обучение] Как мы создали Web приложение для определения лиц и масок для Google Chrome (часть 2) (перевод)
- [Обработка изображений, Браузеры, Машинное обучение, WebAssembly] Smart Engines предоставила безопасную альтернативу сервисам распознавания документов в Интернете
- Доступен Wasmer 2.0, инструментарий для создания приложений на базе WebAssembly
- Обновление LibreOffice 7.1.3. Начало интеграции поддержки WebAssembly в LibreOffice
- [JavaScript, Google Chrome, WebAssembly] Что вошло в релиз движка V8 версии 9.0 (перевод)
- [JavaScript, C, Rust, WebAssembly] Оптимизируем производительность: JavaScript (V8) vs AssemblyScript (WebAssembly) (перевод)
- [Firefox, Google Chrome, Расширения для браузеров, Браузеры] Почему uBlock Origin лучше работает в Firefox
Теги для поиска: #_webassembly
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 23-Ноя 01:36
Часовой пояс: UTC + 5
Автор | Сообщение |
---|---|
news_bot ®
Стаж: 6 лет 9 месяцев |
|
Консорциум W3C опубликовал черновой вариант новой спецификации, стандартизирующей промежуточного код WebAssembly 2.0 и связанный с ним API, позволяющий создавать высокопроизводительные приложения, переносимые между браузерами и аппаратными платформами. WebAssembly предоставляет не зависящий от браузера универсальный низкоуровневый промежуточный код для выполнения приложений, скомпилированных из различных языков программирования. Благодаря задействованию JIT для WebAssembly можно добиться уровня производительности близкого к нативному коду. Технология WebAssembly может применяться для выполнения в браузере задач, требующих высокой производительности, например, кодирования видео, обработки звука, манипуляции с графикой и 3D, разработки игр, криптографических операций и математических вычислений через организацию выполнения в браузере кода, написанного на компилируемых языках, таких как C/C++. Среди основных задач WebAssembly выделяется обеспечение переносимости, предсказуемость поведения и идентичности выполнения кода на разных платформах. Последнее время WebAssembly также продвигается в качестве универсальной платформы для безопасного выполнения кода в любых инфраструктурах, операционных системах и устройствах, не ограничиваясь браузерами. W3C опубликовал три предварительные спецификации WebAssembly 2.0:
=========== Источник: OpenNet.RU =========== Похожие новости
|
|
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 23-Ноя 01:36
Часовой пояс: UTC + 5