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

«У 10 разів швидше за Kotlin і в 3 рази швидше за Go»: в AWS пояснили, чому Rust став дефолтною мовою для нових проектів

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

Під час конференції re:Invent у Лас-Вегасі представники AWS провели окрему сесію про використання Rust всередині компанії. Виявилось, що ця мова тепер застосовується за замовчуванням для певних типів проектів, оскільки виявилося, що Rust набагато швидший, ніж Kotlin (мова JVM) або Go, частково завдяки уникненню збирання сміття, пише Devclass.

Збирання сміття – це метод, який використовується в багатьох мовах програмування для автоматичного виділення та звільнення пам’яті, але він також створює додаткові витрати, особливо помітні у великомасштабних розподілених додатках.

«Код Rust був у 10 разів швидшим, ніж наша ретельно налаштована реалізація Kotlin, незважаючи на відсутність спроб зробити його швидшим», — заявив технічний директор AWS Вернер Фогельс.

За словами Дарко Месароса, ще одного представника компанії, Rust тепер є мовою за замовчуванням для всіх проектів обробки даних в AWS. Хмарний гігант також використовує Rust для своїх мікровіртуальних машин (мікро-VMS) Bottlerocket та Firecracker.

Розробників може не здивувати, що Rust набагато продуктивніший за Kotlin, але порівняння з Go менш очевидне, оскільки Go також компілюється в нативний код. Тим не менш, як стверджують в AWS, код Go «витрачає 30% свого часу на збирання сміття». Перехід з Go на Rust призвів до того, що код став майже втричі швидшим і міг обробляти в набагато більше точок даних за секунду, ніж той самий код на Go.

Звичайно, код Go можна оптимізувати, зменшивши використання збирача сміття, використовуючи техніку, яка називається управління пам’яттю поза купою. Але проблема з цим полягає в тому, що такий код стає «непідтримуваним безладом», оскільки він не відповідає ідеї Go. Тому «ідіоматичний код Rust дає продуктивність, яку забезпечує ретельно оптимізований код Go».

Що стосується порад щодо використання Rust, то представники AWS рекомендували налаштовувати попередження clippy — clippy є лінтером Rust — щоб компіляції з попередженнями завершались з помилкою. Вони також рекомендували не використовувати функції обробки помилок unwrap() та expect() для інших цілей, окрім як для налагодження, та видалити їх у продакшн-коді. Під час використання Rust з Lambda вони запропонували використовувати емулятор Lambda для налагодження, що особливо корисно для коду, який використовує бібліотеку Tokio Networking, оскільки емулятор надає доступ до консолі Tokio, інструменту налагодження та профілювання, але сама Lambda цього не робить.

Підтримка функцій Rust у Lambda стала загальнодоступною минулого місяця, хоча вона вже деякий час працює добре. Для Rust немає середовища виконання Lambda; оскільки це нативний код, воно працює лише для ОС, зазвичай використовуючи Amazon Linux 2023.

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

Zoom випустить фотореалістичних аватарів, які замінять людей на нарадах

Відеосервіс Zoom анонсує технологію цифрових двійників, які самостійно відвідуватимуть робочі зустрічі. Про це пише TechCrunch.…

10.03.2026

Meta купує Moltbook: соціальну мережу для агентів та ботів

IT-гігант Meta (материнська компанія Facebook) офіційно оголосив про придбання Moltbook — вірусної соціальної мережі, яка…

10.03.2026

Китайський агент штучного інтелекту почав таємно майнити криптовалюту

Експериментальний агент штучного інтелекту ROME, якого створили дослідники, пов'язані з китайською компанією Alibaba, продемонстрував неочікувану…

10.03.2026

Заробляли на DDoS-атаках: у Польщі викрито групу школярів-хакерів, наймолодшому 12 років

Центральне бюро боротьби з кіберзлочинністю Польщі (CBZC) провело масштабну операцію, результатом якої стало викриття групи…

10.03.2026

Microsoft випустила Copilot Cowork — мультимодальний інструмент для запуску агентів

Microsoft оголосила про початок інтеграції технологій Anthropic у свої сервіси, представивши новий інструмент Copilot Cowork,…

10.03.2026

Anthropic презентує новий інструмент перевірки пул-реквестів Code Review

Компанія Anthropic оголосила про доступність у Claude Code бета-версії нового інструменту Code Review. Він розробленій…

10.03.2026