2 ms·
I regularly test my code that doesn't have 2.x-specific dependencies using tox+2to3, a great tool written by Holger Krekel that lets me test code in a wide vari
by lvh 15y ago
I regularly test my code that doesn't have 2.x-specific dependencies using tox+2to3, a great tool written by Holger Krekel that lets me test code in a wide variety of contexts.
Everything I run in production is 2.x.
Two specific comments to things said in the thread:
1) NewGIL is an improvement, but it really optimizes a situation you probably shouldn't have been in, given gevent/twisted/eventlet, or hell, even Tornado. If you're doing a bunch of _computation_ in threads, they are only affected in a very small way. If you're doing IO, it can have a very noticeable effect on some workloads. However, if you've followed any of my previous rants on why you should avoid threads as an IO primitive, you'll notice that performance and the GIL are but a footnote. I don't mean to downplay NewGIL, it's an interesting piece of software engineering. Just please don't see it as the panacea that magically fixed threads, because it isn't.
2) In the opening slide: "do this if completely new" translates to me as "don't do this". You're already using Python, which is a massive layer of abstraction in so many ways. Everyone using Python appreciates this as mostly a good thing, I would assume. So yes -- if no 2.x-only libraries exist that make your life easier and/or you're not willing to spend time porting them, go for it. I have just never found that to be true.