2011-07-30 10 views
1

コンピュータのハードウェアや電子の物理的な限界に照らしてこれが可能かどうかは不明ですが、どのようなプログラミング言語でも1ナノ秒ごとに関数を呼び出す実際的な方法がありますか?どのような制限が存在しますか?ナノ秒ごとに関数を呼び出しますか?

予想通り、これはオーバー行かないしようとしてJavaScriptで例えば

<html> 
<head> 
<script type="text/javascript"> 

var numb = 1; 

function addNum(){ 

numb=numb+1; 
document.getElementById('thing').innerHTML = numb; 

} 
</script> 

</head> 

// try to do addNum every nanosecond 
<body onload='setInterval("addNum()", 0.000001)'> 

<div id="thing"></div> 

</body> 
</html> 
+0

http://stackoverflow.com/questions/6002808/is-there-any-way-to-get-current-time-in-nanoseconds-using-javascript –

+0

私は、CPUのサイクルがほぼそれはサイクルを経るためのナノ秒です。 – Matt

+0

@ e82ric:1つの質問:なぜですか? –

答えて

2

Javascriptのタイムスライシングのクォンタムは、小さなではありません、それはそれなしオペレーティングシステムために実装されたハードウェアでない限り、一体あなたはおそらく、その粒度を得ることができません私が知っているのは、このような細かい部分でタイムスリップします。なぜなら、関係するオーバーヘッドによって無駄になり、内部タイマーの設定やコンテキスト切り替えのオーバーヘッドが原因でコードが頻繁に実行できなくなるからです。

+0

「timeslicing quantams」 - 私にとってグッド新しい用語。ありがとう4偉大な答え – e82ric

+0

また、時間をスライス量子: –

5

ナノ秒ごとに関数を呼び出すと、3GHz CPUで1サイクルの命令を仮定して、呼び出しごとに最大3つの命令を使用できます。これは関数呼び出しのオーバヘッドだけでは十分ではありません。

+0

GHzの例を使用して素晴らしい説明をありがとう。 – e82ric

関連する問題