Форум сайта python.su
Привет.
Есть список кортежей со строками, т.е. список вида
[ (u'foo', u'blah'), (u'foo', u'blah') ... (u'foo', u'blah')]
Отредактировано (Сен. 25, 2008 14:36:28)
Офлайн
а вот никто не знает, ибо больно уж все мудрено %)
В даном случае например, строки одинаковые, поэтому они буду хранится в одной ячейке памяти.
Все что я встречал в интернете по этой теме:
1. Попытки примерно прикинуть что сколько занимает, исходя из типов данных.
2. Насоздавать кучу данных такого типа, и мерить как изменился объем всей программы в процессе работы.
P.S. как вывод, точно измерить не получится.
Отредактировано (Сен. 25, 2008 14:35:04)
Офлайн
Естесственно, строки в кортежах не одинаковые. Хотелось бы формулу, может кто представляет как ее получить конкретно для этого случая, скажем зная длину каждой строки.
Нужно - для того чтобы представлять в каких пределах использовать хранение в RAM, а в каких - уже лучше БД. Процесс демоном, так что оба варианта возможны.
Отредактировано (Сен. 25, 2008 14:36:52)
Офлайн
Тогда можно прпоробовать функцию mx.Tools.sizeof(a) (http://www.egenix.com/products/python/mxBase/mxTools/).
Для сложных объектов она не канаен, а вот для не юникодных строк и целых - вполне.
Ветка в тему, по ограничению использования функции: http://www.egenix.com/mailman-archives/egenix-users/2002-November/113383.html
Отредактировано (Сен. 25, 2008 14:57:52)
Офлайн
подивіться по типах даних в Pythonsrc/Objects/tuleobject.c, stringobject.c, … Тут є моя презентація http://docs.google.com/a/quintagroup.com/Present?id=dc38f7h3_0c2xtjnd5 (є в ній кусок по управління памяттю в пітоні) Тут є відео з презентації http://plug.org.ua/video/python-objects/view на українській; Повинно помогти. Сама призентаія без відео не знаю чи буде корисною
Офлайн