Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.08.2011, 21:24   #1
Bat{CMD}_Men
Пользователь
 
Аватар для Bat{CMD}_Men
 
Регистрация: 29.03.2009
Сообщений: 91
Вопрос генерация

написал программку, которая генерирует словарь для брута.
Суть программы проста. в одном потоке суммируется числовая переменная, а после записывается в файл.

на компьютере с процессором pentium 4 она грузит 100% ЦП.
на компьютере с процессором intel Core 2 Duo она грузит 50% ЦП.
на компьютере с процессором intel core i3 она грузит 25% ЦП.

Как заставить эту программу на всех системах использовать весь ЦП?

Название ОС: Microsoft Windows XP Professional
Версия ОС: 5.1.2600 Service Pack 3 сборка 2600
Тип системы: X86-based PC
Bat{CMD}_Men вне форума Ответить с цитированием
Старый 25.08.2011, 21:26   #2
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

дело не в мощности, а в количестве ядер.
одной нитью не занять два и более ядра, а значит нужна многопоточность(и вычисления надо распределять)
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 25.08.2011, 21:48   #3
Bat{CMD}_Men
Пользователь
 
Аватар для Bat{CMD}_Men
 
Регистрация: 29.03.2009
Сообщений: 91
По умолчанию

ну хорошо.
есть другая программка. в которой указываешь число потоков и она производит операции над числами. и по истечению 1 секунды она выводи число произведенных операций.

если указывать 1 поток то она на i3 процессоре выдает 113002 операции, а если задать 2 потока то он выдает 3072, а если задать 4 потока то 3128 операций в секунду. какой то упадок производительности.
Bat{CMD}_Men вне форума Ответить с цитированием
Старый 25.08.2011, 21:50   #4
Bat{CMD}_Men
Пользователь
 
Аватар для Bat{CMD}_Men
 
Регистрация: 29.03.2009
Сообщений: 91
По умолчанию

как это объяснить. может дело в разрядности системы.
Bat{CMD}_Men вне форума Ответить с цитированием
Старый 25.08.2011, 21:52   #5
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

одна секунда слишком мало чтоб почуять разницу.
тем более вы уверены что корректно отмеряете?(учитываете все потоки, а не только один)

тем более это тема гораздо сложнее порою, учитывая вытесняющую многозадачность.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 26.08.2011, 05:53   #6
Bat{CMD}_Men
Пользователь
 
Аватар для Bat{CMD}_Men
 
Регистрация: 29.03.2009
Сообщений: 91
По умолчанию

то что я учитываю все потоки это точно, но когда я в той программе увеличиваю число потоков, загрузка ЦП уменьшается.
Bat{CMD}_Men вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Генерация пароля nuriev007 Помощь студентам 2 05.03.2011 09:50
Генерация массива ZORRO2005 Microsoft Office Excel 2 23.05.2010 23:47
случайная генерация The riddle Помощь студентам 5 06.10.2009 15:57
Генерация Штрихкода vlad00777 Помощь студентам 13 13.09.2009 17:13
Генерация заголовка MAcK Фриланс 3 06.11.2008 11:59