EVE Online, 23년 만에 Python 3로 전환 시작
EVE Online moves to Python 3
EVE Online이 2003년 출시 이후 처음으로 Python 3로의 전환을 시작했습니다. 2.4백만 줄의 Python 코드로 이루어진 게임 서버는 Python 2.7에 머물러 있었지만, 이제 Python 3의 성능 향상과 현대적 도구를 활용하기 위해 마이그레이션을 진행합니다. 1단계에서는 자동화 도구로 기계적 수정을 수행했으며, 이미 95.9%의 파일이 Python 3와 호환됩니다. 앞으로는 동작이 달라지는 약 2만 줄의 코드를 수동으로 검토해야 합니다. 이 전환은 플레이어에게 눈에 띄지 않게 진행되며, 장기적으로 더 빠른 게임과 빠른 버그 수정을 가능하게 할 것입니다.
성공의 정의는 간단합니다. 가끔 뭔가가 더 매끄럽게 실행되는 순간을 제외하고는 완전히 눈에 띄지 않아야 한다는 것입니다.
HN 토론
218- ryukoposting
스택리스 파이썬에 대한 기본 샘플 코드, 나처럼 처음 들어본 사람들을 위해: https://github.com/stackless-dev/stacklessexamples/blob/main... "스택리스 태스클릿" 다섯 번 빠르게 말해보세요.
- simonebrunozzi
경험 많은 플레이어가 요즘 EVE Online 커뮤니티의 "분위기"가 어떤지 요약해줄 수 있나요? 저는 약 15년 전에 가볍게 참여했었거든요.
- bfung
1/2 트롤 사이드 갤리 논평: AI를 사용해서 Rust로 번역하세요. 결과물이나 출력/테스트 케이스가 알려져 있다면, AI는 언어 번역에 아주 능숙합니다.
- Cakez0r
> 그럼 240만 줄의 코드를 어떻게 마이그레이션하나요?
> 매우 신중하게, 그리고 여러 단계로.
그 대답은 3개월 전 답변이네요.
- est
스택리스 파이썬은 잠재력이 컸는데, 에이전트 시대에 지속 가능한 상태를 가진 장기 실행 작업에 매우 유용할 수 있었습니다. 현대 파이썬은 asyncio로 다소 다른 방향으로 갔지만, tasklet과 continuation을 사용했다면 훨씬 더 강력한 조합이 될 수 있었을 텐데요.
- orsenthil
> <>를 50번 사용하는데, 이는 "같지 않음"을 쓰는 방식으로 너무 오래되어 많은 현역 파이썬 개발자들이 본 적도 없습니다.
이게 저를 찔렀네요. 언제 사용되었고 언제 폐지되었는지 확실하지 않습니다.
- sitzkrieg
이브 클라이언트는 요즘 꽤 놀랍도록 잘 만들어져 있습니다. 하지만 서버 측 솔루션이 시간을 기하급수적으로 줄이는 것이었을 때, 그들은 근본적으로 다른 곳에서 잃은 것 같습니다. 어쩌면 그 서버 C++ 코드 중 일부가 공개되면서 좋은 결과가 나올지도 모르겠네요.
- chews
이것은 기술 팀이 얼마나 훌륭할 수 있는지를 보여줍니다. 말도 안 되게 들리겠지만 Goldman Sachs와 JP Morgan 둘 다 불과 몇 년 전까지 Python 2.7을 핵심 언어로 유지했습니다 (네, 아직도 프로덕션에서 사용되고 있습니다).