Speed up your Python modules using Rust
Abhiram Ravikumar (~abhiram89) |
Python is a great language, we all know that. Although, sometimes Python
can be a bit of a slowcoach when it comes to performing certain tasks. That's where developers have
been using C/C++, building extensions and integrating them with Python to speed up processes. However, writing C/C++ extensions with strict deadlines and timelines is a bit difficult and also, these low level languages tend to introduce bugs with respect to memory management, lead to segmentation faults and data races. How often have we all faced the
dangling pointer error in C/C++ just because we forgot the de-reference a pointer somewhere?
Enter Rust, a modern systems programming language that's much better in terms of memory safety, libraries and owing to it's amazing ownership & borrowing principles - keeps the bugs few. documentation up to date and a whole lot more! Bonus - it's completely a open sourced programming language, supported by Mozilla, the non-profit behind the Firefox browser.
Basic outline of the talk
- Python's performance story and the need for native extensions [4-5 minutes]
- Problems with C/C++ [4-5 minutes]
- Rust and its success stories [8-10 minutes]
- Why is Rust so cool!? [10-12 minutes]
- Ownership & Borrowing,
- Garbage Collection,
- FFI (Foreign Function Interface) - along with code snippets
- Get started with Rust! - links to community & reach-out [2 minutes]
- Q/A - [2 minutes]
Who is this talk for?
- Python developers who deal with performance issues on a daily basis
- The curious folk who want to know what Rust is, and why it's growing steadily
- C/C++ developers who'd like to check out a new systems level programming language
- A fresh perspective to improve performance metrics in python projects
- Preview of Rust code and samples
- Sample of Rust's FFI to ensure python developers can easily call Rust code
- Basic scripting in Python
- Coding experience in C / C++
Abhiram has been a part of the open source world in Bangalore for over 3 years now. As a student volunteer in Bangalore, he started contributing to Mozilla as well as FSMK (Free Software Movement Karnataka). After becoming a Mozilla Rep, he has presented over 40 sessions and workshops on python scripting, web dev, Rust and git version control at various venues all over India. Being an internet activist, he was an integral part of the #SaveTheInternet campaign in India during the fight against net neutrality violations. In 2016, he was invited to Mozilla’s Leadership Summit in Singapore to present a talk on running a successful campus club for ~3 years.
Currently, he is a Mozilla Tech Speaker well versed in topics like full stack web development, decentralization, scalable infrastructure set up, open source contribution practices and mentoring web enthusiasts . For the past 2 years, he is working at SAP Labs in Bangalore as a full stack web developer and continues to contribute to Mozilla India on a voluntary basis.
Recently, he was invited to record a programming course on Rust by the educational website Lynda.com at Los Angeles, California. The course is titled First Look: Rust went live last week!
Events and speaking engagements
- Mozillians profile - endorsements
- Mozilla Reps profile - activities and speaking engagements
- LinkedIn - professional career
- GitHub - code base & projects
- Speakerdeck.com - presentations and decks