HLFX.Ru Forum
профиль •  правила •  регистрация •  календарь •  народ •  FAQ •  поиск •  новое •  сутки •  главная •  выход  
HLFX.Ru Forum HLFX.Ru Forum > Наш форум > Технические вопросы > фортран, вопрос производительности
продублирую здесь свой вопрос, так как тут как минимум 3 человека знают
Страницы (2): [1] 2 »   Предыдущая тема   Следующая тема
Автор
Тема Новая тема    Ответить
thambs
мразь конченная

Дата регистрации: Mar 2006
Проживает: -
Сообщений: 6417

Рейтинг



фортран, вопрос производительности

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

имеется несколько real массивов в 1e6\div1e7x4 (набор векторов в 4-хмерном фазовом пространстве, (от сотни мегабайт, до гигабайта)), в программе нужно будет за каждую итерацию (их очень много) проводить преобразования этих векторов, некоторые из них удалять, добавлять новые. промежуточные результаты не сохраняются -- то есть на каждом шаге итерации в памяти хранятся только предпоследнее и последнее состояние массивов.

что в таком случае предпочтительней, в плане удаления-добавления элементов -- делать allocatable или как они там, массивы переменного размера, или же заранее зарезервировать под каждый массив побольше памяти и завести дополнительный integer/boolean переменный массив со списком индексов векторов, содержащих полезную информацию?

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

Отредактировано thambs 05-09-2011 в 15:47

Сообщить модератору | | IP: Записан
Сообщение: 82765

Старое сообщение 05-09-2011 15:40
- За что?
Scrama
СССР с интернетом и олигархами!

Дата регистрации: May 2006
Проживает: Прииртышье
Сообщений: 3737

Рейтинг



Награды
 
[1 награда]


Фиксированные массивы в стеке будут быстрее, чем динамические, к бабке ходить не надо.

Если процесс 32-битный, то больше чем на 2 гига памяти можешь не расчитывать, тут думай.

Добавлено 07-09-2011 в 12:30:

Тензоры какие-то?

__________________
"Злобным гениям не нужна харизма." © Shooter__Andy
"Making stuff for an "old ugly game" can be ten times more fun than grinding on a map for a dull, next-gen title." © Lunaran

Сообщить модератору | | IP: Записан
Сообщение: 82825

Старое сообщение 07-09-2011 05:30
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32213
Нанёс повреждений: 392 ед.

Рейтинг



максимальное быстродейсте == прямой доступ к ячейке массива.
быстрее уже не придумаешь.
а таблица индексов как раз таки призвана экономить память, уночитожая повторяющиеся элементы.
Корочи говоря засрать память куда проще, нежели загрузить процессор.

Добавлено 07-09-2011 в 13:23:

А вообще говоря итерация по гигабайтному массиву тоже дело долгое.
Приведи псведокод, как оно выглядеть должно.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'

Сообщить модератору | | IP: Записан
Сообщение: 82833

Старое сообщение 07-09-2011 09:23
-
thambs
мразь конченная

Дата регистрации: Mar 2006
Проживает: -
Сообщений: 6417

Рейтинг



Дядя Миша

да мне уже на ЛОРе обяснили как надо http://www.linux.org.ru/forum/devel...d=1315386274982

вообщем действительно буду выделать большой массив, и разобъю его на отдельные подмассивы -- тогда каждый раз обходить надо будет не гигабайтный, а только эти субмассивы в которых элементов меньше, т.е полный массив обходитсья будет только один раз.

>экономить память, уночитожая повторяющиеся элементы.

там нет повторяющихся, есть не несущие информацию: что то вроде
(
x1,vx1,vy1,vz1
x2,vx2,vy2,vz2
пустая ячаейка
x4,vx4,vy4,vz4
ещё больше пустых
)

ну вот думаю как бы записать в отдельный массив номера значащих ячеек.. по идее даже массива не надо, достаточно большого двичного числа, где 0 -- пустая, 1 -- информативная ячейка.

Отредактировано thambs 07-09-2011 в 09:41

Сообщить модератору | | IP: Записан
Сообщение: 82837

Старое сообщение 07-09-2011 09:36
- За что?
Scrama
СССР с интернетом и олигархами!

Дата регистрации: May 2006
Проживает: Прииртышье
Сообщений: 3737

Рейтинг



Награды
 
[1 награда]


thambs, т.е. ты считаешь, что бежать по вспомогательному массиву с, допустим, 1-байтовыми элементами и потом адресоваться в массив с real, будет быстрее, чем просто бежать по массиву с real?

__________________
"Злобным гениям не нужна харизма." © Shooter__Andy
"Making stuff for an "old ugly game" can be ten times more fun than grinding on a map for a dull, next-gen title." © Lunaran

Сообщить модератору | | IP: Записан
Сообщение: 82841

Старое сообщение 07-09-2011 09:55
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32213
Нанёс повреждений: 392 ед.

Рейтинг



Цитата:
thambs писал:
да мне уже на ЛОРе обяснили как надо

они же там больные все
Цитата:
thambs писал:
вообщем действительно буду выделать большой массив, и разобъю его на отдельные подмассивы -- тогда каждый раз обходить надо будет не гигабайтный, а только эти субмассивы в которых элементов меньше, т.е полный массив обходитсья будет только один раз.

поздравляю! вы только что изобрели дерево.
Цитата:
thambs писал:
там нет повторяющихся, есть не несущие информацию: что то вроде

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

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'

Сообщить модератору | | IP: Записан
Сообщение: 82848

Старое сообщение 07-09-2011 11:00
-
 XaeroX
Crystice Softworks

Дата регистрации: Oct 2005
Проживает: Торонто
Сообщений: 34527
Нанёс повреждений: 514 ед.
Возраст: 37

Рейтинг



Награды
 
[1 награда]


Цитата:
Дядя Миша писал:
они же там больные все

ну лор это же врач такой, он и лечит)

__________________

Сообщить модератору | | IP: Записан
Сообщение: 82849

Старое сообщение 07-09-2011 11:34
-
underworlddemon
Житель форума
Девойс

Дата регистрации: Jun 2011
Проживает: Россия/Москва
Сообщений: 469
Возраст: 37

Рейтинг



Цитата:
Scrama писал:
Если процесс 32-битный, то больше чем на 2 гига памяти можешь не расчитывать

<оффтоп>
разве это не ограничение виндыХР ?
<\оффтоп>

Сообщить модератору | | IP: Записан
Сообщение: 82869

Старое сообщение 07-09-2011 18:02
- За что?
thambs
мразь конченная

Дата регистрации: Mar 2006
Проживает: -
Сообщений: 6417

Рейтинг



Scrama

да я понял уже. вообщем надо будет завести внутри основного несколько вспомогательных элементов и внутри них уже описать номера значащих векторов, т-е достаточно большого бинарного числа, где 0 -- пустая ячейка, а 1 -- значимая.

//на работе 64бита и памяти хоть жопой жуй. так что не проблема.

Дядя Миша

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

Сообщить модератору | | IP: Записан
Сообщение: 82872

Старое сообщение 07-09-2011 18:56
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32213
Нанёс повреждений: 392 ед.

Рейтинг



Цитата:
thambs писал:
в каком смысле избавляться? перезаписывать туда нули?

сдвигать вверх, избавляясь от пустых.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'

Сообщить модератору | | IP: Записан
Сообщение: 82873

Старое сообщение 07-09-2011 19:06
-
 XaeroX
Crystice Softworks

Дата регистрации: Oct 2005
Проживает: Торонто
Сообщений: 34527
Нанёс повреждений: 514 ед.
Возраст: 37

Рейтинг



Награды
 
[1 награда]


Цитата:
underworlddemon писал:
разве это не ограничение виндыХР ?

Это ограничение 32-битных ОС.
Есть 64-битная ХР, тащемта например.

__________________

Сообщить модератору | | IP: Записан
Сообщение: 82876

Старое сообщение 07-09-2011 19:14
-
FiEctro
Кот Арсис

Дата регистрации: Aug 2006
Проживает: код
Сообщений: 12901
Возраст: 32

Рейтинг



>> Это ограничение 32-битных ОС.

А разве не 3326MB?

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!

Сообщить модератору | | IP: Записан
Сообщение: 82879

Старое сообщение 07-09-2011 20:26
- За что?
 Skaarj
Ctrl+S

Дата регистрации: Aug 2006
Проживает: Twisting Nether
Сообщений: 2383
Нанёс повреждений: 9 ед.

Рейтинг



Награды
  
[2 награды]


FiEctro
"4 ГБ адресного пространства разделены на два раздела: раздел непривилегированного режима и раздел привилегированного режима. По умолчанию, каждый из эти разделов имеет размер в 2 ГБ, хотя Вы можете изменить это, используя установки в файле BOOT.INI"

Добавлено 07-09-2011 в 23:43:

Собсно, такой же прикол получаем с 32-х битным приложением под 64-х битную ОС.

Сообщить модератору | | IP: Записан
Сообщение: 82880

Старое сообщение 07-09-2011 20:43
-
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32213
Нанёс повреждений: 392 ед.

Рейтинг



размер выделяемоей физической памяти для одного приложения ограничен разрядностью указателей. В самой-то винде адресация давным-давно (еще по-моему с первого пня) 48-битная и теоретически память может доходить до 16 терабайт.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'

Сообщить модератору | | IP: Записан
Сообщение: 82881

Старое сообщение 07-09-2011 20:58
-
Scrama
СССР с интернетом и олигархами!

Дата регистрации: May 2006
Проживает: Прииртышье
Сообщений: 3737

Рейтинг



Награды
 
[1 награда]


Skaarj все сказал, добавить нечего )

Добавлено 08-09-2011 в 13:09:

Для заинтересованных http://www.gunsmoker.ru/2011/04/windows-spin-off.html

__________________
"Злобным гениям не нужна харизма." © Shooter__Andy
"Making stuff for an "old ugly game" can be ten times more fun than grinding on a map for a dull, next-gen title." © Lunaran

Сообщить модератору | | IP: Записан
Сообщение: 82890

Старое сообщение 08-09-2011 06:09
- За что?
Тема: (Опционально)
Ваш ответ:



Переводчик транслита


[проверить длину сообщения]
Опции: Автоматическое формирование ссылок: автоматически добавлять [url] и [/url] вокруг интернет адресов.
Уведомление по E-Mail: отправить вам уведомление, если кто-то ответил в тему (только для зарегистрированных пользователей).
Отключить смайлики в сообщении: не преобразовывать текстовые смайлики в картинки.
Показать подпись: добавить вашу подпись в конец сообщения (только зарегистрированные пользователи могут иметь подписи).

Временная зона GMT. Текущее время 16:17. Новая тема    Ответить
Страницы (2): [1] 2 »   Предыдущая тема   Следующая тема
HLFX.Ru Forum HLFX.Ru Forum > Наш форум > Технические вопросы > фортран, вопрос производительности
продублирую здесь свой вопрос, так как тут как минимум 3 человека знают
Версия для печати | Отправить тему по E-Mail | Подписаться на эту тему

Быстрый переход:
Оцените эту тему:

Правила Форума:
Вы not можете создавать новые темы
Вы not можете отвечать в темы
Вы not можете прикреплять вложения
Вы not можете редактировать ваши сообщения
HTML Код ВЫКЛ
vB Код ВКЛ
Смайлики ВКЛ
[IMG] Код ВКЛ
 

< Обратная связь - HLFX.ru >

На основе vBulletin
Авторское право © 2000 - 2002, Jelsoft Enterprises Limited.
Дизайн и программирование: Crystice Softworks © 2005 - 2024