json.jsを使ったJSONのパーズが重い。
iPod touch + Safariの環境でjson.jsを使ったJSONのパーズ時間を計測してみました。
iPod touch + Safari
JSONデータのサイズ | 平均 | 最大 | 最小 | ||||
---|---|---|---|---|---|---|---|
2k | 181ms | 208ms | 167ms | ||||
8k | 677ms | 734ms | 658ms | ||||
40k | 3553ms | 3874ms | 3450ms | ||||
120k | - | - | - |
- ※5回試行し、平均、最大、最小を取得。計測に使ったスクリプトはこちら。
- ※1.. 120kの場合、Safariが落ちた。
うちのPC(Pentium M 1.20GHz) + Firefox2
JSONデータのサイズ | 平均 | 最大 | 最小 | ||||
---|---|---|---|---|---|---|---|
2k | 2ms | 10ms | 0ms | ||||
8k | 6ms | 10ms | 0ms | ||||
40k | 32ms | 40ms | 30ms | ||||
120k | 150ms | 351ms | 100ms |
うちのPC(Pentium M 1.20GHz) + IE6
JSONデータのサイズ | 平均 | 最大 | 最小 | ||||
---|---|---|---|---|---|---|---|
2k | 2ms | 10ms | 0ms | ||||
8k | 4ms | 10ms | 0ms | ||||
40k | 24ms | 30ms | 20ms | ||||
120k | 84ms | 90ms | 80ms |
うちのPCと比較して意味があるかは微妙ですが、100倍程度遅い。また、iPod touch + Safariの環境で、データサイズが120kの場合、Safariが落ちます。iPod touchの性能か、Safariの特性もあるのかはわかりませんが、PCで使う場合と同じノリでデータ設計すると悲しいことになりそうです。
ということで、MiiがiPod touchで動作しない原因の1つはこれのようです。