Вопрос оптимизации: как лучше возвращать структуры из функции, что бы не было лишних выделений и копирований областей памяти. Когда пишешь код, то кажется, что если экземпляр структуры размещается на стеке, то он должен копироваться в стек вызывающей функции и оптимальнее возвращать указатель. Но по анализу ассемблерного кода, сделанного компилятором, получается, что все не совсем так.
Fullstack
Go (fiber) vs Rust (axum) JWT&DB
![](https://habrastorage.org/r/w1560/getpro/habr/upload_files/2cb/c5c/240/2cbc5c240af118cc306bc3dbd33c9c15.png)
На medium.com есть ряд статей со сравнением простых web-сервисов, написанных на разных языках. Одна из них Go vs Rust: Performance comparison for JWT verify and MySQL query и судя по ней, Go на 42% быстрее чем Rust. Я решил перепроверить и заодно поменять Gin на Fiber, Axis на Axum и MySQL на PostgreSQL.
Web-сервис будет принимать запрос с авторизацией по токену JWT, искать в БД пользователя с данными email из JWT и возвращать его в виде json. Так как подобная авторизация используется повсеместно, то тест актуальный.
Из Go в Rust или ад generics
![](https://habrastorage.org/r/w1560/getpro/habr/upload_files/926/1d8/71c/9261d871cdc336d9330927b4dbf2d8f5.png)
В Go ввели generics и он потерял одно из своих основных преимуществ: легкую читаемость.
Как же обходились без шаблонов в Go 13 лет? Это не помешало выпустить отличные библиотеки и сделать хорошую стандартную библиотеку! При этом сохранялась лаконичность и легкость языка. А теперь...
Создание игрового сервера на базе Azure
Под катом описание разработки и разворачивания сервера в облаке.
Информация
- В рейтинге
- 3 393-й
- Откуда
- Хабаровск, Хабаровский край, Россия
- Дата рождения
- Зарегистрирован
- Активность