|
5 / 5 / 0
Регистрация: 28.11.2010
Сообщений: 81
|
|
Как с точностью до микросекунд замерить время выполнения функции?16.11.2011, 12:33. Показов 34377. Ответов 89
Метки нет (Все метки)
0
|
|
| 16.11.2011, 12:33 | |
|
Ответы с готовыми решениями:
89
Как получить время с точностью для микросекунд? Замерить время выполнения Замерить время выполнения потока |
|
4150 / 2728 / 433
Регистрация: 09.09.2017
Сообщений: 12,097
|
||
| 16.11.2017, 09:21 | ||
|
0
|
||
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
|
| 16.11.2017, 12:34 | |
|
0
|
|
|
70 / 64 / 40
Регистрация: 17.02.2014
Сообщений: 265
|
|
| 16.11.2017, 13:17 | |
|
Точно замерить время до микросекунд невозможно, в условиях многозадачности ОС, прерываний, переключения контекстов и т.д, все равно, что мерить попугаями. Приблизительно можно замерить так , перед вызовом читаем текущий счетчик тактов ассемблерной вставкой rdtsc, аналогично после вызова, ну и далее по формуле (new_time - old_time)/QueryPerformanceFrequency. Эту величину умножаем на 1 млн. получаем то, что требуется. QueryPerformanceFrequency это частота процессора в Гц...
0
|
|
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
||
| 16.11.2017, 13:53 | ||
|
во-вторых - его ещё нужно правильно готовить, что бы не глючил. там есть нюансы (например, юзают его принудительно только на одном ядре) а в третьих, и это самое главное: вот уже семь как этот способ морально устарел. есть же: std::chrono::high_resolution_clockпод виндой, у себя под капотом его родимую и юзает. вот только гарантированно - правильным способом. и не нужно заморачиваться непортированной, низкоуровневой, платформоспецифичной ботвой.
0
|
||
|
70 / 64 / 40
Регистрация: 17.02.2014
Сообщений: 265
|
||||
| 17.11.2017, 00:38 | ||||
|
0
|
||||
|
Форумчанин
8217 / 5048 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
|
||
| 17.11.2017, 02:13 | ||
|
Вы знаете насколько падает(а падает ли) производительность с использованием обёртки std::chrono? А учитывая, что "низкоуровневый" код будет писать не супер квалифицированный спец с многолетним стажем, его велосипеды скорее всего будут медленнее. Про кроссплатформу и безопасность я вообще молчу. Сейчас программисты движутся в сторону от платформозависимых вещей и выбирают обёртки. chrono, thread, random, filesystem.
0
|
||
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
||||||
| 17.11.2017, 11:49 | ||||||
|
от среднестатистического. и вы никак не сможете это продемонстрировать на практике. более того. взять тот же QueryPerformanceFrequencyсудя по вашей реакции, сами вы без посторонней помощи какого нибудь стек-оверфлоу, вообще не сможете его хотя бы просто правильно использовать
0
|
||||||
|
70 / 64 / 40
Регистрация: 17.02.2014
Сообщений: 265
|
|||
| 17.11.2017, 12:28 | |||
0
|
|||
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
|||
| 17.11.2017, 12:41 | |||
|
ваше поведение красноречиво дает понять, что вы просто не в курсе подводных граблей QueryPerformanceFrequency напишите какой нибудь простенький бенчмарк с использованием QueryPerformanceFrequency когда сталкнетесь с неожиданным резкими скачками по среднестатистически отклонениям, тогда - гребите. не разгребе - приходите. я когда то всю эту хрень уже разгребал. а коли осилите разгребсти, стало быть на собственной шкуре прочувствуете, что нафиг все эти проблемы не нужны, когда можно просто взять готовое, корректное, стандартное, портируемое решение, и не иметь никаких головняков.
0
|
|||
|
Форумчанин
8217 / 5048 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
|
|||||||
| 17.11.2017, 12:55 | |||||||
|
Как связано
0
|
|||||||
|
4150 / 2728 / 433
Регистрация: 09.09.2017
Сообщений: 12,097
|
||
| 17.11.2017, 13:28 | ||
|
0
|
||
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
||
| 17.11.2017, 16:01 | ||
|
для си характерно мессиво из указателей и индексов. ога.
0
|
||
|
21 / 19 / 7
Регистрация: 14.03.2014
Сообщений: 249
|
|
| 17.11.2017, 16:03 | |
|
GbaLog-, Из личного опыта. Профилирование важная часть разработки. Но если мерить наносекундный код, микросекундным таймером, то ничего не выйдет. Если у вас както иначе, то сообщите пожалуйста. Я перепроверю. Щас просто дико занят, но в течении пары дней проверю.
0
|
|
|
4150 / 2728 / 433
Регистрация: 09.09.2017
Сообщений: 12,097
|
|
| 17.11.2017, 17:25 | |
|
0
|
|
|
70 / 64 / 40
Регистрация: 17.02.2014
Сообщений: 265
|
|||||
| 17.11.2017, 18:37 | |||||
0
|
|||||
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
|||
| 17.11.2017, 19:32 | |||
|
на гитхабе забанили? откройте любую сишную либину. Добавлено через 8 минут
0
|
|||
|
4150 / 2728 / 433
Регистрация: 09.09.2017
Сообщений: 12,097
|
|||||||||||||||||||||||||||||||
| 17.11.2017, 19:48 | |||||||||||||||||||||||||||||||
|
Любую? Хорошо, открываю библиотеку SDL, точнее, SDL2/SDL_video.h (это только кусок, комментарии вырезаны)
Кликните здесь для просмотра всего текста
Открываем fcntl.h есть ли более Си-шная либа? Кликните здесь для просмотра всего текста
Открываем alsa/control.h Кликните здесь для просмотра всего текста
Открываем hidapi/hidapi.h Кликните здесь для просмотра всего текста
Открываем vlc/libvlc.h Кликните здесь для просмотра всего текста
Это не одна любая либа, а 5 разных. Как видно, функции принимают обычно не более 5 параметров, чаще всего 1-2 Сравним с /usr/x86_64-w64-mingw32/include/winbase.h Кликните здесь для просмотра всего текста
Как видно, аргументов в типичной Си-шной функции существенно меньше, чем в winapi-шной. Или все-таки приведете контрпримеры?
0
|
|||||||||||||||||||||||||||||||
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
||||
| 17.11.2017, 20:33 | ||||
![]() вы ещё в реализацию не смотрели. вот где адь и израель. потому что я не в каком сишном говнокоде больше аргументов моя цитата:
0
|
||||
|
4150 / 2728 / 433
Регистрация: 09.09.2017
Сообщений: 12,097
|
||||||
| 17.11.2017, 23:13 | ||||||
|
Опять мне за вас доказательства искать? Вот цитаты обсуждения:
0
|
||||||
| 17.11.2017, 23:13 | |
|
Как замерить время работы функции? Замерить время выполнения базовых операций Как замерить длительность выполнения кода? Как замерить время сортировки массива? Используя О- символику, найдите время выполнения (как функции от N) процедуры или функции в наихудшем случае Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Генератор паролей (вариант №3)
Maks 30.10.2026
Финальная версия генератора паролей 1С.
Доработка решения в этот раз коснулась только визуальной части, а именно, добавлен реквизит ДопПараметры (тип Булево), который скрывает/ отображает реквизиты:. . .
|
Магическое мышление и магия, современная наука не отличима от магии (говорит ИИ Джемени)
zorxor 30.10.2026
Джемени, расскажи, пожалуйста, что такое магическое мышление, что такое магия, почему современная наука чем-то напоминает магию?
Фраза «Любая достаточно развитая технология неотличима от магии». . .
|
За какое время ИИ может подобрать пароль по хешу (рассказывает Джемени ИИ)
zorxor 30.10.2026
Расскажи, Джемени, если известен хэш МД5, например, за сколько ИИ сможет подобрать соответствующий пароль?
Искусственный интеллект (ИИ) может подобрать простой или средний по сложности пароль по. . .
|
Кто убил Suno? Почему наше солнышко погасло? (диалог с ИИ Джемени)
zorxor 30.10.2026
Как убивали Suno. Хронология.
«Убийство» музыкальной нейросети Suno — это затяжной процесс, в котором технологический хайп стартапа разбился о жесткую реальность судебных исков от гигантов. . .
|
|
Генератор паролей (вариант №2)
Maks 30.10.2026
Обновленная версия ранее созданной обработки.
Добавлены следующие реквизиты типа Булево:
- Буквы;
- Цифры;
- Символы.
Изменена логика команды "Сгенерировать" и процедуры "ПриОткрытии":. . .
|
Генератор паролей (вариант №1)
Maks 29.10.2026
Реализация из решения ниже выполнена исключительно по моей инициативе, дабы облегчить себе работу в создании паролей для администрируемых мною сервисов и пользователей.
Самым главным критерием для. . .
|
Установка ChatGPT (Codex) на Windows без использования Microsoft Store
Fabien159 28.10.2026
Здравствуйте всем читающим! Опишу процесс установки ChatGPT (Codex) на Windows, если по каким-то причинам у вас не получается устанавить его через Microsoft Store.
И так:
1. Скачиваем с. . .
|
Программное добавление префикса в нумерацию документов
Maks 27.10.2026
Реализация из решения ниже выполнена в самописной конфигурации на БСП (помощь начинающему коллеге).
Задача:
Программно добавить префикс в нумерацию документов.
Решение:
В модуле объекта. . .
|