brunnengi Опубликовано 1 января, 2015 Поделиться Опубликовано 1 января, 2015 Здравствуйте. Попытался разобраться в примерах по работе с TParallel, но не затащил ( Да и вообще хочу уточнить поможет ли в моем случаем использование TParallel. задача в виде кода такая: for i_01 := 1 to 7 do for i_02 := 1 to 7 do for i_03 := 1 to 7 do for i_04 := 1 to 7 do for i_05 := 1 to 7 do begin if (i_01 <> i_02) and (i_01 <> i_03) and (i_01 <> i_04) and (i_01 <> i_05) and (i_02 <> i_03) and (i_02 <> i_04) and (i_02 <> i_05) and (i_03 <> i_04) and (i_03 <> i_05) and (i_04 <> i_05) then // сохраняю эти данные в файл. end; Т.е. я перебираю все комбинации и ищу среди них только те, где элементы не повторяются. К примеру перебирая все варианты, выпадает такой: 1,2,3,4,4 Этот вариант я не сохраняю так как в нем две одинаковые четверки. А вот вариант 1,2,3,4,5 сохраню, так как все числа в этом наборе не повторяются. Сейчас задача выполняется на компе, но процессор грузиться только на 18% под эту программу. (Win 8.1 64 bit, iCore7, 8Гб ОЗУ, Ядер 4, Логический процессов 8) Сам перебор выполняется в отдельном потоке. *Подскажите пожалуйста, возможно ли применение TParallel под мою задачу и если да, то ускорит ли его применение работу программы? *И если не трудно и кто знает как, то выложите пожалуйста пример как это должно выглядеть. *Есть ли вариант заменить вон тот список условий (if (i_01 <> i_02.... и т.д.) на какой нибудь более грамотный вариант и не в ущерб в скорости? Или этот вариант единственный? Цитата Ссылка на комментарий
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.