This is not necessarily true anymore. As of Python 3.13 the GIL is now optional, though it defaults to enabled. They are slowly working towards flipping that.
https://peps.python.org/pep-0703/ Regards, Ryan -------- Original Message -------- On 2025-08-10 10:40, Michael Crute via NANOG <[email protected]> wrote: > On Aug 10, 2025, at 07:43, Chris Woodfield via NANOG <[email protected]> > wrote: > >>> On Aug 10, 2025, at 03:40, Etienne-Victor Depasquale via NANOG > <[email protected]> wrote: > >>> > >>> > >>> Python is, well, Python. It makes as much sense to me to write a DNS > >>> server in Perl or Javascript, which is to say: not much. > >> > >> I don't follow. What's the objection? > >> > > > > I’d consider two off the top of my head - > > > > 1. Performance delta, but that’s likely anywhere near the issue with > python than it is with earlier scripting runtimes. While it’s been a while > since I’ve done a side-by-side comparison, I’d argue that once code is > compiled, cpython runtime performance is far more akin to Java than perl or > JS. Still not as performant as C or Go runtimes, though; bytecode is still > bytecode. > > The CPython interpreter does still have a global interpreter lock as well > which causes thread synchronization on data access. You can mitigate this > somewhat by running multiple instances of a server or asynchronous > programming techniques but it still has a pretty substantial performance > impact on highly concurrent systems. This is why most people scaling Python > do so horizontally. I'd personally avoid something like Python for DNS or at > least load test it very carefully before using it in production. > > ~mike > _______________________________________________ > NANOG mailing list > > https://lists.nanog.org/archives/list/[email protected]/message/MBUKLDNVMTFCGLAWN5LJKFP4XLTGOM2K/
signature.asc
Description: OpenPGP digital signature
_______________________________________________ NANOG mailing list https://lists.nanog.org/archives/list/[email protected]/message/ZSZWMQMNUVXP3WYWAJ3PBTFNLTRXOEJ4/
