Talks
Speakers
Events
Topics
Sign in
Home
Talks
Speakers
Events
Topics
Leaderboard
Use
Analytics
Sign in
Suggest modification to this talk
Title
Description
RubyConf 2019 - What's happening when initializing mruby? by Yurie Yamane and Masayoshi Takahashi Like MRI, mruby initializes all classes before execution. This has a negative impact on Ruby's initialization speed and memory. This increase in memory usage is particularly fatal for mruby. We have created a new mrbgem to solve this issue. The key idea is pre-execution; we actually run mruby and do initialization, generate the structures in the form of C source code, and recompile it. In this session, we will look at the initial behavior of the mruby through an introduction to our tools. #rubyconf2019 #confreaks
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 video titled "What's happening when initializing mruby?" presented at RubyConf 2019, Yurie Yamane and Masayoshi Takahashi delve into the initialization process of mruby, a lightweight implementation of the Ruby programming language optimized for embedded systems. The session begins with a brief introduction to mruby and its significance in embedded environments, highlighting its smaller size compared to other Ruby versions like MRI and JRuby. The speakers outline the challenges faced during mruby's initialization, particularly concerning memory usage and execution speed. Key points discussed include: - **Overview of mruby**: mruby aims to comply with the ISO Ruby standard while focusing on embedded applications such as servers and games. - **Demonstration**: The team showcases mruby running on the M5StickC board, displaying functionalities like a countdown timer and movement response, demonstrating its practical application capabilities. - **Initialization Process**: Initialization in mruby involves setting up core libraries, defining classes, modules, and standard objects, which significantly impacts memory allocation. - **Memory Management**: mruby's memory management involves dynamic memory allocation during initialization, creating potential issues for resource-limited environments. - **Proposed Solutions**: The speakers present a new approach to mruby's initialization by implementing pre-execution. This technique runs mruby to generate C source code, which is then compiled, thereby optimizing memory usage. - **Results of the Enhancements**: They discuss test results showing reduced memory usage and improved performance, crucial for embedded programming. - **Future Directions**: Insights are shared on ongoing efforts to enhance memory management without sacrificing functionality, emphasizing structured data organization and efficient method handling. The conclusion reiterates the importance of optimizing mruby for better performance in embedded systems, inviting further discussions and collaboration from the audience on these innovations and improvements.
Suggest modifications
Cancel