Как работает счётчик ссылок (Rc) в Rust?

В этой статье я хочу рассказать, как создать свой Rc на Rust. Для этого мы будем использовать только стандартную библиотеку. Зачем это нужно? Это хорошая практика, чтобы лучше понять, как работает Rc. Разумеется, статья расчитана на тех, кто начинает изучать Rust.

Python пакеты на Rust-е

Начинаем делать Python либу на Rust-е.

Я выступал с докладом по этой теме на PiterPy 2023. Видео можно посмотреть здесь.

Сейчас я хочу текстом описать процесс создания проекта и в будущем возможно будут другие гайды на что стоит обратить внимание при использовании Rust в Python.

Почему Rust? Ведь есть множество других способов написать производительный код. И да, в первую очередь мы используем другой язык программирования, чтобы ускорить Python.

Альтерантивы

  • Cython
  • Numba
  • ctypes — модуль для интеграции с языком С.

Как альтернативу, я бы ещё добавил NumPy и подобные ему инструменты, так как можно сильно ускорить работу программы, начав использовать их.

Самый главный плюс — это Rust. И вот почему...

Python Project Template

Иметь свои шаблон необходимо, но стоит сразу обратить внимание на то, что нужно добавлять туда, а что нет. В этой статье я расскажу какие преимущества использования шаблона проекта для Python и как его создать с помощью cookiecutter. Также я расскажу про структуру проекта и какие инструменты я использую в своем шаблоне и почему.

Создание шаблона проекта позволяет сэкономить время на настройку проекта, а также сделать его структуру более удобной для разработки. Базовые рутинные вещи должны быть вынесены в шаблон, например, конфигурация линтеров, иначе они будут переходить из проекта в проект, тянув за собой все исторические моменты предыдущего. Если вы хотите всегда держать уровень своих проектов, то вам следует сделать шаблон, который будет использоваться в будущем.

Hello world!

Возможно здесь будет что-то интересное. Давно хотел сделать свой блог. Но скорее всего здесь будут заметки из моего лично опыта, чтобы я мог к ним вернуться со временем...