Talks
Speakers
Events
Topics
Sign in
Home
Talks
Speakers
Events
Topics
Leaderboard
Use
Analytics
Sign in
Suggest modification to this talk
Title
Description
JRuby: Zero to Scale! 🔥 by Charles Oliver Nutter and Thomas E Enebo JRuby is deployed by hundreds of companies, running Rails and other services at higher speeds and with better scalability than any other runtime. With JRuby you get better utilization of system resources, the performance and tooling of the JVM, and a massive collection of libraries to add to your toolbox. In this talk, we'll cover: Getting started on JRuby Comparison to CRuby Building, migrating, and deploying apps Tuning, profiling, and monitoring Scaling considerations #confreaks #rubyconf2019 #rubyconf
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
**JRuby: Zero to Scale! 🔥** In this presentation at RubyConf 2019, Charles Oliver Nutter and Thomas E Enebo delve into JRuby, an alternative Ruby implementation that runs on the Java Virtual Machine (JVM). Designed for compatibility with CRuby, JRuby offers numerous advantages, particularly in terms of performance and scalability. Key Points Discussed: - **Getting Started with JRuby**: - Installing Java (version 8 or higher is recommended) is the first step to using JRuby. - JRuby installations mimic those for CRuby, making the transition straightforward. - **JRuby vs. CRuby**: - JRuby allows for concurrent execution of Ruby code using native threads, while CRuby is limited by a global interpreter lock (GIL) that reduces performance on multi-threading tasks. - A practical micro-benchmark showed substantial improvements in CPU utilization with JRuby compared to CRuby when executing concurrent operations. - **Performance Improvements**: - The recent JRuby release (9.2.9) has reduced memory usage by 24% and improved startup times significantly. - JRuby takes advantage of JVM features such as just-in-time compilation and various garbage collectors, contributing to enhanced performance. - Benchmark results highlighted that JRuby achieved about four times the performance in micro-services compared to CRuby, although the performance difference narrows in larger applications like Redmine. - **Migration and Compatibility Considerations**: - Migrating applications to JRuby requires assessing C extensions and ensuring thread compatibility. - Tools like the JRuby Lint gem help analyze existing codebases for compatibility issues. - **Scaling and Monitoring**: - JRuby can consume more memory than CRuby due to JVM resource management, but efficient use of threads can yield better performance outcomes. - The talk discussed tools for performance monitoring in JRuby applications, such as VisualVM, JDK Flight Recorder, and Async Profiler, which assist in understanding and improving application behavior. **Conclusion**: Nutter and Enebo encourage developers to consider leveraging JRuby for its enhanced concurrency and performance capabilities, particularly for applications that can benefit from multi-threading. Despite some challenges in startup times and native C extension support, the advantages of JRuby, especially in resource utilization and speed, present a compelling case for adoption. Overall, the session presents JRuby not just as an alternative to Ruby but as a powerful tool for building scalable applications.
Suggest modifications
Cancel