Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Программирование [игнор отключен] [закрыт для гостей] / большие массивы и оперативка / 10 сообщений из 10, страница 1 из 1
17.06.2013, 17:21
    #38300435
ayvango
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
большие массивы и оперативка
Есть функция, она работает с массивами. Число операций одно и то же вне зависимости от массива. Только вот когда размер массива больше, чем доступная оперативная память, время работы резко увеличивается.

Будет ли оно одно и то же как при больших, так и при маленьких массивах, если оперативную память увеличить?
Напомню, что число операций везде одинаковое вне зависимости от размера массива.
...
Рейтинг: 0 / 0
17.06.2013, 17:52
    #38300484
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
большие массивы и оперативка
Ну если убрать погружение данных в своп - несмоненно, станет лучше.
Но следует помнить о существовании лимита памяти для приложения.
...
Рейтинг: 0 / 0
17.06.2013, 20:22
    #38300655
Изопропил
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
большие массивы и оперативка
AkinaНо следует помнить о существовании лимита памяти для приложения.
актуально только для 32-bit
...
Рейтинг: 0 / 0
17.06.2013, 22:56
    #38300755
ayvango
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
большие массивы и оперативка
Если я правильно понял, "своп" -- это подкачка с жёсткого диска. Понятно, что лучше обойтись оперативкой, нежели использовать подкачку.

Вопрос был, станет ли всё так же, как и с малыми массивами при том же числе операций или нет.
...
Рейтинг: 0 / 0
17.06.2013, 23:48
    #38300784
Програмёр
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
большие массивы и оперативка
ayvangoЕсли я правильно понял, "своп" -- это подкачка с жёсткого диска. Понятно, что лучше обойтись оперативкой, нежели использовать подкачку.

Вопрос был, станет ли всё так же, как и с малыми массивами при том же числе операций или нет.

Вы задаёте вопрос, на который Вам уже ответили. Как Вы думаете, в какой момент загрузка в файл подкачки происходит? Именно тогда, когда оперативки не достаточно, что бы провести вычисления. А значит увеличив оперативку Вы получите прирост скорости (и чем больше данных будет помещаться в память, тем больше прироста скорости).
...
Рейтинг: 0 / 0
18.06.2013, 13:44
    #38301539
ayvango
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
большие массивы и оперативка
Я и так понял, что прирост скорости я получу. Вы просто не поняли вопрос, а вопрос заключался в том, что будет ли зависеть время работы программы от длины входного массива, если число операций одинаковое, но в оперативку все массивы влезают с запасом . Может быть, 2Гб + 2Гб хуже, чем 4 Гб или же массивы так плохо распределены в оперативке, что время работы увеличивается несмотря на то, что число операций осталось тем же и места для массивов более, чем достаточно.

Ещё один вопрос:

есть

for(int i = 0; i < N; ++i)
{
a[i] = b[i] + c[i]
}

затем меняем на

for(int i = 0; i < N; ++i)
{
a[i] = b[i] + c[i]
x[i] = y[i] + z[i]
}

Почему Debug-версия резко увеличивает время работы при увеличении числа операций в цикле, а в Release-версии время работы почти не увеличивается?
...
Рейтинг: 0 / 0
18.06.2013, 13:48
    #38301551
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
большие массивы и оперативка
Т.е. по сути вопрос - зависит ли время получения операнда по указателю от того, чему равен этот указатель... самому-то не смешно?
...
Рейтинг: 0 / 0
18.06.2013, 14:16
    #38301621
Ёш
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
большие массивы и оперативка
Akina, а как же NUMA?
...
Рейтинг: 0 / 0
18.06.2013, 14:45
    #38301688
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
большие массивы и оперативка
Давайте не будем рассматривать случаи, когда весь массив валяется в L2 (речь всё же не о тех объёмах)... а в остальных случаях из-за того, что отображение логической памяти на физическую в общем случае носит статистический характер, подобного рода эффекты великолепно усредняются даже на многопроцесорных системах.
...
Рейтинг: 0 / 0
18.06.2013, 17:59
    #38302080
Bred eFeM
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
большие массивы и оперативка
авторПочему Debug-версия резко увеличивает время работы при увеличении числа операций в цикле, а в Release-версии время работы почти не увеличивается?
F9 -> F5 -> Ctrl_Alt_D
...
Рейтинг: 0 / 0
Форумы / Программирование [игнор отключен] [закрыт для гостей] / большие массивы и оперативка / 10 сообщений из 10, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]