![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы
![]() |
Поиск в этой теме
![]() |
![]() |
#1 |
Участник клуба
Регистрация: 28.06.2009
Сообщений: 1,950
|
![]()
Есть программа, которую можно запустить с разл. числом тредов, указывая его как параметр командной строки. Опыт показывает, что при 1 треде проц загружен на величину около 50%, при выборе 32 или 16 на все 100, при этом работать с компом почти невозможно.
Есть ли некое оптимальное число тредов, которое обычно советуется, чтобы было макс. быстродействие программы, и желательно, чтобы можно было еще и работать при этом? |
![]() |
![]() |
![]() |
#2 |
Форумчанин
Регистрация: 09.11.2009
Сообщений: 104
|
![]()
Есть только совет от кэпа. На одном проце или одно ядерном проце быстрее всего работает 1 тред. Потому что в противном случае тратится время на синхронизацию. Вобщем по количеству процов и ядер выбирается количество тредов. Ну а вообще часто делаю графический интерфейс в одном треде а ядро в другом, чтобы не тормозило. Те всего 2 треда.
|
![]() |
![]() |
![]() |
#3 |
Форумчанин
Регистрация: 09.11.2009
Сообщений: 104
|
![]()
Для того что бы ваша программа не кушала все время процессора можно потоку назначить меньший приоритет.
|
![]() |
![]() |
![]() |
#4 |
Участник клуба
Регистрация: 28.06.2009
Сообщений: 1,950
|
![]()
Проц 2-ядерный, Вин7 64. Сейчас пробую с 32 тредами, не знаю, лучше ли чем-то это
|
![]() |
![]() |
![]() |
#5 | |
Линуксоид
Участник клуба
Регистрация: 31.07.2009
Сообщений: 1,403
|
![]() Цитата:
Как-то проводил эксперименты: при 2 потоках на 2-ядерном компе моя софтина считала медленнее, чем при 3. Почему — не знаю. Вон для сборки программ в Linux советуют делать make -j(количество ядер+1), то есть запускать на 1 поток компиляции, чем ядер у компа. Вот тут первый ответ очень грамотно дан: http://stackoverflow.com/questions/1...reads-per-core
Я схожу с ума или это глючит реальность?
Jabber ID: obey@obey.su Последний раз редактировалось Obey-Kun; 21.01.2011 в 20:33. |
|
![]() |
![]() |
![]() |
#6 | |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
![]() Цитата:
один это ГУИ, два других это расчеты. Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
|
![]() |
![]() |
![]() |
#7 |
Участник клуба
Регистрация: 28.06.2009
Сообщений: 1,950
|
![]()
Программа чисто консольная, делает перебор серьезный, памяти мало занимает относительно. Из вывода - показывает текущее значение одной переменной
|
![]() |
![]() |
![]() |
#8 | |
Линуксоид
Участник клуба
Регистрация: 31.07.2009
Сообщений: 1,403
|
![]() Цитата:
и расчёты на двухядернике не обязательно быстрее будут при 2 потоках, возможно на 3 или даже на 30.
Я схожу с ума или это глючит реальность?
Jabber ID: obey@obey.su |
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Запуск программы | cyberandom | Помощь студентам | 4 | 07.11.2010 20:59 |
По поводу тредов и консоли | Malkovich | Win Api | 2 | 13.10.2009 15:24 |
Как Вы относитесь к различным видам рекламы на Сайтах? | Izhic | Свободное общение | 12 | 01.05.2009 12:30 |
Запуск программы на выполнение из другой программы. | ViNcHeStEr | Паскаль, Turbo Pascal, PascalABC.NET | 6 | 18.06.2008 14:33 |