以下の両方のコードを別々に試して、結果を自分で確認してください。実際、これは最も正確なテストケースではないかもしれませんが、他のすべての操作を回避し、十分な長さの for ループ内で単純な割り当てを行うことで、十分に正確になるはずです。
window
また、 Chrome を指定しないことで、2 番目のコードの実行が約 20% 高速になることが永続的に報告されたことにも驚いたと言わざるを得ません。
コード 1
// window.testvar testcase.
window.testvar = 'Hi there! I am a testvar!';
var tmp;
var start = new Date();
for(var i = 0; i < 1000000; i++){
tmp = window.testvar;
}
var stop = new Date();
console.log('This took exactlly ' + (stop.getTime() - start.getTime()) + ' milliseconds!');
結果:
- 1695ミリ秒
- 1715ミリ秒
- 1737ミリ秒
- 1704ミリ秒
- 1695ミリ秒
コード 2
// direct testvar testcase
testvar = 'Hi there! I am a testvar!';
var tmp;
var start = new Date();
for(var i = 0; i < 1000000; i++){
tmp = testvar;
}
var stop = new Date();
console.log('This took exactlly ' + (stop.getTime() - start.getTime()) + ' milliseconds!');
結果:
- 1415ミリ秒
- 1450ミリ秒
- 1422ミリ秒
- 1428ミリ秒
- 1450ミリ秒
Chrome 20.0.1132.47 でテスト済み。