Talks
Speakers
Events
Topics
Search
Sign in
Search
Home
Talks
Speakers
Events
Topics
Leaderboard
Use
Analytics
Sign in
search talks for
⏎
Suggest modification to this talk
Title
Description
RubyKaigi2017 http://rubykaigi.org/2017/presentations/chancancode.html Two years ago at RubyKaigi, we demonstrated our initial work on Helix, an FFI toolkit that makes it easy for anyone to write Ruby native extensions in Rust. In this talk, we will focus on the challenges and lessons we learned while developing Helix. What did it take to fuse the two languages and still be able to take advantage of their unique features and benefits? How do we distribute the extensions to our end-users? Let's find out!
Date
Summarized using AI?
If this talk's summary was generated by AI, please check this box. A "Summarized using AI" badge will be displayed in the summary tab to indicate that the summary was generated using AI.
Show "Summarized using AI" badge on summary page
Summary
Markdown supported
In the presentation titled "Bending The Curve: Putting Rust in Ruby with Helix," held at RubyKaigi 2017, Terence Lee and Godfrey Chan discuss their open-source project Helix. Helix is an FFI (Foreign Function Interface) toolkit designed to simplify the process of integrating Rust code into Ruby applications by enabling developers to write native extensions in Rust. The presentation addresses the challenges and lessons learned from the development of Helix and highlights the benefits of combining Ruby and Rust. **Key Points Discussed:** - **Background on Helix:** Two years prior to this talk, a similar presentation was given, marking the initial showcase of Helix at RubyKaigi. Helix aims to overcome the performance limitations of Ruby by leveraging Rust. - **Performance Bottlenecks in Ruby:** While Ruby excels in many areas, its speed can be a limiting factor in performance-critical applications such as video encoding and machine learning. Native extensions, often written in C, can enhance performance but present challenges in terms of complexity and safety. - **Rust as a Solution:** Rust is introduced as a safer alternative to C. The language provides memory safety through its ownership model and allows for zero-cost abstractions, enabling high-level code to be both efficient and performant. For instance, operations in Rust can be just as concise as those in C, but with significantly improved safety guarantees. - **Helix Features:** Helix streamlines the process of writing Ruby native extensions in Rust. Developers start by writing their code in Ruby and only optimize sensitive segments using Helix, minimizing the need for a complete rewrite. Helix automatically generates necessary boilerplate code, which simplifies development. - **Demo of Helix's Capabilities:** The presenters provide a live demo showcasing a Rails app that transforms English text into Australian slang using Helix. The demo illustrates the seamless integration of Ruby and Rust, demonstrating how to build and test a Rust-based functionality within a Ruby application. - **Deployment and Development Challenges:** The presentation discusses the complexities of deploying Helix, including the use of CI environments to build binaries and the creation of a domain-specific language (DSL) to minimize the learning curve for Ruby developers unfamiliar with C or Rust. Additionally, challenges such as type safety and Rust's macro system are addressed. - **Future Developments:** The roadmap for Helix includes user feedback, potential enhancements, and the goal of making Rust native extensions more accessible to the Ruby community. The presenters encourage collaboration and improvement of Helix through the community's involvement. **Conclusions and Takeaways:** Helix offers a robust toolkit for Ruby developers looking to boost performance through Rust. By maintaining Ruby's ease of use while capitalizing on Rust’s efficiency and safety features, Helix has potential for wide application in projects requiring high performance. The presentation wraps up with an invitation for community input and further dialogue on the toolkit's future advancements. Ultimately, this session at RubyKaigi 2017 showcases the promising intersection of Ruby and Rust, encouraging developers to explore Helix and contribute to its evolution.
Suggest modifications
Cancel