Уведомления

Группа в Telegram: @pythonsu

#1 Июль 8, 2009 13:52:51

pytol
От:
Зарегистрирован: 2009-07-08
Сообщения: 18
Репутация: +  0  -
Профиль   Отправить e-mail  

ограничение встроено в Питон или из-за железа?

k='ab'
str=[p0+p1+p2+p3+...
for p0 in k for p1 in k for p2 in k... ]

print str[5]
это срабатывает на моем компе только до р23
далее пишет ошибку памяти ,
файл подкачки на XP доходит до 1,75Гб
посадил программу на сервер 2003 с 4ГБ ОЗУ - сбой там же на р23
запустил программу на 2- процессорном XEON под FreeBSD 6.2 - там же на p23 ошибка памяти…

вопрос Питон глубже не дает создавать набор строк или это “железо”?
что делать чтобы этот вопрос выяснить?

Спасибо



Офлайн

#2 Июль 8, 2009 14:10:20

Dimka665
От:
Зарегистрирован: 2008-09-19
Сообщения: 177
Репутация: +  0  -
Профиль   Отправить e-mail  

ограничение встроено в Питон или из-за железа?

жестоко.
какая версия Питона, и что требуется сделать?



Офлайн

#3 Июль 8, 2009 14:44:18

pytol
От:
Зарегистрирован: 2009-07-08
Сообщения: 18
Репутация: +  0  -
Профиль   Отправить e-mail  

ограничение встроено в Питон или из-за железа?

здесь генерится набор строк из букв a и b,
в моей задаче желательно иметь набор строк (минимум 4,5 млрд штук), около 10-30 тыс получается легко и питон с ними нормально работает, вопрос сколько по максимуму можно сгенерить строк в списке? Лобовая попытка остановилась на 2 в 23 степени…
есть ли дргуие средства в питон, помимо декартова произведения использованного мной в коде? С питоном только знакомлюсь, но где то читал что с целмыми числами ограничений в питоне нет, а вот со строками?
и отсается вопрос - какими инструментами проследить (какая нубдь трассировка..) в чем причина обвала попытки построить полный список…

есть такой вариант - генерить не всеь список а скажем требующиеся срезы типа str - есть ли в питон такая возможность?



Офлайн

#4 Июль 8, 2009 14:45:42

pytol
От:
Зарегистрирован: 2009-07-08
Сообщения: 18
Репутация: +  0  -
Профиль   Отправить e-mail  

ограничение встроено в Питон или из-за железа?

версии Питона 2.5 и на FreeBSD - 2.4



Офлайн

#5 Июль 8, 2009 15:49:18

slivlen
От:
Зарегистрирован: 2006-07-06
Сообщения: 764
Репутация: +  0  -
Профиль   Отправить e-mail  

ограничение встроено в Питон или из-за железа?

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



Офлайн

#6 Июль 8, 2009 15:53:12

Ferroman
От:
Зарегистрирован: 2006-11-16
Сообщения: 2759
Репутация: +  1  -
Профиль   Отправить e-mail  

ограничение встроено в Питон или из-за железа?

Я бы предложил пересмотреть алгоритм.

Офлайн

#7 Июль 8, 2009 16:57:31

Lexander
От:
Зарегистрирован: 2008-09-19
Сообщения: 1139
Репутация: +  33  -
Профиль   Отправить e-mail  

ограничение встроено в Питон или из-за железа?

Ferroman
Я бы предложил пересмотреть алгоритм.
+1
А если нужно работаьт с таким объемом данных, то я бы посмотрел в сторону базы данных.



Офлайн

#8 Июль 8, 2009 21:02:03

pytol
От:
Зарегистрирован: 2009-07-08
Сообщения: 18
Репутация: +  0  -
Профиль   Отправить e-mail  

ограничение встроено в Питон или из-за железа?

сейчас в книге М.Саммерфилд “Программирвоание на Питон3” нашел про генераторы, полезные при больших списках - пытаюсь таким генератором (это просто вложенные циклы) получать типа среза от nnn до mmm-номера от большого списка без генерации самого большого списка… вопросы остаются

Спасибо за внимание!



Офлайн

#9 Июль 8, 2009 21:05:13

pytol
От:
Зарегистрирован: 2009-07-08
Сообщения: 18
Репутация: +  0  -
Профиль   Отправить e-mail  

ограничение встроено в Питон или из-за железа?

Ferroman
я наверное это и пытаюсь сделать!



Офлайн

#10 Июль 8, 2009 21:17:58

Ferroman
От:
Зарегистрирован: 2006-11-16
Сообщения: 2759
Репутация: +  1  -
Профиль   Отправить e-mail  

ограничение встроено в Питон или из-за железа?

я наверное это и пытаюсь сделать!
Где? Вопрос был
Питон глубже не дает создавать набор строк или это “железо”?
и
сколько по максимуму можно сгенерить строк в списке?
Если вам надо хранить столько строк, то держать их в оперативной памяти, мммм, не лучшее решение.
Используйте внешние носители.

Отредактировано (Июль 8, 2009 21:20:01)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version