Вызывать функцию каждую наносекунду? - PullRequest
1 голос
/ 30 июля 2011

Не уверен, возможно ли это в свете физических ограничений компьютерного оборудования или электронов, но существует ли практический способ в любом языке программирования вызывать функцию каждую наносекунду? Какие существуют ограничения?

Например, при попытке 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>

Ответы [ 2 ]

5 голосов
/ 30 июля 2011

Вызов функции каждую наносекунду будет означать, что вы можете использовать максимум 3 инструкции на один вызов на процессоре 3GHz, принимая инструкции за один цикл.Этого недостаточно даже для издержек вызова функции.

2 голосов
/ 30 июля 2011

Кванты временного среза Javascript не так уж и малы, черт возьми, вы, вероятно, не сможете получить такую ​​степень детализации, если она не будет реализована на аппаратном уровне, потому что ни одна из известных мне операционных систем не увеличит временные интервалы при такой небольшой степени детализации, поскольку связанные с этим издержки сделают ее бесполезной, а ваш код возможно, не удастся выполнить это часто из-за накладных расходов на установку внутренних таймеров и включенного переключения контекста.

...