Player FMアプリでオフラインにしPlayer FMう!
Fixing a Thread-Safety Bug with Nate Berkopec
Manage episode 359828805 series 2552731
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!
37 つのエピソード
Manage episode 359828805 series 2552731
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!
37 つのエピソード
すべてのエピソード
×プレーヤーFMへようこそ!
Player FMは今からすぐに楽しめるために高品質のポッドキャストをウェブでスキャンしています。 これは最高のポッドキャストアプリで、Android、iPhone、そしてWebで動作します。 全ての端末で購読を同期するためにサインアップしてください。