Talks
Speakers
Events
Topics
Sign in
Home
Talks
Speakers
Events
Topics
Leaderboard
Use
Analytics
Sign in
Suggest modification to this talk
Title
Description
RubyKaigi 2016, I proposed a new concurrency abstraction named Guild for Ruby 3. Guild will achieve safe concurrency programming and parallel computation. We are making prototype of Guild. This talk will introduce Guild concepts and evaluation with prototype of Guild. Also we are discussing about the name of "Guild" to find out the another appropriate name. I will introduce the discussion of this "naming battle". RubyKaigi 2018 https://rubykaigi.org/2018/presentations/ko1
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
The video titled "Guild Prototype" is presented by Koichi Sasada at RubyKaigi 2018. In this talk, Sasada discusses progress on a concurrency abstraction named Guild for Ruby 3, originally proposed two years prior. The Guild aims to provide a safer and more efficient model for concurrent programming by minimizing issues associated with traditional thread-based paradigms. The video highlights key points about Guild and its prototype, including: - **Background of Guild**: The Guild concept is a response to the difficulties Ruby programmers face with thread-based programming, particularly related to synchronization and race conditions. - **Productivity Focus**: The aim is to enhance programmer productivity by simplifying the complexity of multi-threading, as modern hardware increasingly relies on multi-core processing. - **Key Features of Guild**: Each Guild operates without shared mutable state, thus avoiding many bugs associated with traditional shared-object programming. This promotes independent operation and reduces the risk of race conditions. - **Demonstration of Guild**: Sasada showcases a benchmark comparing traditional single-threaded Fibonacci calculations with a Guild-based implementation. The use of multiple Guilds dramatically speeds up the computation, with Guilds allowing better CPU resource utilization. For instance, a process that takes 30 minutes with 40 Guilds might take over three hours on a single-threaded approach. - **Scalability Concerns**: While the Guild model offers efficiency improvements with scalability, the overhead of managing small tasks can sometimes offset performance gains due to the complexity introduced by managing multiple Guilds. - **Other Applications**: Sasada also tests Guild with tasks such as counting unique elements in a file, displaying its versatility in handling various computational tasks effectively. - **Future Improvements**: He expresses a desire to further optimize Guild for better performance and stability, as well as to simplify the synchronization mechanisms involved. - **Naming Discussion**: Finally, the presentation touches on the significance of naming the abstraction, discussing potential rebranding to reflect its objectives better. In conclusion, Sasada emphasizes the potential of Guild to revolutionize concurrency in Ruby, making it more accessible to developers. He invites participants to engage further during the conference and explore the Guild prototype available at the Cookpad booth for hands-on experience.
Suggest modifications
Cancel