1

クライアントの内部 API から膨大なデータセットを取得しています。$31.23 のような一連の価格の数値データが含まれます。彼は私にそれらを与えてくれましたが、1000 個以上のアイテムがあり、それらのすべての値を (それらをグラフ化することに加えて){"spend":"21.23"}実行すると、クライアントのブラウザーでリソースが重くなる可能性があることを懸念していました。parseFloat()

誰かがこれをしましたか?

==アップデート==

ごめんなさい。私の質問があいまいでした。私の懸念は、それが文字列であり、解析していることでした。私の問題は、単に int よりも parseFloat の方が速いことでした。parseFloat("12.12")つまり、単純に追加するよりも div に追加する方が速く12.12、もしそうなら、どれだけ速いか。

4

4 に答える 4

7

私の仕事用マシン (Mac OS X、Intel 2 GHz Core i7) では、jsperf.com で次の結果が表示されました

Browser    | parseFloat calls per second
----------------------------------------
Chrome 12  | 5.3 million
Firefox 6  | 21.7 million
IE 8       | 666.9 thousand <- totally unfair, ran on virtual machine
Opera 11   | 5.2 million

これは網羅的な調査ではありません。しかし、最低でも 1 秒あたり60 万回以上の呼び出し (および仮想マシン上の呼び出し) があれば、問題ないと思います。

于 2011-07-18T18:49:58.507 に答える
0

タイプ

javascript:a = +新しい日付; x = 100000; while (--x) parseFloat("21.23"); alert(+新しい日付 - a);

あなたのURLバーに。

これが確実に知る唯一の方法です。

正直なところ、あなたはその質問に答えることができません。ブラウザによって異なります。たとえば、Firefox 8 は 6 よりも高速である必要があります。

于 2011-07-18T18:50:41.057 に答える
0

parseFloat()ブラウザに基づいていることがわかります。したがって、私の知る限り、値が 200 を超えるとブラウザがクラッシュする可能性がありますが、値が 10.000 を超えると問題なく動作する可能性があります。

ブラウザーにあるタブの数、実行中の他のスクリプト、処理に使用できる CPU の量、そしてもちろんどのブラウザーかによって異なります。

クライアントが 1000 個のアドオンを含む Firefox を使用している場合、スクリプトは決してスムーズに実行されません。

私の意見です。うまくやりたい場合は、サーバーで前処理してから表示する必要があります。

于 2011-07-18T18:26:36.143 に答える