Artwork

Contenido proporcionado por hexdevs. Todo el contenido del podcast, incluidos episodios, gráficos y descripciones de podcast, lo carga y proporciona directamente hexdevs o su socio de plataforma de podcast. Si cree que alguien está utilizando su trabajo protegido por derechos de autor sin su permiso, puede seguir el proceso descrito aquí https://es.player.fm/legal.
Player FM : aplicación de podcast
¡Desconecta con la aplicación Player FM !

Fixing a Thread-Safety Bug with Nate Berkopec

45:38
 
Compartir
 

Manage episode 359828805 series 2552731
Contenido proporcionado por hexdevs. Todo el contenido del podcast, incluidos episodios, gráficos y descripciones de podcast, lo carga y proporciona directamente hexdevs o su socio de plataforma de podcast. Si cree que alguien está utilizando su trabajo protegido por derechos de autor sin su permiso, puede seguir el proceso descrito aquí https://es.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 episodios

Artwork
iconCompartir
 
Manage episode 359828805 series 2552731
Contenido proporcionado por hexdevs. Todo el contenido del podcast, incluidos episodios, gráficos y descripciones de podcast, lo carga y proporciona directamente hexdevs o su socio de plataforma de podcast. Si cree que alguien está utilizando su trabajo protegido por derechos de autor sin su permiso, puede seguir el proceso descrito aquí https://es.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 episodios

Todos los episodios

×
 
Loading …

Bienvenido a Player FM!

Player FM está escaneando la web en busca de podcasts de alta calidad para que los disfrutes en este momento. Es la mejor aplicación de podcast y funciona en Android, iPhone y la web. Regístrate para sincronizar suscripciones a través de dispositivos.

 

Guia de referencia rapida