Loading...
Error

Организация 5-и мерного массива VB

Страницы:  1, 2  След.

Тема закрыта
 
Автор Сообщение

Dieman

Стаж: 16 лет

Сообщений: 63

Провайдер: Не определен

Пол: Otoko (M)

Он-лайн: Нет

Карма: 0.00

Вот заморочился на тему создания 5-и мерного массива на Visual Basic 6.0 PRO ...
Идея состояла в том что бы создать массив со значением 32 миллиона на сторону и 256-и символьным значением на ячейку...
Итог всего этого оказался печальным... после 1.5 часа машина повисла...

Краткое описания принципа:

Массив строится при загрузке программки и ячейки заполняются по RND от 0 до 256 символов.

Дак вот мне и стало интересно какай язык может реализовать данную идею ?
Profile PM

batyrmastyr

Стаж: 17 лет

Сообщений: 6606

Откуда: Sekai

Провайдер: Не определен

Пол: Otoko (M)

Он-лайн: Нет

Карма: +36.22

post 13-Янв-2009 10:43 (спустя 5 часов)
Dieman
собственно, такое (пятимерный массив) можно и в Си (++), и в Делфи легко сделать.
Вот только - Visual Basic 6.0 PRO выбран был с каким-то обоснованием (например, скрипт для МСофиса) или без оного?

Собственно, на одном из потомков паскаля это пишется так: "VAR A: ARRAY 32,32,32,32,32 OF BYTE; " или развернуто "VAR A: ARRAY 32 OF ARRAY 32 OF ARRAY 32 OF ARRAY 32 OF ARRAY 32 OF BYTE;"
В Делфи и Си в целом аналогично.

_________________
pic
я несу глупость во имя бака-тим
Gundam Team
Yuri TEAM
Термины
Profile PM

Dieman

Стаж: 16 лет

Сообщений: 63

Провайдер: Не определен

Пол: Otoko (M)

Он-лайн: Нет

Карма: 0.00

post 13-Янв-2009 13:57 (спустя 3 часа)

Цитата:

Вот только - Visual Basic 6.0 PRO выбран был с каким-то обоснованием (например, скрипт для МСофиса) или без оного?
VB Был выбран потому что я на нём пишу )))

Цитата:

Собственно, на одном из потомков паскаля это пишется так: "VAR A: ARRAY 32,32,32,32,32 OF BYTE; "
А собственно при чём тут байтовый массив???
Я хочу записывать в ячейку значения типа "String" (не число от 0 до 255, а например "sdfdfdfdffdsfsdfdsfdsfdsfdgfgijdhuwydew87e6tw8gr6w7rt6w7rwrgw87gryusgfyusgfyusgfyusgfyusgfyusgfyusgfyusgfyusgfyusgfyusgfyug")
Profile PM

Ionian.Wind

Стаж: 17 лет

Сообщений: 892

Провайдер: Не определен

Пол: Otoko (M)

Он-лайн: Нет

Карма: +0.01

post 13-Янв-2009 15:07 (спустя 1 час 12 минут)
Dieman
друг, я так понимаю, имеется в виду 5-мерное пространство
32 000 000 * 32 000 000 * 32 000 000 * 32 000 000 * 32 000 000 ?
и в каждой его ячейке хранить строку в 256 символов?

в юникоде 1 символ = ~2 байта.

получается, памяти под это всё надо
32 000 000 * 32 000 000 * 32 000 000 * 32 000 000 * 32 000 000 * 256 * 2 байтов

путём несложных арифметических вычислений, выясняем, что памяти под это чудо надо не меньше
16 × 10^30 ГБ

вывод: на практике - не реализуемо. в теории - на любом
комп повис банально из-за нехватки памяти

_________________
Profile PM

Mear

Стаж: 17 лет

Сообщений: 2520

Откуда: НиНо

Провайдер: Дом.ru

Пол: Otoko (M)

Он-лайн: Нет

Карма: +0.17

post 13-Янв-2009 15:11 (спустя 1 минута)

Dieman писал(а):

VB Был выбран потому что я на нём пишу )))
Сочувствую ^_^

Dieman писал(а):

Я хочу записывать в ячейку значения типа "String" (не число от 0 до 255, а например "sdfdfdfdffdsfsdfdsfdsfdsfdgfgijdhuwydew87e6tw8gr6w7rt6w7rwrgw87gryusgfyusgfyusgfyusgfyusgfyusgfyusgfyusgfyusgfyusgfyusgfyug")

batyrmastyr писал(а):

Собственно, на одном из потомков паскаля это пишется так: "VAR A: ARRAY 32,32,32,32,32 OF BYTE; " или развернуто "VAR A: ARRAY 32 OF ARRAY 32 OF ARRAY 32 OF ARRAY 32 OF ARRAY 32 OF BYTE;"
Ну тогда видимо что-то типа "VAR A: ARRAY 32 OF ARRAY 32 OF ARRAY 32 OF ARRAY 32 OF ARRAY 32 OF STRING;"

... и... я не ослышался?

Dieman писал(а):

32 миллиона на сторону
Т.е. ты хочешь: 32 миллиона * 32 миллиона * 32 миллиона * 32 миллиона * 32 миллиона ?

Ionian.Wind

Ionian.Wind писал(а):

вывод: на практике - не реализуемо. в теории - на любом
Гы... во-во

Ionian.Wind писал(а):

комп повис банально из-за нехватки памяти
И, кстати, странно что ему такой объем вообще позволили выделить
Profile PM

Dark

Стаж: 17 лет

Сообщений: 314

Провайдер: Дом.ru

Пол: Otoko (M)

Он-лайн: Нет

Карма: 0.00

post 13-Янв-2009 15:15 (спустя 4 минуты)

Dieman писал(а):

VB Был выбран потому что я на нём пишу )))
Хм....сатанист....

Ionian.Wind писал(а):

надо не меньше
16 × 10^30 ГБ
А если учесть все издержки...оёёй...лет эдак через тыщу может что то и получится =)

Mear писал(а):

И, кстати, странно что ему такой объем вообще позволили выделить
дык этож злобные поделки M$
простой XD пример на С++ при учёте стороны в 32 единицы...расширяемо в пределах физических объёмов памяти....

Код:

typedef std::vector<std::string> string1D;
typedef std::vector<string1D> string2D;
typedef std::vector<string2D> string3D;
typedef std::vector<string3D> string4D;
typedef std::vector<string4D> string5D;

int main()
{
        string5D array5D(32, string4D(32,  string3D(32, string2D(32, string1D (32, "Ы")))));
        for ( string5D::iterator iter_ii=array5D.begin(); iter_ii != array5D.end(); iter_ii++ )
        {
                for (string4D::iterator iter_jj = (*iter_ii).begin(); iter_jj != (*iter_ii).end(); iter_jj++)
                {
                        for (string3D::iterator iter_kk = (*iter_jj).begin(); iter_kk != (*iter_jj).end(); iter_kk++)
                        {
                                for (string2D::iterator iter_zz = (*iter_kk).begin(); iter_zz != (*iter_kk).end(); iter_zz++)
                                {
                                        for (string1D::iterator iter_xx = (*iter_zz).begin(); iter_xx != (*iter_zz).end(); iter_xx++)
                                        {
                                                std::cout << (*iter_xx);
                                        }
                                }
                         }
                }
        }
 return 0;
}
Profile PM

Ionian.Wind

Стаж: 17 лет

Сообщений: 892

Провайдер: Не определен

Пол: Otoko (M)

Он-лайн: Нет

Карма: +0.01

post 13-Янв-2009 15:16 (спустя 53 секунды)
гы
в википедии самой большой единицей измерения информации - йоттабайт. в нем - септиллион(10^24) с хвостиком байт.

_________________
Profile PM

Mear

Стаж: 17 лет

Сообщений: 2520

Откуда: НиНо

Провайдер: Дом.ru

Пол: Otoko (M)

Он-лайн: Нет

Карма: +0.17

post 13-Янв-2009 15:18 (спустя 1 минута)

Dark писал(а):

дык этож злобные поделки M$
Хм... скорее проделки лажо-компилятора ))) в юзеровских 32bit версиях винды (XP и ранее) вообще более 2 Гб прога получить не может, даже если памяти в компе 4 Гб
Profile PM

Ionian.Wind

Стаж: 17 лет

Сообщений: 892

Провайдер: Не определен

Пол: Otoko (M)

Он-лайн: Нет

Карма: +0.01

post 13-Янв-2009 15:19 (спустя 1 минута)
Dark
я ошибаюсь, или у тебя получается пространство 32 * 32 * 32 * 32 * 32 = 33 554 432 ячеек?
неееее, это не труЪ =)))

Добавлено спустя 36 секунд:

Mear писал(а):

в юзеровских 32bit версиях винды
а кто сказал что у него x32?

_________________


Последний раз редактировалось: Ionian.Wind (2009-01-13 15:21), всего редактировалось 1 раз
Profile PM

batyrmastyr

Стаж: 17 лет

Сообщений: 6606

Откуда: Sekai

Провайдер: Не определен

Пол: Otoko (M)

Он-лайн: Нет

Карма: +36.22

post 13-Янв-2009 15:20 (спустя 1 минута)

Dieman писал(а):

Я хочу записывать в ячейку значения типа "String" (не число от 0 до 255
А, значит надежда что 0-255 было диапазоном значений ячейки не оправдалась.

Mear писал(а):

Т.е. ты хочешь: 32 миллиона * 32 миллиона * 32 миллиона * 32 миллиона * 32 миллиона ?
умерла еще одна надежда Smile

Dieman
Мда, тогда твой массив только на винтах хранить.

_________________
pic
я несу глупость во имя бака-тим
Gundam Team
Yuri TEAM
Термины
Profile PM

Dark

Стаж: 17 лет

Сообщений: 314

Провайдер: Дом.ru

Пол: Otoko (M)

Он-лайн: Нет

Карма: 0.00

post 13-Янв-2009 15:21 (спустя 36 секунд)

Ionian.Wind писал(а):

я ошибаюсь, или у тебя получается пространство 32 * 32 * 32 * 32 * 32 = 33 554 432 ячеек?
неееее, это не труЪ =)))
камент к спойлиру видимо не читал....
Profile PM

Mear

Стаж: 17 лет

Сообщений: 2520

Откуда: НиНо

Провайдер: Дом.ru

Пол: Otoko (M)

Он-лайн: Нет

Карма: +0.17

post 13-Янв-2009 15:23 (спустя 2 минуты)

Ionian.Wind писал(а):

а кто сказал что у него x32?
Ну вряд ли серверная x64 ))) хотя конечно в той же висте x64 можно добиться значительно большего
Profile PM

Dark

Стаж: 17 лет

Сообщений: 314

Провайдер: Дом.ru

Пол: Otoko (M)

Он-лайн: Нет

Карма: 0.00

post 13-Янв-2009 15:23 (спустя 18 секунд)

Ionian.Wind писал(а):

а кто сказал что у него x32?
даже если 64 бит больше 16 эксабайт из неё не выжмеш
Profile PM

Ionian.Wind

Стаж: 17 лет

Сообщений: 892

Провайдер: Не определен

Пол: Otoko (M)

Он-лайн: Нет

Карма: +0.01

post 13-Янв-2009 15:24 (спустя 23 секунды)
Dark
читал =)

я это в философском смысле )

_________________
Profile PM

Mear

Стаж: 17 лет

Сообщений: 2520

Откуда: НиНо

Провайдер: Дом.ru

Пол: Otoko (M)

Он-лайн: Нет

Карма: +0.17

post 13-Янв-2009 15:25 (спустя 46 секунд)

Dark писал(а):

больше 16 эксабайт из неё не выжмеш
Кхе... самое большее что можно выжать из серверной винды - это по моему 256 Тб ))))
Profile PM

batyrmastyr

Стаж: 17 лет

Сообщений: 6606

Откуда: Sekai

Провайдер: Не определен

Пол: Otoko (M)

Он-лайн: Нет

Карма: +36.22

post 13-Янв-2009 15:25 (спустя 36 секунд)

Dark писал(а):

std::cout << (*iter_xx);
долго такое будет выводиться =)

Mear писал(а):

Хм... скорее проделки лажо-компилятора )))
там точно компилятор?

_________________
pic
я несу глупость во имя бака-тим
Gundam Team
Yuri TEAM
Термины
Profile PM

Ionian.Wind

Стаж: 17 лет

Сообщений: 892

Провайдер: Не определен

Пол: Otoko (M)

Он-лайн: Нет

Карма: +0.01

post 13-Янв-2009 15:25 (спустя 16 секунд)

Dark писал(а):

даже если 64 бит больше 16 эксабайт из неё не выжмешь
хмм... тут явно чувствуются технологии внеземных пришельцев!
всем срочно одеть алюминиевые шапочки из фольги!

_________________
Profile PM

Mear

Стаж: 17 лет

Сообщений: 2520

Откуда: НиНо

Провайдер: Дом.ru

Пол: Otoko (M)

Он-лайн: Нет

Карма: +0.17

post 13-Янв-2009 15:28 (спустя 2 минуты)
Dieman
А у меня вот тут другой вопрос возник... а накой тебе тааааакой массив?!

Добавлено спустя 50 секунд:

batyrmastyr писал(а):

там точно компилятор?
Ой, да, извини, забылся ))) там даже не компилятор ^_^ скорее не-до-компилятор )))
Profile PM

Dieman

Стаж: 16 лет

Сообщений: 63

Провайдер: Не определен

Пол: Otoko (M)

Он-лайн: Нет

Карма: 0.00

post 13-Янв-2009 15:29 (спустя 24 секунды)

Ionian.Wind писал(а):

Dieman
друг, я так понимаю, имеется в виду 5-мерное пространство
32 000 000 * 32 000 000 * 32 000 000 * 32 000 000 * 32 000 000 ?
и в каждой его ячейке хранить строку в 256 символов?

в юникоде 1 символ = ~2 байта.

получается, памяти под это всё надо
32 000 000 * 32 000 000 * 32 000 000 * 32 000 000 * 32 000 000 * 256 * 2 байтов

путём несложных арифметических вычислений, выясняем, что памяти под это чудо надо не меньше
16 × 10^30 ГБ

вывод: на практике - не реализуемо. в теории - на любом
комп повис банально из-за нехватки памяти
Хм... я тоже так думал...
Он вот результаты запуска такой программки по 2008 виндовским серваком:
Примерно за 10 мин файл подкачки вырос на 300 Мб.
Оперативы прога кушала 20Мб постоянно с момента запуска.
Загрузка ЦП 100% постоянно.
1.5 часа машина повисла.
Повторный запуск после ребута системы дал примерно те же данные.

И собственно по этому мне стало оч. интересно данное действо на VB )))
Profile PM

Mear

Стаж: 17 лет

Сообщений: 2520

Откуда: НиНо

Провайдер: Дом.ru

Пол: Otoko (M)

Он-лайн: Нет

Карма: +0.17

post 13-Янв-2009 15:31 (спустя 1 минута)
Dieman
а) Какая именно винда? x32 или x64 и какая точно версия... у 2008 сервака от этого мнооого зависит.
б) Выкинь нафиг VB, на нем никогда нормальной производительности не получишь


Последний раз редактировалось: Mear (2009-01-13 15:31), всего редактировалось 1 раз
Profile PM

Ionian.Wind

Стаж: 17 лет

Сообщений: 892

Провайдер: Не определен

Пол: Otoko (M)

Он-лайн: Нет

Карма: +0.01

post 13-Янв-2009 15:31 (спустя 9 секунд)
Mear
скорее всего, матрица для семантического анализа естественного языка для искуственного интеллекта

Dieman писал(а):

Повторный запуск после ребута системы дал примерно те же данные.
да неужели?!?!?!?111одинодин

_________________
Profile PM

Dieman

Стаж: 16 лет

Сообщений: 63

Провайдер: Не определен

Пол: Otoko (M)

Он-лайн: Нет

Карма: 0.00

post 13-Янв-2009 15:40 (спустя 9 минут)
Mear

Цитата:

А у меня вот тут другой вопрос возник... а накой тебе тааааакой массив?!
С начало возникла одна идея потом после обсчёта понял что не реально.
Решил реализовать максимально большой массив... и тут начались приколы с VB
Profile PM

batyrmastyr

Стаж: 17 лет

Сообщений: 6606

Откуда: Sekai

Провайдер: Не определен

Пол: Otoko (M)

Он-лайн: Нет

Карма: +36.22

post 13-Янв-2009 15:40 (спустя 12 секунд)
Dieman
твой массив надо на Гугловских тачанках генерить, авось чего и выйдет

_________________
pic
я несу глупость во имя бака-тим
Gundam Team
Yuri TEAM
Термины
Profile PM

Dieman

Стаж: 16 лет

Сообщений: 63

Провайдер: Не определен

Пол: Otoko (M)

Он-лайн: Нет

Карма: 0.00

post 13-Янв-2009 15:42 (спустя 1 минута)
Винда 2008 сервер интерпраз без паков х32
Profile PM

Mear

Стаж: 17 лет

Сообщений: 2520

Откуда: НиНо

Провайдер: Дом.ru

Пол: Otoko (M)

Он-лайн: Нет

Карма: +0.17

post 13-Янв-2009 15:53 (спустя 10 минут)
Dieman

Dieman писал(а):

Винда 2008 сервер интерпраз без паков х32
http://msdn.microsoft.com/en-us/library/aa366778.aspx
Отсюда получаем, что твоя винда максимум может тебе дать 64 Гб и то при условии компиляции программы в режиме IMAGE_FILE_LARGE_ADDRESS_AWARE, что не факт... а иначе всего 2 Гб в лучшем случае
Profile PM
Показать сообщения:    
Тема закрыта

Текущее время: 24-Апр 01:29

Часовой пояс: GMT + 3



Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
[  Execution time: 0.032 sec  |  MySQL: 0.036 sec (110%) in 12 queries  |  Mem: 373.39 KB / 1.18 MB / 1.05 MB  |  Load: 0.1 0.2 0.2  ]