Я соединяюсь с инструментом, используя следующую команду.Время для команды, которая должна быть выполнена
instrument = programmer.GetInstrument(_address);
Я хочу знать, сколько времени требуется для выполнения этой команды.
Я соединяюсь с инструментом, используя следующую команду.Время для команды, которая должна быть выполнена
instrument = programmer.GetInstrument(_address);
Я хочу знать, сколько времени требуется для выполнения этой команды.
Если вы просто хотите, чтобы сделать нить в линию, вы могли бы сделать этот код:
System.Threading.Thread t = new System.Threading.Thread(delegate()
{
try
{
DateTime cmdStartTime = DateTime.UtcNow;
instrument = programmer.GetInstrument(_address);
DateTime cmdEndTime = DateTime.UtcNow;
TimeSpan totalCmdRuntime = cmdEndTime - cmdStartTime;
Debug.WriteLine(String.Format("Programmer.GetInstrument({0}) command took {1} mSec to execute", _address, totalCmdRuntime.TotalMilliseconds));
}
catch { }
});
t.Name = "GetInstrumentTimer";
t.Start();
это должно сделать это. Я попробую прямо сейчас и выясню, влияет ли это на мое время. – Sophman
Это по сути то же самое, что использовать секундомер, но с гораздо меньшей точностью, что может быть не очень полезно для вашего случая использования. – jgg99
Да. Вероятно, ваша команда выполняется быстрее разрешения таймера, который вы используете. См. SO http://stackoverflow.com/questions/3744032/why-are-net-timers-limited-to-15-ms-resolution для некоторых альтернатив. –
Можете ли вы дать более подробную информацию о том, почему секундомера не будет работать в вашем случае? – jgg99
Мне нужно, чтобы это было детерминированным, и я хочу, чтобы я только отслеживал время выполнения этой команды. По крайней мере, это то, что мне говорят. Я собираюсь запустить его простым таймером несколько раз и опубликовать результаты в ближайшее время. – Sophman
'Я собираюсь запустить его с помощью простого таймера несколько раз и опубликовать результаты в ближайшее время.« Вы задали этот вопрос, прежде чем пытаться его использовать? – Eser