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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 21.08.2013, 11:51   #11
_salam_
 
Регистрация: 26.03.2013
Сообщений: 5
По умолчанию

скорее всего, можно оптимизировать алгоритм и добиться времени < 2 sec.
_salam_ вне форума Ответить с цитированием
Старый 21.08.2013, 14:22   #12
Selestis
Форумчанин
 
Аватар для Selestis
 
Регистрация: 21.01.2009
Сообщений: 719
По умолчанию

OpenMP позволяет достаточно просто параллелить подобные вещи на С/С++, буквально пара строк и готово. Но прирост скорости будет определяться количеством ядер компьютера, о десятках ядер GPU тут речи не идёт. Однако это как раз то, что можно быстро и без затрат попробовать, и выкинуть, если окажется недостаточно.
Например простой цикл можно параллелить на n потоков всего одной строкой:
Код:
#pragma omp parallel for
for (int i  0; i < ....){...}
с небольшими ограничениями
Изобретатель велосипедов
Selestis вне форума Ответить с цитированием
Старый 21.08.2013, 15:38   #13
Shad0wF1rst
Форумчанин
 
Регистрация: 11.01.2013
Сообщений: 149
По умолчанию

Я просмотрел все посты, но не увидел что бы кто то задал вопрос, а что это за ресурсоемкие операции такие? Или это не имеет значение? Предоставте пожалуйста хотя бы несколько строк кода даже выполненную в лоб задачу, а там посмотрим как можно оптимизировать.
Может это и чушь, но это моя чушь и я ее никому не отдам.
Shad0wF1rst вне форума Ответить с цитированием
Старый 21.08.2013, 16:42   #14
waleri
Старожил
 
Регистрация: 13.07.2012
Сообщений: 6,331
По умолчанию

Цитата:
Сообщение от Shad0wF1rst Посмотреть сообщение
Я просмотрел все посты, но не увидел что бы кто то задал вопрос,
Плохо смотрели
waleri вне форума Ответить с цитированием
Старый 22.08.2013, 09:34   #15
Shad0wF1rst
Форумчанин
 
Регистрация: 11.01.2013
Сообщений: 149
По умолчанию

Цитата:
Плохо смотрели
Не плохо смотрел, если вы намекаете на:

Цитата:
Сообщение от arm9n Посмотреть сообщение
Есть байтовый массив размером пордяка 6 млн. элементов, и над каждым элементом в цикле нужно выполнить довольно ресурсоемкие операции, рассчитав значения n-ого элемента исходя из значений элементов n-k..n+k, причем k может врьироваться от 1 до 1000. Каким образом можно оптимизировать этот процесс под обычный среднестатистический пк, чтобы процесс занимал не более 2 сек? Мб писать в асме?
То какие операции нужно провести для расчета это самого n-го элемента здесь не уточнены. Тут указан только диапазон.
И что такое:
Цитата:
обычный среднестатистический пк
Хотелось бы информации от автора темы
Может это и чушь, но это моя чушь и я ее никому не отдам.

Последний раз редактировалось Shad0wF1rst; 22.08.2013 в 09:37.
Shad0wF1rst вне форума Ответить с цитированием
Старый 22.08.2013, 10:35   #16
Smitt&Wesson
Старожил
 
Аватар для Smitt&Wesson
 
Регистрация: 31.05.2010
Сообщений: 13,543
По умолчанию

Если не критично по времени, спулинг отменили? Загружаем часть массива, обрабатываем, сохраняем в другой файл...
Если по времени критично и объёма памяти не хватает.
Идём в магазинчик, закупаем линеечку, ставим в слотик и пользуемся. Какие проблемы?
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder
Smitt&Wesson вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа с массивом ReMicroN Помощь студентам 1 06.05.2012 11:05
Работа с массивом Aleks2215 Microsoft Office Excel 10 04.11.2010 23:38
Работа с массивом ZOHAN Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 10 16.04.2010 01:20
работа с массивом Андрей.12 Помощь студентам 2 22.10.2009 00:25
работа с массивом begemotikdin Паскаль, Turbo Pascal, PascalABC.NET 2 21.06.2008 21:40