Модераторы: Daevaorn

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Максимальный размер массива 
:(
    Опции темы
MystDeim
Дата 22.11.2007, 22:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 177
Регистрация: 22.10.2007
Где: Россия->Юбилей ный

Репутация: нет
Всего: нет



Нужно создать массив большого размера порядка миллиарда строк!
При создании массива уже больше миллиона строк Билдер вылетает с ошибкой... :(
--------------------
Учебные материалы для студентов http://studlab.org
PM MAIL WWW   Вверх
DjoNIK
Дата 22.11.2007, 22:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 320
Регистрация: 28.9.2006
Где: Питер/Георгиевск

Репутация: 4
Всего: 5



Цитата(MystDeim @  22.11.2007,  22:04 Найти цитируемый пост)
Нужно создать массив большого размера порядка миллиарда строк!

Какой тип данных?


ЗЫ: точно "нужно"?


--------------------
- Плесни-ка мне холодного кипятку.
- Как кипяток может быть холодным?! Ты, верно, хочешь кипяченой воды?
- Какая ещё кипяченая вода? Не пудри мне мозги - налейхолодного кипятку.
(разговор петербуржца и москвича)
PM MAIL ICQ   Вверх
Alek86
Дата 22.11.2007, 22:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1299
Регистрация: 30.1.2007
Где: Киев

Репутация: 21
Всего: 25



DjoNIK, та любой тип данных smile
массив, наверна, статический делается


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

а еще лучше подучить STL (std::vector)


--------------------
user posted image    user posted image
PM MAIL   Вверх
Treod
Дата 22.11.2007, 22:23 (ссылка)    | (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 203
Регистрация: 21.11.2007

Репутация: нет
Всего: 2




У тя какой тип данных, если double, должно работать...
PM MAIL ICQ   Вверх
MystDeim
Дата 22.11.2007, 22:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 177
Регистрация: 22.10.2007
Где: Россия->Юбилей ный

Репутация: нет
Всего: нет



Тип данных char
длина строки 25 символов, а строк нужно очень много!
--------------------
Учебные материалы для студентов http://studlab.org
PM MAIL WWW   Вверх
srd
Дата 22.11.2007, 22:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Нереварин
**


Профиль
Группа: Участник Клуба
Сообщений: 951
Регистрация: 30.8.2003
Где: Владивосток

Репутация: 27
Всего: 49



Ты неверно решаешь задачу. Массив такого размера не может быть нужен smile


--------------------
Не смей читать мою подпись!!!
PM MAIL Jabber   Вверх
MAKCim
Дата 22.11.2007, 22:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


Профиль
Группа: Экс. модератор
Сообщений: 5644
Регистрация: 10.12.2005
Где: Менск, РБ

Репутация: 52
Всего: 207



Цитата(MystDeim @  22.11.2007,  22:39 Найти цитируемый пост)
Тип данных char
длина строки 25 символов, а строк нужно очень много! 

итого ~25GB
не сильно ли много?
если не секрет, что за задача?  smile 


--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
MystDeim
Дата 22.11.2007, 23:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 177
Регистрация: 22.10.2007
Где: Россия->Юбилей ный

Репутация: нет
Всего: нет



Ну с размером я конечно загнул smile
А задаче эта - поиск путей и контуров в графе.

Дык, как можно сделать большой массив?
--------------------
Учебные материалы для студентов http://studlab.org
PM MAIL WWW   Вверх
DjoNIK
Дата 22.11.2007, 23:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 320
Регистрация: 28.9.2006
Где: Питер/Георгиевск

Репутация: 4
Всего: 5



Цитата(MystDeim @  22.11.2007,  23:01 Найти цитируемый пост)
Дык, как можно сделать большой массив?

Сказали же делай динамический массив.


--------------------
- Плесни-ка мне холодного кипятку.
- Как кипяток может быть холодным?! Ты, верно, хочешь кипяченой воды?
- Какая ещё кипяченая вода? Не пудри мне мозги - налейхолодного кипятку.
(разговор петербуржца и москвича)
PM MAIL ICQ   Вверх
archimed7592
Дата 23.11.2007, 02:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Архимед
****


Профиль
Группа: Завсегдатай
Сообщений: 2531
Регистрация: 12.6.2004
Где: Moscow

Репутация: 58
Всего: 93



Цитата(MAKCim @  22.11.2007,  22:54 Найти цитируемый пост)
не сильно ли много?

Есть ещё такая маленькая проблемка: современные 32-битные ОС со скрипом отдают в адресное пространство 3 гига из 4-х. Отсюда нужно вычесть размер проги(и размеры библиотек и т.п.), так что в общём и целом получается не очень много smile.


--------------------
If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas.
© George Bernard Shaw
PM Jabber   Вверх
MAKCim
Дата 23.11.2007, 09:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


Профиль
Группа: Экс. модератор
Сообщений: 5644
Регистрация: 10.12.2005
Где: Менск, РБ

Репутация: 52
Всего: 207



Цитата(archimed7592 @  23.11.2007,  02:22 Найти цитируемый пост)
Есть ещё такая маленькая проблемка: современные 32-битные ОС со скрипом отдают в адресное пространство 3 гига из 4-х. Отсюда нужно вычесть размер проги(и размеры библиотек и т.п.), так что в общём и целом получается не очень много 

во-первых, объем ОЗУ может быть <= 64GB, что в совокупности с PAE позволяет его адресовать (AWE-окна)
во-вторых, если памяти не так много, всегда есть swap, и опять таки, в совокупности с PAE, можно эмулировать объем памяти равный размеру файла подкачки
если кэширование в ОС работает хорошо, можно минимизировать обращение к диску


--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
SaDFromSpb
Дата 23.11.2007, 09:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 263
Регистрация: 5.4.2006
Где: Санкт-Петербург

Репутация: 3
Всего: 3



Цитата(archimed7592 @  23.11.2007,  02:22 Найти цитируемый пост)
так что в общём и целом получается не очень много

Послушали бы тебя лет 20 назад...  smile 


--------------------
"За исключением части, касающейся потоков, библиотека Loki написана на стандартном языке С++. Увы, это означает, что многие современные компиляторы не смогут работать с ней в полном объеме." (А. Александреску. Modern C++ design. 2001)
PM   Вверх
archimed7592
Дата 23.11.2007, 12:38 (ссылка) |    (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Архимед
****


Профиль
Группа: Завсегдатай
Сообщений: 2531
Регистрация: 12.6.2004
Где: Moscow

Репутация: 58
Всего: 93



Цитата(MAKCim @  23.11.2007,  09:31 Найти цитируемый пост)
во-первых, объем ОЗУ может быть <= 64GB, что в совокупности с PAE позволяет его адресовать

Позволяет адресовать их ОС. Процессу в любом случае достаётся 4-х гиговое пространство(которое в реальности урезано до 3-х и то об этом попросить нужно smile).


--------------------
If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas.
© George Bernard Shaw
PM Jabber   Вверх
Vredniy
Дата 23.11.2007, 15:43 (ссылка)    | (голосов:4) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 23
Регистрация: 15.10.2007

Репутация: нет
Всего: нет



Объяви массив вне main()  smile 
PM MAIL   Вверх
incondition
  Дата 20.1.2008, 01:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 20.1.2008

Репутация: нет
Всего: нет



Цитата(archimed7592 @ 23.11.2007,  12:38)
Цитата(MAKCim @  23.11.2007,  09:31 Найти цитируемый пост)
во-первых, объем ОЗУ может быть <= 64GB, что в совокупности с PAE позволяет его адресовать

Позволяет адресовать их ОС. Процессу в любом случае достаётся 4-х гиговое пространство(которое в реальности урезано до 3-х и то об этом попросить нужно smile).

Есть чипсеты, позволяющие системно адресовать 8 гигабайт и даже 32 гигабайта оперативной памяти...



Это так, к слову...
PM MAIL   Вверх
MAKCim
Дата 20.1.2008, 10:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


Профиль
Группа: Экс. модератор
Сообщений: 5644
Регистрация: 10.12.2005
Где: Менск, РБ

Репутация: 52
Всего: 207



Цитата(incondition @  20.1.2008,  01:37 Найти цитируемый пост)
Есть чипсеты, позволяющие системно адресовать 8 гигабайт и даже 32 гигабайта оперативной памяти...
Это так, к слову... 

от 32-х разрядного адресного пространства все равно никуда не денешься
нужно будет использовать PAE и AWE



--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
archimed7592
Дата 20.1.2008, 10:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Архимед
****


Профиль
Группа: Завсегдатай
Сообщений: 2531
Регистрация: 12.6.2004
Где: Moscow

Репутация: 58
Всего: 93



Цитата(incondition @  20.1.2008,  01:37 Найти цитируемый пост)
Есть чипсеты, позволяющие системно адресовать 8 гигабайт и даже 32 гигабайта оперативной памяти...

Есть архитектура, позволяющая адресовать не то что гигабайты - терабайты и даже больше. Название у неё IA-64(Itanium2). Это так, к слову smile.

А если серьёзно, то если речь о IA-32, то Макс уже сказал - никуда не денешься и на процесс больше 4-х гиг не родишь.


--------------------
If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas.
© George Bernard Shaw
PM Jabber   Вверх
bsa
Дата 20.1.2008, 20:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 63
Всего: 196



Цитата(archimed7592 @ 20.1.2008,  10:44)
Есть архитектура, позволяющая адресовать не то что гигабайты - терабайты и даже больше. Название у неё IA-64(Itanium2). Это так, к слову smile.
Не только IA-64. Есть еще x86_64 (читай amd64), который тоже позволяет адресовать очень много. Правда, на практике пока только 1 терабайт физической памяти и 256 ТБ виртуальной, но как только понадобится больше, так сразу увеличат разрядность шины...
PM   Вверх
Vetyska
Дата 23.1.2008, 09:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 23.1.2008

Репутация: нет
Всего: нет




Модератор: Сообщение скрыто.

PM MAIL ICQ   Вверх
MAKCim
Дата 23.1.2008, 10:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


Профиль
Группа: Экс. модератор
Сообщений: 5644
Регистрация: 10.12.2005
Где: Менск, РБ

Репутация: 52
Всего: 207



bsa
физическое адресное пространство 64Гб
по крайней мере адресная шина GTL+, применяемая в современных FSB, является 36-ти разрядной
а именно она диктует фактическую разрядность физического адресного пространства
теоретически разрядность физического адреса, поддерживаемого процессором, может быть больше разрядности шины и в целом зависит от реализации


--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
bsa
Дата 23.1.2008, 11:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 63
Всего: 196



MAKCim, то, что я написал, было основано на cpuinfo:
Цитата
address sizes   : 40 bits physical, 48 bits virtual

PM   Вверх
Lycifer
Дата 23.1.2008, 12:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 144
Регистрация: 4.11.2007

Репутация: нет
Всего: нет



Зачем нужен массив?
Если для изменения или выборки элемента то используй SQL.
Конечно если нужно делать математические расщёты то придётся делать выгрузку в С++.
Ну или же если не знаеш SQL то хрони в файлах.
PM MAIL ICQ   Вверх
Lazin
Дата 23.1.2008, 12:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3820
Регистрация: 11.12.2006
Где: paranoid oil empi re

Репутация: 41
Всего: 154



Lycifer, иногда приходится обрабатывать большие объемы данных, например кэшировать что-нибудь в памяти, здесь SQL не поможет)))
PM MAIL Skype GTalk   Вверх
MAKCim
Дата 23.1.2008, 13:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


Профиль
Группа: Экс. модератор
Сообщений: 5644
Регистрация: 10.12.2005
Где: Менск, РБ

Репутация: 52
Всего: 207



Цитата(bsa @  23.1.2008,  11:56 Найти цитируемый пост)
то, что я написал, было основано на cpuinfo:

AMD?
я же имел в виду Intel
все равно это никак не проиворечит тому, что я написал
все зависит от реализации



--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
bsa
Дата 23.1.2008, 13:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 63
Всего: 196



Цитата(MAKCim @ 23.1.2008,  13:12)
я же имел в виду Intel
Ну я ж не телепат. smile 
У Intel действительно поменьше:
Цитата(Intel® Core™2 Quad CPU)
address sizes   : 36 bits physical, 48 bits virtual

PM   Вверх
Lycifer
  Дата 23.1.2008, 14:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 144
Регистрация: 4.11.2007

Репутация: нет
Всего: нет



Lazin я же писал зачем нужен массив?

А несколько мильярдов строк кеш не сможет поддерживать, да и зачем сдесь кэшировать? SQL по выборки очень быстро работает, так что это особо не имеет смысла.
PM MAIL ICQ   Вверх
Страницы: (2) [Все] 1 2 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1324 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.