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

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

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 22.04.2015, 12:45   #1
xNaruto3000x
 
Регистрация: 16.05.2011
Сообщений: 4
По умолчанию не получается оптимизировать код программы.

Здравствуйте. У меня не получается оптимизировать код программы. Компьютер мощный, а не знаю как заставить процессор работать в полную мощность. Программа кушает всего лишь 20%. Очень много циклов и ветвлений. Есть ли какие-нибудь инструменты или процедуры встроенные в visual studio 2013 для c# чтобы заставить прогу быстрее работать? Если да, то подскажите пожалуйста как.
xNaruto3000x вне форума Ответить с цитированием
Старый 22.04.2015, 12:49   #2
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Цитата:
20%
Распараллелить алгоритм и использовать несколько потоков (Thread, Task, ...).
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 22.04.2015, 13:01   #3
xNaruto3000x
 
Регистрация: 16.05.2011
Сообщений: 4
По умолчанию

а есть какие-нибудь примеры? я вот пробовал параллелить и у меня получалось ещё дольше время работы программы. Такое может быть или всё-таки это моя неопытность? я пишу например для цикла
Thread[] thr = new Thread[k];
for (int i = 0; i < thr.Leingth; i++)
{
thr[i]=new Thread(()=>
{
//операции
});
thr[i].Start();
thr[i].Join();
}
Это правильно или надо как-то по-другому делать?
xNaruto3000x вне форума Ответить с цитированием
Старый 22.04.2015, 13:10   #4
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Вы точно распаллелили, а не просто запустили один и тот же код с одними и теме же данными в нескольких потоках?

И Join не должен быть в этом цикле, так вы ждете завершения каждого потока перед запуском следующего.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 22.04.2015, 13:13   #5
xNaruto3000x
 
Регистрация: 16.05.2011
Сообщений: 4
По умолчанию

точно...это получается мне надо в отдельный цикл пустить завершение потоков. Надо будет попробовать.
xNaruto3000x вне форума Ответить с цитированием
Старый 22.04.2015, 13:25   #6
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

быть может Linq и AsParallel поюзать?
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Оптимизировать код по IE 7 nibufep JavaScript, Ajax 1 08.03.2015 13:31
Оптимизировать код Алексей_2012 Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 58 19.02.2013 00:13
оптимизировать код destic Microsoft Office Excel 14 26.01.2013 01:12
Оптимизировать код) Pein95 Паскаль, Turbo Pascal, PascalABC.NET 1 11.11.2011 18:42
Оптимизировать код NeiL Помощь студентам 2 21.02.2008 08:57