GIL often appears as a scary, obscure gizmo. Misunderstanding of this aspect of Python may lead to suboptimal architectural choices. I invite you to see my attempt at explaining the GIL and its implications, as well as providing pointers for how to deal with the GIL in specific situations.
There have been (and still are), of course, attempts to get around the GIL - or get rid of it altogether. I hope to give some light to these works.
By providing a comprehensive overview of today's GIL in CPython, this presentation aims to help make better design choices - be it choosing a concurrency/parallelism model, Python implementation to use - or even whether or not to drop Python entirely.
I'm a seasoned Python developer with a passion for crafting robust system tools and exploring the intricacies of modern web frameworks. My journey in the world of programming began in the realm of Solaris/Unix in early nineties and settled on GNU/Linux, where I honed my skills in developing efficient and reliable system tools.
Over the years, I've delved into the heart of Python, finding joy in the intricacies of backend development. My expertise lies in the intersection of Python and system-level programming, allowing me to build tools that operate seamlessly in various environments.
I find immense pleasure in testing the capabilities of modern web frameworks. From clean modern FastAPI to good old Django, I enjoy pushing the boundaries of what can be achieved in the realm of web development. My curiosity has led me to experiment with diverse technologies, always seeking the most effective and elegant solutions. Continuous Learning:
In my spare time, I embrace the challenge of learning new languages. This pursuit not only broadens my understanding of programming paradigms but also keeps me attuned to the current state of the art in the ever-evolving landscape of software development.