8

私は、比較的短い JSON 文字列の長いリストを解析する perl スクリプトで JSON パッケージを使用しており、そのプロセスを Devel::NYTProf でプロファイリングしました。string解析プロセスでは、ほとんどの時間が JSON 関数に費やされているようです。

JSON パッケージを使用せずに自分で解析して高速化する以外に使用できる高速化はありますか?

編集: JSON パッケージは、を使用してシステムにインストールされましたcpanm。インストールプロセスを最適化することでスピードアップが得られる場合は、それも歓迎します。

4

2 に答える 2

14

JSON::XSをインストールしてみてください。次に、「JSON を使用」は自動的に XS バージョンを使用します。このモジュールは C で書かれており、非常に優れたパフォーマンスを発揮します。

于 2013-07-10T12:56:52.927 に答える
0

別の興味深い回避策:

大きなJSONオブジェクトから小さなチャンクを抽出できるようにJSONを解析する必要があり、そのJSONオブジェクトがwebapp経由で来る場合は、Perlに送信する前にJavaScriptでJSONを解析して小さなチャンクに切り詰めるだけです。

JS には、 JSON データ構造自体ではなく文字列から始めた場合でも、驚くほど高速で効率的な文字列から JSON へのパーサーがあります (明確にするために、 Douglas Crockford のパーサーはありません)。 eval

于 2013-07-10T13:42:29.107 に答える