: 1, 2 След.
Автор |
Сообщение |
Dieman
Стаж: 16 лет Сообщений: 63 Провайдер: Не определен
Пол: Otoko (M)
Он-лайн: Нет Карма: 0.00

|
Вот заморочился на тему создания 5-и мерного массива на Visual Basic 6.0 PRO ...
Идея состояла в том что бы создать массив со значением 32 миллиона на сторону и 256-и символьным значением на ячейку...
Итог всего этого оказался печальным... после 1.5 часа машина повисла...
Краткое описания принципа:
Массив строится при загрузке программки и ячейки заполняются по RND от 0 до 256 символов.
Дак вот мне и стало интересно какай язык может реализовать данную идею ?
|
|
batyrmastyr
  Стаж: 17 лет Сообщений: 6606 Откуда: Sekai Провайдер: Не определен
Пол: Otoko (M)
Он-лайн: Нет Карма: +36.22

|
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;" В Делфи и Си в целом аналогично.
|
|
Dieman
Стаж: 16 лет Сообщений: 63 Провайдер: Не определен
Пол: Otoko (M)
Он-лайн: Нет Карма: 0.00

|
Цитата: Вот только - Visual Basic 6.0 PRO выбран был с каким-то обоснованием (например, скрипт для МСофиса) или без оного? VB Был выбран потому что я на нём пишу ))) Цитата: Собственно, на одном из потомков паскаля это пишется так: "VAR A: ARRAY 32,32,32,32,32 OF BYTE; " А собственно при чём тут байтовый массив??? Я хочу записывать в ячейку значения типа "String" (не число от 0 до 255, а например "sdfdfdfdffdsfsdfdsfdsfdsfdgfgijdhuwydew87e6tw8gr6w7rt6w7rwrgw87gryusgfyusgfyusgfyusgfyusgfyusgfyusgfyusgfyusgfyusgfyusgfyug")
|
|
Ionian.Wind
  Стаж: 17 лет Сообщений: 892 Провайдер: Не определен
Пол: Otoko (M)
Он-лайн: Нет Карма: +0.01

|
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 ГБ вывод: на практике - не реализуемо. в теории - на любом комп повис банально из-за нехватки памяти
|
|
Mear
  Стаж: 17 лет Сообщений: 2520 Откуда: НиНо Провайдер: Дом.ru
Пол: Otoko (M)
Он-лайн: Нет Карма: +0.17

|
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;" ... и... я не ослышался? Т.е. ты хочешь: 32 миллиона * 32 миллиона * 32 миллиона * 32 миллиона * 32 миллиона ? Ionian.Wind Ionian.Wind писал(а): вывод: на практике - не реализуемо. в теории - на любом Гы... во-во Ionian.Wind писал(а): комп повис банально из-за нехватки памяти И, кстати, странно что ему такой объем вообще позволили выделить
|
|
Dark
 Стаж: 17 лет Сообщений: 314 Провайдер: Дом.ru
Пол: Otoko (M)
Он-лайн: Нет Карма: 0.00

|
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; }
|
|
Ionian.Wind
  Стаж: 17 лет Сообщений: 892 Провайдер: Не определен
Пол: Otoko (M)
Он-лайн: Нет Карма: +0.01

|
гы
в википедии самой большой единицей измерения информации - йоттабайт. в нем - септиллион(10^24) с хвостиком байт.
|
|
Mear
  Стаж: 17 лет Сообщений: 2520 Откуда: НиНо Провайдер: Дом.ru
Пол: Otoko (M)
Он-лайн: Нет Карма: +0.17

|
Dark писал(а): дык этож злобные поделки M$ Хм... скорее проделки лажо-компилятора ))) в юзеровских 32bit версиях винды (XP и ранее) вообще более 2 Гб прога получить не может, даже если памяти в компе 4 Гб
|
|
Ionian.Wind
  Стаж: 17 лет Сообщений: 892 Провайдер: Не определен
Пол: Otoko (M)
Он-лайн: Нет Карма: +0.01

|
Dark я ошибаюсь, или у тебя получается пространство 32 * 32 * 32 * 32 * 32 = 33 554 432 ячеек? неееее, это не труЪ =))) Добавлено спустя 36 секунд: Mear писал(а): в юзеровских 32bit версиях винды а кто сказал что у него x32?
Последний раз редактировалось: Ionian.Wind (2009-01-13 15:21), всего редактировалось 1 раз
|
|
batyrmastyr
  Стаж: 17 лет Сообщений: 6606 Откуда: Sekai Провайдер: Не определен
Пол: Otoko (M)
Он-лайн: Нет Карма: +36.22

|
Dieman писал(а): Я хочу записывать в ячейку значения типа "String" (не число от 0 до 255 А, значит надежда что 0-255 было диапазоном значений ячейки не оправдалась. Mear писал(а): Т.е. ты хочешь: 32 миллиона * 32 миллиона * 32 миллиона * 32 миллиона * 32 миллиона ? умерла еще одна надежда Dieman Мда, тогда твой массив только на винтах хранить.
|
|
Dark
 Стаж: 17 лет Сообщений: 314 Провайдер: Дом.ru
Пол: Otoko (M)
Он-лайн: Нет Карма: 0.00

|
Ionian.Wind писал(а): я ошибаюсь, или у тебя получается пространство 32 * 32 * 32 * 32 * 32 = 33 554 432 ячеек? неееее, это не труЪ =))) камент к спойлиру видимо не читал....
|
|
Mear
  Стаж: 17 лет Сообщений: 2520 Откуда: НиНо Провайдер: Дом.ru
Пол: Otoko (M)
Он-лайн: Нет Карма: +0.17

|
Ionian.Wind писал(а): а кто сказал что у него x32? Ну вряд ли серверная x64 ))) хотя конечно в той же висте x64 можно добиться значительно большего
|
|
Dark
 Стаж: 17 лет Сообщений: 314 Провайдер: Дом.ru
Пол: Otoko (M)
Он-лайн: Нет Карма: 0.00

|
Ionian.Wind писал(а): а кто сказал что у него x32? даже если 64 бит больше 16 эксабайт из неё не выжмеш
|
|
Ionian.Wind
  Стаж: 17 лет Сообщений: 892 Провайдер: Не определен
Пол: Otoko (M)
Он-лайн: Нет Карма: +0.01

|
Dark читал =) я это в философском смысле )
|
|
Mear
  Стаж: 17 лет Сообщений: 2520 Откуда: НиНо Провайдер: Дом.ru
Пол: Otoko (M)
Он-лайн: Нет Карма: +0.17

|
Dark писал(а): больше 16 эксабайт из неё не выжмеш Кхе... самое большее что можно выжать из серверной винды - это по моему 256 Тб ))))
|
|
batyrmastyr
  Стаж: 17 лет Сообщений: 6606 Откуда: Sekai Провайдер: Не определен
Пол: Otoko (M)
Он-лайн: Нет Карма: +36.22

|
долго такое будет выводиться =) Mear писал(а): Хм... скорее проделки лажо-компилятора ))) там точно компилятор?
|
|
Ionian.Wind
  Стаж: 17 лет Сообщений: 892 Провайдер: Не определен
Пол: Otoko (M)
Он-лайн: Нет Карма: +0.01

|
Dark писал(а): даже если 64 бит больше 16 эксабайт из неё не выжмешь хмм... тут явно чувствуются технологии внеземных пришельцев! всем срочно одеть алюминиевые шапочки из фольги!
|
|
Mear
  Стаж: 17 лет Сообщений: 2520 Откуда: НиНо Провайдер: Дом.ru
Пол: Otoko (M)
Он-лайн: Нет Карма: +0.17

|
Dieman А у меня вот тут другой вопрос возник... а накой тебе тааааакой массив?! Добавлено спустя 50 секунд: Ой, да, извини, забылся ))) там даже не компилятор ^_^ скорее не-до-компилятор )))
|
|
Dieman
Стаж: 16 лет Сообщений: 63 Провайдер: Не определен
Пол: Otoko (M)
Он-лайн: Нет Карма: 0.00

|
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 )))
|
|
Mear
  Стаж: 17 лет Сообщений: 2520 Откуда: НиНо Провайдер: Дом.ru
Пол: Otoko (M)
Он-лайн: Нет Карма: +0.17

|
Dieman а) Какая именно винда? x32 или x64 и какая точно версия... у 2008 сервака от этого мнооого зависит. б) Выкинь нафиг VB, на нем никогда нормальной производительности не получишь
Последний раз редактировалось: Mear (2009-01-13 15:31), всего редактировалось 1 раз
|
|
Ionian.Wind
  Стаж: 17 лет Сообщений: 892 Провайдер: Не определен
Пол: Otoko (M)
Он-лайн: Нет Карма: +0.01

|
Mear скорее всего, матрица для семантического анализа естественного языка для искуственного интеллекта Dieman писал(а): Повторный запуск после ребута системы дал примерно те же данные. да неужели?!?!?!?111одинодин
|
|
Dieman
Стаж: 16 лет Сообщений: 63 Провайдер: Не определен
Пол: Otoko (M)
Он-лайн: Нет Карма: 0.00

|
Mear Цитата: А у меня вот тут другой вопрос возник... а накой тебе тааааакой массив?! С начало возникла одна идея потом после обсчёта понял что не реально. Решил реализовать максимально большой массив... и тут начались приколы с VB
|
|
batyrmastyr
  Стаж: 17 лет Сообщений: 6606 Откуда: Sekai Провайдер: Не определен
Пол: Otoko (M)
Он-лайн: Нет Карма: +36.22

|
Dieman твой массив надо на Гугловских тачанках генерить, авось чего и выйдет
|
|
Dieman
Стаж: 16 лет Сообщений: 63 Провайдер: Не определен
Пол: Otoko (M)
Он-лайн: Нет Карма: 0.00

|
Винда 2008 сервер интерпраз без паков х32
|
|
Mear
  Стаж: 17 лет Сообщений: 2520 Откуда: НиНо Провайдер: Дом.ru
Пол: Otoko (M)
Он-лайн: Нет Карма: +0.17

|
Dieman Dieman писал(а): Винда 2008 сервер интерпраз без паков х32 http://msdn.microsoft.com/en-us/library/aa366778.aspx Отсюда получаем, что твоя винда максимум может тебе дать 64 Гб и то при условии компиляции программы в режиме IMAGE_FILE_LARGE_ADDRESS_AWARE, что не факт... а иначе всего 2 Гб в лучшем случае
|
|
Текущее время: 24-Апр 01:29
Часовой пояс: GMT + 3
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах Вы не можете прикреплять файлы к сообщениям Вы не можете скачивать файлы
|
|