class: center, middle # Exploring Ruby through Rust # ๐ด๐๐บโ๐ฆ by [@steveklabnik](https://twitter.com/steveklabnik) --- class: middle # โ Hold on! We're gonna talk about a lot of different stuff. --- # โ๐ฆ Rust * I really love Rust ๐ * It's cool if you don't ๐ ๐พ * This talk is about Rust, and Ruby, and C. And having fun. ๐ --- # โ๐ฆ Rust * Apps * Libraries * Languages * Operating Systems (intermezzOS) --- # โ๐ฆ Rust * Apps * Libraries * Languages * Operating Systems (intermezzOS) * Hardware (?) * Physics (?) --- # โ๐ฆ Rust * `String#blank?` ```ruby /\A[[:space:]]*\z/ === "ใใใซใใกใฏ" ``` * `chars.rs` --- # Why? Let's talk about Ruby internals. * `include/ruby/ruby.h` * `RObject` * `RBasic` * `VALUE` --- class: middle # What happens when we `blank?` in Ruby? * `mem.rb` --- # Let's talk about Rust! * char ๐ค * no GC ๐ * optimizations โก * stack vs heap allocation ๐ --- class: middle # Let's talk about C and Ruby! * [fast blank](https://github.com/SamSaffron/fast_blank) * cexts & FFI --- class: middle # Rust + Gems .sub[(actually Python but you get it ๐)] .bump[![sentry blog post](blog.png)] --- # Rust + Gems .sub[(actually Python but you get it ๐)] ![python speed improvement](python.png) --- # Rust + Gems .sub[(actually Python but you get it ๐)] ![whole site averages](avg.png) --- # Let's do something silly #๐๐๐ I told you this talk wasn't about serious stuff. But I've been so serious. --- class: center, middle #
ANNOUNCING STEVE"S FORK OF RUBY
# ๐๐๐ --- class: middle, center #
ANNOUNCING STEVE"S FORK OF RUBY
# ๐ด๐ด๐ด --- class: middle class: center, middle #
ANNOUNCING STEVE"S FORK OF RUBY
([It has four commits](https://github.com/ruby/ruby/compare/trunk...steveklabnik:rust)) --- class: middle class: center, middle # THANK YOU Go forth, do fun stuff, enjoy computers #โค๏ธโค๏ธโค๏ธ