javascriptネイティブとjQueryでDOM要素のベンチマーク

最近になって,ようやく処理速度が重要?なプログラム書く必要が出てきたので,調べてみる.
こういう方法もあるよ,というのあったら教えてください.

環境

OS Windows Vista
CPU AMD Athlon(tm) 64 X2 Dual Core Processor 4400+ 2.30GHz
メモリ 4.00GB

内容

javascriptのネイティブな書き方とjQueryの提供するAPIで速度計測.
input要素から,値を取得するのはどれが速い?
ソース1〜3はおまけ.
4〜7までが本番です.

結論

速度が欲しくて,かつ現実的なソースはソース4かな?

使用ブラウザ

以下続きにて

(msec) IE FifeFox safari Chrome Opera
ソース1 20 1 1 1 1
ソース2 38 8 10 35 8
ソース3 34 9 10 35 7
ソース4 1929 60 105 108 90
ソース5 5863 540 310 414 339
ソース6 4791 98 131 140 214
ソース7 17212 1733 900 936 836


ソース1

var t1=new Date(); // 計測開始
var x=1;
var y=10000;
while(y)
y-=x;
var t2=(new Date())-t1; // 計測終了

ソース2

var t1=new Date(); // 計測開始
var x=document.getElementById("hoge").value;
var y=10000;
while(y)
y-=x;
var t2=(new Date())-t1; // 計測終了

ソース3

var t1=new Date(); // 計測開始
var x=$("#hoge").val();
var y=10000;
while(y)
y-=x;
var t2=(new Date())-t1; // 計測終了

ソース4

var t1=new Date(); // 計測開始
var x=document.getElementById("hoge");
var y=10000;
while(y)
y-=x.value;
var t2=(new Date())-t1; // 計測終了

ソース5

var t1=new Date(); // 計測開始
var x=$("#hoge");
var y=10000;
while(y)
y-=x.val();
var t2=(new Date())-t1; // 計測終了

ソース6

var t1=new Date(); // 計測開始
var y=10000;
while(y)
y-=document.getElementById("hoge").value;
var t2=(new Date())-t1; // 計測終了

ソース7

var t1=new Date(); // 計測開始
var y=10000;
while(y)
y-=$("#hoge").val();
var t2=(new Date())-t1; // 計測終了