Народный проект

Может быть поначалу начнем обсуждать алгоритм программы, а потом уже решим накаком писать языке.

P.S.: Если честно на счет начального алгоритма - программа приблизительно немного похожа на Беби тайп. - была одна досовская игрушка!

Никакой низкий уровень не поможет. Програмно (в user mode) получить точность измерения лучше 1 мс не получится. Точка.

Компилятор тут вообще никаким боком.

Ок Ваши предложения по этому поводу.

Откуда вы взяли, что я собираюсь что либо предлагать?

Ерджан, Partner, все таки вы не правы, ни по поводу реалтайм (причем тут это?) ни по поводу 1 мс в виндовс.

Если интересно, можете почитать тут. Там упоминается, на каких виндах можно положиться на эту функцию и какие средства использются в винде для получения результатов.

Откуда вы взяли, что я собираюсь что либо предлагать?

М - да! Ясно всё.

Вот более кратко.

Вот что пишут по вашей ссылке:
Typically a Windows machine has a default 10ms timer interrupt period, but some systems have a 15ms period. This timer interrupt period may be modified by application programs using the timeBeginPeriod/timeEndPeriod API’s.The period is still limited to milliseconds and there is no guarantee that a requested period will be supported.

Вы просто путаете точность получения значения системного таймера и точность измерения каких либо интервалов.
В первом случае точность до 100 наносекунд. Во втором - 1 мс.
А может быть вы путаете миллисекунды с микросекундами?

Не, я то не отказывался реализовать проэкт на Жаве, без проблемм!!!
С чего то надо начать!

Но для начала надо определиться с алгоритмом, всёравно.

Да нет, я ничего не путаю )
Typically a Windows machine has a default 10ms timer interrupt period…
Это относится к периодическим задачам, например если вы хотите завести таймер, и повесить на него событие, например раз в секунду выполнять какоето действие.
Мы же говорим, про измерение интервала между двумя событиями (между нажатиями на клавишу), тоесть что то вроде

long time1= System.nanotime();
foo();
long time2 = System.nanotime();
long timeSpent = time2-time1;

На жаве, думаю, не стоит это реализовывать. Там JVM нужна будет, да и многим просто не нравятся десктопные проги на жава.

Вы забываете, что между первым и вторым вызовами System.nanotime() винда вас прервет (может прервать) и переключится на другие threads на 10-15 мс. И что тогда станется с вашей точностью?

Ничего не станет, интервал между двумя вызовами System.nanoTime(); увеличится на 10-15 мс. Тоесть у System.nanoTime() good precision but bad accuracy.
Я все же повторюсь.

Извините Partner, я не стану больше тут обсуждать это, ибо оффтопик, если хотите, пишите в личку.

Ну так и я о том же: bad accuracy - не получится микросекундный интервал измерить. Что толку с precision?

Первый ответ из вашей ссылки: That post is wrong

Не хочу в личку, хочу здесь. Научите как измерить микросекундный интервал.

Насчет микросекунд: мы в практическом плане закладываемся на максимальную мгновенную скорость в 1200 знаков в минуту = 20 знаков в секунду. 50 миллисекунд - это минимальный интервал, который мы должны надежно измерять.

Дальше - вопрос точности измерения. Даже одна миллисекунда, в принципе, уже не так плохо - 2%. Наверное, микросекундами сильно увлекаться не надо. Но, 100 микросекунд было бы очень здорово. Или даже 500 микросекунд.

50мс - без проблем.

1 мс - это предел. Теоретический. На практике может быть чуть хуже.

Тогда я со своим флешем отпадаю, сорри.

я бы предложил Михаилу на первое время “рулить” процессом самостоятельно, а по ходу уже из привлеченных людей выявить лидера с организационной жилкой и дать возможность человеку проявить себя ) потому что организация тут самое сложное и времени нужно будет на первых порах на это дело положить много. а у управленцев обычно времени нет к сожалению, все отдано процессу управления ) уже сложившимися и живущими проектами которые съедают все временные ресурсы.