Фриланс › Услуги Фрилансеров › Разработка программ › Разработка модулей WebAssembly со скоростью, близкой к нативной
Разработка модулей WebAssembly со скоростью, близкой к нативной
Описание услуги
Я делаю модули на WebAssembly, которые приносят в браузер скорость, близкую к нативной, чтобы тяжёлые вычисления, которые раньше еле ползли на чистом JavaScript, наконец работали быстро прямо у ваших пользователей. Основная моя работа — перенос существующего кода на C, C++ и Rust в WASM: подбираю правильный тулчейн, модель памяти и флаги оптимизации, а затем оборачиваю всё в понятный JavaScript-API, который ваша фронтенд-команда вызывает, не погружаясь в низкоуровневые детали. Если у вас уже есть нативная библиотека, делающая настоящую работу, я перенесу её в веб без полного переписывания, а если проект начинается с нуля — напишу вычислительное ядро на Rust ради безопасности и скорости.
WebAssembly особенно окупается на всём, что упирается в вычисления: обработка изображений и видео, аудиоконвейеры, операции с большими массивами и матрицами, парсеры, сжатие и распаковка, криптография, физика и симуляции или обработка больших наборов данных прямо во вкладке. Границу между JS и WASM я считаю такой же важной, как и само ядро: быстрый модуль, привязанный к медленному мосту, всё равно медленный. Поэтому я свожу к минимуму копирования через эту границу, осознанно использую общую память и типизированные массивы, а долгие задачи выношу в Web Workers, чтобы интерфейс оставался отзывчивым. Где это уместно для целевой платформы, задействую SIMD и потоки, чтобы выжать ещё.
Вы получаете документированный версионируемый модуль с типизированным интерфейсом, небольшое демо, доказывающее цифры, и бенчмарки в сравнении с той JavaScript-реализацией, которую он заменяет. Я проверяю работу в основных браузерах, слежу за честным размером бандла и передаю исходники со скриптом сборки, чтобы команда могла пересобрать модуль в любой момент. Если у вас уже есть WASM-модуль, который капризничает или тормозит, берусь и за аудит с оптимизацией готовых сборок.
— Перенос C, C++ и Rust в WebAssembly
— Быстрые модули для изображений, видео и данных
— Интеграция с JS, Workers, SIMD и потоки
— Бенчмарки, документация и воспроизводимая сборка
WebAssembly особенно окупается на всём, что упирается в вычисления: обработка изображений и видео, аудиоконвейеры, операции с большими массивами и матрицами, парсеры, сжатие и распаковка, криптография, физика и симуляции или обработка больших наборов данных прямо во вкладке. Границу между JS и WASM я считаю такой же важной, как и само ядро: быстрый модуль, привязанный к медленному мосту, всё равно медленный. Поэтому я свожу к минимуму копирования через эту границу, осознанно использую общую память и типизированные массивы, а долгие задачи выношу в Web Workers, чтобы интерфейс оставался отзывчивым. Где это уместно для целевой платформы, задействую SIMD и потоки, чтобы выжать ещё.
Вы получаете документированный версионируемый модуль с типизированным интерфейсом, небольшое демо, доказывающее цифры, и бенчмарки в сравнении с той JavaScript-реализацией, которую он заменяет. Я проверяю работу в основных браузерах, слежу за честным размером бандла и передаю исходники со скриптом сборки, чтобы команда могла пересобрать модуль в любой момент. Если у вас уже есть WASM-модуль, который капризничает или тормозит, берусь и за аудит с оптимизацией готовых сборок.
— Перенос C, C++ и Rust в WebAssembly
— Быстрые модули для изображений, видео и данных
— Интеграция с JS, Workers, SIMD и потоки
— Бенчмарки, документация и воспроизводимая сборка
Связаться с фрилансером
Закажите услугу или задайте вопрос исполнителю.
Контакты фрилансера
E-mailПоказать
