JavaScriptで文字列型から整数型への変換速度比較(追試
- Author: harajune
- Filed under: 雑記
Wednesday
Oct 7,2009
JavaScriptで文字列型から整数型への変換速度比較
http://kur.jp/2009/10/06/stringtoint-by-javascript/
というのがあって、なんかコードを見てたらなんか思うところがあったので追試してみた。
結果から言うと、だいたい傾向は一緒だった。IE用の回避コードを入れてみて気づいたけど、実行順序によって速さが変わるかもしれない。(一度読み込んだ関数は二回目は若干速い?
CODE:
-
<script type="text/javascript">
-
var randomnums = new Array(1000000);
-
for(i=0; i<1000000; i++){
-
randomnums[i] = String(Math.round(Math.random() * 100));
-
}
-
-
function warmup(){
-
for(i=0; i<1000000; i++){
-
randomnums[i];
-
}
-
}
-
function useSub(){
-
var startTime = new Date();
-
for(var i = 0; i <1000000;i++){
-
randomnums[i] - 0;
-
}
-
document.write(new Date() - startTime);
-
}
-
function useDiv(){
-
var startTime = new Date();
-
-
for(var i = 0; i <1000000;i++){
-
randomnums[i] / 1;
-
}
-
document.write(new Date() - startTime);
-
}
-
function useparseInt(){
-
var startTime = new Date();
-
-
for(var i = 0; i <1000000;i++){
-
parseInt(randomnums[i],10);
-
}
-
document.write(new Date() - startTime);
-
}
-
function useNumber(){
-
var startTime = new Date();
-
-
for(var i = 0; i <1000000;i++){
-
Number(randomnums[i]);
-
}
-
document.write(new Date() - startTime);
-
}
-
//IEがおそすぎて変なalertを出すので1回分はダミー
-
warmup();
-
useSub();
-
document.write("<br />");
-
warmup();
-
useSub();
-
document.write("<br />");
-
warmup();
-
useDiv();
-
document.write("<br />");
-
warmup();
-
useparseInt();
-
document.write("<br />");
-
warmup();
-
useNumber();
-
</script>
結果はこちら
firefox
6
6
6
119
274
IE
801
781
851
2003
1553
chrome
311
292
299
135
234
2 Responses for "JavaScriptで文字列型から整数型への変換速度比較(追試"
[...] This post was mentioned on Twitter by kur. kur said: おぉ,ありがとうございます.しかし,変換用関数が-0ってやるより遅いのは,言語としてどうなんだろう.RT @hrjn: javasacriptの数値変換追試。あまり傾向に差はなかったかな。 http://j.mp/2J5nd2 RT: @kur ブログ書いた ”JavaS … [...]
Really good work about this website was done. Keep trying more – thanks!
Leave a reply