Рубріки: Новини

WhatsApp скоротили на 50 000 рядків, переписавши частину коду C++ на Rust

Дмитро Сімагін

Фахівці Meta перенесли значну частину коду WhatsApp з мови програмування C++ на більш безпечну Rust. Замінили понад 160 000 рядків коду в критично важливій частині програми — обробці медіафайлів. Це дозволило не тільки суттєво скоротити код, але й знизити в сервісі небезпеку помилок управління пам’яттю.

Проблема з’явилась ще в 2015 році, коли спеціалісти компанії виявили, що кросплатформна бібліотека C++, яка розроблена WhatsApp для надсилання та послідовного форматування файлів MP4 (так звана «wamedia»), може бути модифікована для виявлення файлів, які не відповідають стандарту MP4. Це може викликати помилки на стороні одержувача.

Замість поступового переписування, в Meta розробили версію wamedia на Rust паралельно з оригінальною версією на C++. Потім було вирішено повністю переписати медіабібліотеку, паралельно підтримуючи дві реалізації — на C++ і на Rust.

Зрештою, компанія замінила 160 000 рядків C++ (без урахування тестів) на 90 000 рядків Rust (включно з тестами). Версія Rust продемонструвала переваги в продуктивності та використанні пам’яті під час виконання порівняно з C++. WhatsApp додав такі засоби захисту, як CFI, посилені розподільники пам’яті, безпечніші API обробки буферів тощо.

Нагадаємо, два тижні тому керівництво Meta ухвалило рішення припинити підтримку Workrooms — віртуальних просторів для віддаленої роботи.

Останні статті

Мобілізованим IT-фахівцям обіцяють офіцерське звання і службу за фахом

Військовослужбовці, які мають професійну кваліфікацію у сфері IT, можуть розраховувати на отримання офіцерського звання та…

13.03.2026

Windows 11 отримала підтримку екстремальної частоти оновлення екрану

В останніх збірках Windows 11 версій 24H2 та 25H2, доступних за програмою Windows Insider, з'явилася…

13.03.2026

Meta відкладає реліз LLM Avocado: порівняння з конкурентами поки не вражає

Компанія Марка Цукерберга вирішила взяти паузу в перегонах за лідерство серед LLM. Запуск флагманської моделі…

13.03.2026

Рації, пейджери та телефонні будки: блокування мобільного інтернету повертає росіян у 90-ті

Москва стрімко занурюється в доцифрову епоху: через масштабні відключення мобільного інтернету, які тривають вже тиждень,…

13.03.2026

Тепер Gemini може замовити для вас обід чи викликати таксі

Google розгортає нову функцію Gemini під назвою «автоматизація екрана». Новинка, яка поки доступна лише на…

13.03.2026

Claude тепер вміє створювати графіку та візуалізації

Чат-бот Claude від Anthropic отримав функцію генерації векторної графіки та складних діаграм у реальному часі.…

13.03.2026