
On Aug 10, 2025, at 07:43, Chris Woodfield via NANOG <nanog@lists.nanog.org> wrote:
On Aug 10, 2025, at 03:40, Etienne-Victor Depasquale via NANOG <nanog@lists.nanog.org> 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