Господа товарищи, помогите мне! Короче, тут такое дело, нада определить время выполнения ассемблерной КОМАНДЫ, Подскажите, какую функцию лучше юзать...Можно как на С++ так и на Дэлфи...Спасибо!
FiDeLcheG Сейчас процессоры очень сложны и команды теперь исполняются нелинйно, а паролельно. Плюс введена конвеерная обработка команд, так что разные этапы выполнения команды также идут паролельно. Так, что о каком времени выполнения идет речь? У Агнера Фога можешь посмотреть код процедуры. Но нюансов измерений много.
FiDeLcheG А немного подумать? Любая функция потребует выполнения многих команд, т.е. точность любого метода измерения времени не может быть подходящей. Мне нравится такой метод : крутим много-много раз цикл с командой и без нее и считаем разницу. Ясное дело, что придется еще побороть кеши всякие. Тогда разница времен деленная на число итераций даст ответ.
Спасибо товарищи, как говориться будем посмотреть...У нас просто по архитектуре ЭВМ препод задание выдал...делайте грит и все тут...Ну куда деваться))))
холодно - GetTickCount() теплее - SetThreadAffinityMask(), QueryPerformanceCounter() Угадываю, что то, что хотят услышать - инструкция rdtsc.
Еще теплее, но правильный ответ - не юзать никаких инструкций, а заглянуть в instruction_tables.pdf Агнера Фога, а заодно и в microarchitecture.pdf, чтобы получить представление о работе современных компов и не задавать наивных вопросов