Artwork

Content provided by hexdevs. All podcast content including episodes, graphics, and podcast descriptions are uploaded and provided directly by hexdevs or their podcast platform partner. If you believe someone is using your copyrighted work without your permission, you can follow the process outlined here https://player.fm/legal.
Player FM - Podcast App
Go offline with the Player FM app!

Fixing a Thread-Safety Bug with Nate Berkopec

45:38
 
Share
 

Manage episode 359828805 series 2552731
Content provided by hexdevs. All podcast content including episodes, graphics, and podcast descriptions are uploaded and provided directly by hexdevs or their podcast platform partner. If you believe someone is using your copyrighted work without your permission, you can follow the process outlined here https://player.fm/legal.

Can you tell if a Ruby gem is really thread-safe or not? And how do you fix a seemingly thread-safety issue that can be something else entirely?

We had no idea. So we asked Nate Berkopec to help us. Nate is an expert in Ruby performance.

The verdict: nuking all shared global mutable state in your Ruby code is a bad idea if you don't know what you're doing!

Listen to this episode to learn:
- How and why faker-ruby became thread-unsafe, especially for Puma users
- Questions to ask yourself when trying to debug thread-safety issues
- Shared global mutable state is not always the villain, and is not the source of all thread-safety issues
- Nate's "watch-out" list of things that can cause undesired behavior when running multi-threaded Ruby applications: Constants, Class Variables, and Rack Middleware.

Episode Notes
🔗 Full transcript and links

-----

A special thanks to Valentino Stoll, nfstern02, and Gregg P for sponsoring hexdevs!

Enjoy!

  continue reading

37 episodes

Artwork
iconShare
 
Manage episode 359828805 series 2552731
Content provided by hexdevs. All podcast content including episodes, graphics, and podcast descriptions are uploaded and provided directly by hexdevs or their podcast platform partner. If you believe someone is using your copyrighted work without your permission, you can follow the process outlined here https://player.fm/legal.

Can you tell if a Ruby gem is really thread-safe or not? And how do you fix a seemingly thread-safety issue that can be something else entirely?

We had no idea. So we asked Nate Berkopec to help us. Nate is an expert in Ruby performance.

The verdict: nuking all shared global mutable state in your Ruby code is a bad idea if you don't know what you're doing!

Listen to this episode to learn:
- How and why faker-ruby became thread-unsafe, especially for Puma users
- Questions to ask yourself when trying to debug thread-safety issues
- Shared global mutable state is not always the villain, and is not the source of all thread-safety issues
- Nate's "watch-out" list of things that can cause undesired behavior when running multi-threaded Ruby applications: Constants, Class Variables, and Rack Middleware.

Episode Notes
🔗 Full transcript and links

-----

A special thanks to Valentino Stoll, nfstern02, and Gregg P for sponsoring hexdevs!

Enjoy!

  continue reading

37 episodes

All episodes

×
 
Loading …

Welcome to Player FM!

Player FM is scanning the web for high-quality podcasts for you to enjoy right now. It's the best podcast app and works on Android, iPhone, and the web. Signup to sync subscriptions across devices.

 

Quick Reference Guide