EVE Online、Python 3移行開始—20年以上のコードを段階的に更新

EVE Online moves to Python 3

EVE Onlineは、EVE Evolvedイニシアチブの一環として、Python 3への移行を開始した。2003年のローンチ以来、Stackless Python 2.7を使い続けてきたが、Python 2のサポート終了とパフォーマンス向上のため、移行を決断。まずはコードをPython 2.7と3の両方で動作するようにする段階で、95.9%のファイルがすでに両バージョンでコンパイル可能。移行は段階的に進められ、プレイヤーに影響が出ないように設計されている。

移行の成功の定義は単純だ:時々何かがスムーズに動く瞬間を除いて、完全に気づかれないことだ。
  1. Cakez0r

    Cakez0r:

    > では、240万行のコードをどうやって移行するのか?

    > 非常に慎重に、そして段階的に。

    その答えはもう3ヶ月前のものだ

  2. est

    est:

    Stackless Pythonには大きな可能性があった。エージェント時代の、永続的な状態を持つ長時間実行タスクに極めて有用になり得た。

    現代のPythonはasyncioでやや異なる方向に進んだが、タスクレットと継続を組み合わせれば、はるかに強力なコンボになっただろう。

  3. santiagobasulto

    santiagobasulto:

    Pythonがasyncioを取り入れ始めたとき、私の最初の反応はかなり否定的だった。私は頑固な老害プログラマーのように振る舞っていた(「最近の若者は、新しいランタイムを作る代わりに並行処理の使い方を学ぶべきだ!」[0])。

    しかし、本番プロジェクトで使ってみて、その成熟度、APIの品質、そして全体的なパフォーマンスに深く満足し、驚かされた。

    私は間違っていたと証明され、それを嬉しく思っている:)

    [0] 老害が雲に向かって叫ぶタイプのミーム

  4. simonebrunozzi

    simonebrunozzi:

    経験豊富なプレイヤーに聞きたいのですが、最近のEVE Onlineコミュニティの「雰囲気」はどんな感じですか?私は約15年前に軽く関わっていました。

  5. p1anecrazy

    p1anecrazy:

    > 典型的な例は除算です。Python 2では、1 / 2は0ですが、Python 3では0.5です。

    どなたか親切に説明していただけませんか?

    編集:「Python 2では2.1/2が0で、Python 3では0.5」と読み間違えていました。

この日のほかの記事

2026-08-29