• Helps prevent race conditions and memory corruption
  • The lock ensures only one thread can be run at a time, even when parallel resources are available.
  • Locking the interpreter helped single threaded code performance
  • Helps garbage collection and reference counting be more effective

Source: How much FASTER is Python 3.13 without the GIL? - ArjanCodes