高速なPythonの実装系を開発しているPyPyチームは2019年10月8日(米国時間)、「PyPy Status Blog: PyPy's new JSON parser」において、ここ1、2年で取り組んできたJSONパーサの高速化の取り組みについて発表した。

JSONデータは特に扱いが増えているデータ形式。さまざまなプログラミング言語が基本的なデータ形式として扱っており、設定ファイルのような使い方から大規模データ保持の方法としてまで幅広く使われている。

PyPyチームはいくつかの手法を試して高速化に取り組んだ。結果、処理速度は、CPythonおよびNodeの双方よりも高速化することに成功したとしている。この新しいパーサは次のリリースバージョンとなるPyPy 7.2に同梱が予定されている。

  • ベンチマーク結果 - 資料: PyPyチーム提供

    ベンチマーク結果 - 資料: PyPyチーム

  • ベンチマーク結果 - 資料: PyPyチーム提供

    ベンチマーク結果 - 資料: PyPyチーム

ただし、PyPyチームはこの新しい実装にはいくつかの課題があると説明。課題とは、高速なJSONパーサとして知られているRapidJSONほどは高速化を実現できなかったこと、仕組み上採用した仕掛けがPyPyの世代別ガベージコレクタとの相性が最悪であること、メモリ使用量に関してはNode/V8のほうに分があることなどだ。PyPyチームは、今後さらに多くのベンチマークを実施する必要があるだろうと説明している。

Pythonは現在人気があるプログラミング言語の1つで、デフォルトの処理系以外にもいくつかの実装系が存在しており、処理速度の高速化に力を入れたている。