Ruby Video
Talks
Speakers
Events
Topics
Leaderboard
Sign in
Talks
Speakers
Events
Topics
Use
Analytics
Sign in
Suggest modification to this talk
Title
Description
RubyConf 2018 - High-speed cables for Ruby by Vladimir Dementyev Modern web applications actively use real-time features. Unfortunately, nowadays Ruby is rarely considered as a technology to implement yet another chat – Ruby performance leaves much to be desired when dealing with concurrency and high-loads. Does this mean that we should betray our favorite language, which brings us happiness, in favor of others? My answer is NO, and I want to show you, how we can combine the elegance of Ruby with the power of other languages to improve the performance of real-time applications.
Date
Summary
Markdown supported
In his talk 'High-Speed Cables for Ruby' at RubyConf 2018, Vladimir Dementyev addresses the challenges and possibilities of building real-time applications using Ruby, which traditionally struggles with concurrency. He emphasizes the growing demand for real-time features in modern web applications and argues against abandoning Ruby in favor of other languages. Key points discussed include: - **Definition of Real-Time Applications**: Unlike traditional request/response communications, real-time applications utilize bi-directional communication and persistent connections, essential for efficient data exchange. - **Concurrency Issues**: Ruby's limitations with concurrency have led to a belief that it's nearly impossible to develop real-time applications. Dementyev aims to counter this perception. - **Action Cable**: A significant part of the discussion focuses on Action Cable, Ruby on Rails' framework for WebSockets, which allows developers to implement real-time features relatively simply. However, it faces scalability challenges. - **Performance Benchmarking**: Dementyev shares benchmarks indicating that Action Cable incurs significant latency with an increasing number of connected clients, demonstrating that it may not be suitable for high-load scenarios. - **Memory Management**: He highlights the memory consumption issues in Action Cable, which can lead to inefficient resource use under load, especially for long-lived connections. - **Alternative Tools**: The talk introduces Iodine and Lazily as alternatives that provide better memory efficiency and concurrent handling, performing similarly to more mainstream languages like Go. - **AnyCable**: Dementyev presents AnyCable as a solution to combine Ruby with more performant languages, allowing developers to delegate intensive tasks, thereby enhancing scalability and performance without discarding Ruby’s elegance. In conclusion, Dementyev encourages Ruby developers to embrace new tools and languages to optimize their real-time applications while maintaining the elegance that Ruby offers. As the framework and support for real-time Ruby applications evolve, developers should stay engaged with these advancements for better performance. The talk underscores the importance of innovation within the Ruby ecosystem in the context of concurrent application development.
Suggest modifications
Cancel