1 / 1 / 0
Регистрация: 11.10.2020
Сообщений: 59
|
||||||
1 | ||||||
Проверить эффективность многопоточности15.11.2020, 13:02. Показов 1046. Ответов 6
Метки нет (Все метки)
Здравствуйте, я не сильно разбираюсь в многопоточном программировании, поэтому нужна помощь в вопросе. Нужно научиться группировать вычислительные операции с целью оптимизации скорости
вычислений. Есть 6 функций, которые нужно вычислить. Хотел проверить при помощи chrono, что будет эффективнее, но в итоге таймер показывает разное время. Всё ли я правильно сделал? И если да, то может надо вбить в аргументы функций числа больше, чтобы доказать эффективность многопоточности? Я пробовал вычислять с многозначными числами, но результат был почти такой же. Кликните здесь для просмотра всего текста
0
|
15.11.2020, 13:02 | |
Ответы с готовыми решениями:
6
Соотношение многопоточности приложения c++ и многопоточности на уровне системы? Как проверить эффективность продвижения? О многопоточности по многопоточности |
610 / 415 / 151
Регистрация: 11.01.2019
Сообщений: 1,746
|
|
15.11.2020, 13:08 | 2 |
Ты тут делаешь что-то не то. Что надо проверить? Сформулируй четко. Еще и зачем-то вывод в поток кладешь в параллель внутри лямбды. Он же время "пожирает"!
0
|
1 / 1 / 0
Регистрация: 11.10.2020
Сообщений: 59
|
||||||
15.11.2020, 14:31 [ТС] | 3 | |||||
Да, написал не так. Сейчас переделал. В итоге многопоточность затрачивает в среднем 0.01с, а без неё - 0.00004с. Как я понял, нужно при помощи многопоточности ускорить процесс вычисления функций. Вот переделанный код. В целях лр написано было "Научиться группировать вычислительные операции с целью оптимизации скорости вычислений".
Кликните здесь для просмотра всего текста
0
|
6579 / 4564 / 1843
Регистрация: 07.05.2019
Сообщений: 13,726
|
|
15.11.2020, 15:35 | 4 |
Сообщение было отмечено NkL как решение
Решение
На одном вызове ты ничего не измеришь. Надо вызвать одну функцию много раз, и замерить общее время.
Это во-первых. Добавлено через 1 минуту Во-вторых - а что ты выполняешь в потоках? Ты вроде запускаешь один поток и ждёшь его завершения. Это то же самое, что просто выполнить код без запуска потока.
1
|
1 / 1 / 0
Регистрация: 11.10.2020
Сообщений: 59
|
||||||
15.11.2020, 16:05 [ТС] | 5 | |||||
Функции не менял. Вот переделал. Разница во времени - 2 раза. Теперь всё правильно?
Кликните здесь для просмотра всего текста
0
|
610 / 415 / 151
Регистрация: 11.01.2019
Сообщений: 1,746
|
|
15.11.2020, 16:08 | 6 |
Потоки надо хорошо загрузить работой, тогда будет ощутимый эффект. То есть время на создание и управление потоками должно быть значительно меньше времени их выполнения.
1
|
6579 / 4564 / 1843
Регистрация: 07.05.2019
Сообщений: 13,726
|
||||||
15.11.2020, 16:35 | 7 | |||||
Вроде да. Похоже на правду.
Добавлено через 2 минуты Попробуй ещё вот так
0
|
15.11.2020, 16:35 | |
15.11.2020, 16:35 | |
Помогаю со студенческими работами здесь
7
Эффективность программы эффективность StoredProcedure? Эффективность перевозок эффективность сравнения Периодическая эффективность эффективность алгоритма Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |