❌

Normal view

[Перевод] Ускоряем self-hosted Convex в два раза: AOT-компиляция TypeScript-функций в Wasm

Convex – это новый, но набирающий популярность фреймворк для реактивных веб-приложений, который позволяет писать транзакционные квери (queries) и мутации (mutations) на TypeScript с гарантиями консистентности.

Вся статья ниже относится к self-hosted версии Convex: convex-backend, а точнее, к моей пропатченной версии оного, так как “официальная” версия не пригодна к работе в продакшене и вряд ли тестировалась на сколь-нибудь нагруженном кейсе. Моя версия работает на виртуальном сервере с 32 ядрами и 64Гб памяти и обрабатывает до 15 тысяч Convex-кверей и мутаций в минуту.

Я навайбкодил convex-wasm-compiler, который компилирует Convex-квери и мутации в WebAssembly, и соответствующий патч для convex-backend, позволяющий выполнять скомпилированные в Wasm Convex-функции на файберах Wasmtime прямо в Tokio рантайме convex-backend.

TLDR: квери и мутации в среднем работают в 2 раза быстрее, хвосты задержек сократились втрое. Объём памяти, который сервер удерживает под готовые к выполнению окружения (V8-контексты или Wasm-окружения), уменьшился на 80%.

Читать далее

Ghostty 1.4: терминал ускоряется, экономит память и учится быть осторожнее

27 октября 2026 года Митчелл Хашимото выпустил эмулятор терминала с GPU-ускорением — Ghostty 1.4.0. За релизом стоят семь месяцев работы, 172 контрибьютера и 2889 коммитов. В тестах команды на macOS пропускная способность ввода-вывода выросла на 25–55%, а сжатие текстовой истории сократило занимаемую ею физическую память на 70–90%.

Откуда взялось такое ускорение, что изменилось в работе с графикой и SSH и на что обратить внимание перед обновлением? Разберём все главные изменения и их нюансы в нашем обзоре. 

Читать далее

Как мы выбирали шумоподавление для БОЛТУНа

Разобрались в подходах к шумоподавлению и собрали несколько стендов для БОЛТУНа. Попробовали выделять свой голос через VoxLock, ускорили обработку с WASM до нативного ONNX Runtime и проверили нагрузку от нескольких пользователей. Рассказываем про замеры, неудачную калибровку и почему пока занялись более лёгкой обработкой пауз.

Читать далее
❌