EVE Online begins its long-awaited migration to Python 3
EVE Online moves to Python 3
EVE Online has started the massive migration of its 2.4 million-line Python 2 codebase to Python 3, a process that will take years. The first stage, already deployed to Tranquility, uses automated tools to make code compatible with both versions. Future stages will require careful manual review of ~20,000 lines that behave differently in Python 3. The goal is a faster, more maintainable game, with no noticeable changes for players.
The definition of success for this migration is simple: it should be completely unnoticeable, aside from the occasional moment when something runs more smoothly.
- ryukoposting
Some basic sample code for stackless python, for those like me who had never heard of it: https://github.com/stackless-dev/stacklessexamples/blob/main...
Say "stackless tasklet" five times fast.
- simonebrunozzi
Can an experienced player gives us a summary of what's the "vibe" of the EVE online community these days? I was lightly involved ~15 years ago.
- est
Stackless python had such potential, it could be extremely useful in Agent era for long running tasks with durable state.
modern Python went in a somewhat different direction with asyncio, but with tasklet and continuation it could be a much powerful combo.
- Cakez0r
> So how do you migrate 2.4 million lines of code?
> Very carefully, and in multiple stages.
That answer is so 3 months ago
- markkitti
If I were Fenris Creations, I would make a copy of Allegiance
- shevy-java
> Some of you may remember upgrading to Stackless Python 2.5 in 2007, then to Stackless Python 2.7 in 2010. That was the last time EVE changed its Python version.
Yikes. 2010 ... python is built forever.
But, ignoring this - I think when the "scripting" languages can bridge the speed penalty towards C, even if not reaching it for many reasons, then they become real contenders here.
- ufo
What happened with the stackless python? Did they get rid of all the stackless stuff?
- santiagobasulto
When python started incorporating asyncio my initial reaction was fairly negative. I was behaving like a grumpy graybeard programmer ("kids these days should learn how to use concurrency instead of working on a new runtime altogether!" [0]).
But after using it for a production project I have to say I'm deeply satisfied and surprised by the maturity, quality of APIs and performance in general.
I was proven wrong and I'm happy about that :)
[0] Old man yell at clouds type of meme