Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Python: хранение большого числа объектов / 16 сообщений из 16, страница 1 из 1
22.09.2013, 21:38
    #38404167
Python: хранение большого числа объектов
друзья,
стоит такая задача: хранить список из большого (до 1 млн) количества объектов.
сначала реализовал двусвязный список из объектов, как описано здесь http://www.ibm.com/developerworks/ru/library/l-data_structures_02/
но поскольку двусвязный список из структур на Си СОВСЕМ НЕ то же самое что двусвязный список из объектов на Питон, то память дико жрется!
конечно такие вещи должны реализовываться на чистом си. но нужно именно на питоне.
пока есть идея использовать в качестве списка NUMpy array или что-то аналогичное из этой либы (пока не углублялся), а в качестве объекта использовать tuple с набором элементов (а именно несколько int , float, хеш-таблица)
как-то так
какие будут идеи?
...
Рейтинг: 0 / 0
23.09.2013, 10:53
    #38404417
Кот Чеширский
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Python: хранение большого числа объектов
Лет десять назад было что-то подобное, написано было на перле, хранилось тупо на диске в файлах. Т.е. от 4 т. файлов - число предприятий, у каждого своя папка в это папки хранилось по несколькую файлов - карточка предприятия, прайс предприятия и чтото еще. Работало очень быстро. А mysql или postgresql вам не подойдет в связке с питоном? Или у вас какая то учебная задача?
...
Рейтинг: 0 / 0
23.09.2013, 11:33
    #38404475
Python: хранение большого числа объектов
>>>стоит такая задача: хранить список из большого (до 1 млн) количества объектов
Где хранить?
>>>стоит такая задача:
Зачем?
...
Рейтинг: 0 / 0
23.09.2013, 12:07
    #38404503
Hett
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Python: хранение большого числа объектов
Хранить во временной таблице субд, как вариант.
...
Рейтинг: 0 / 0
23.09.2013, 14:15
    #38404678
Кот Чеширский
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Python: хранение большого числа объектов
Сдается мне ТС = студент.
Двухсвязные списки - классический пример даже в книге по Турбо Си Ричарда Винера.
...
Рейтинг: 0 / 0
23.09.2013, 15:31
    #38404816
Python: хранение большого числа объектов
Кот Чеширский,

да, также реализовывал на базе. сначала sqlite, но поняв, что скорость никакая решил переделывать под mysql
однако требования изменились: на диске (флешка) свободного места 100 МБ, плюс постоянно писать/читать на нее крайне нежелательно (ресурс мал)
поэтому сейчас единственный вариант - озу
...
Рейтинг: 0 / 0
23.09.2013, 15:33
    #38404818
Python: хранение большого числа объектов
Кот Чеширский,

не совсем понял, про пример из книги?
еще раз повторю - реализовывать на списке питон-объектов оч затратно по объему памяти
...
Рейтинг: 0 / 0
23.09.2013, 16:18
    #38404889
Python: хранение большого числа объектов
володька трынькинКот Чеширский,

да, также реализовывал на базе. сначала sqlite, но поняв, что скорость никакая решил переделывать под mysql
однако требования изменились: на диске (флешка) свободного места 100 МБ, плюс постоянно писать/читать на нее крайне нежелательно (ресурс мал)
поэтому сейчас единственный вариант - озу
Если надо хранить питонячьи объекты в базе, то смотри на ZODB
...
Рейтинг: 0 / 0
23.09.2013, 17:48
    #38405026
Hett
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Python: хранение большого числа объектов
володька трынькинКот Чеширский,

да, также реализовывал на базе. сначала sqlite, но поняв, что скорость никакая решил переделывать под mysql
однако требования изменились: на диске (флешка) свободного места 100 МБ, плюс постоянно писать/читать на нее крайне нежелательно (ресурс мал)
поэтому сейчас единственный вариант - озу

http://dev.mysql.com/doc/refman/5.0/en/memory-storage-engine.html
...
Рейтинг: 0 / 0
23.09.2013, 17:49
    #38405028
Hett
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Python: хранение большого числа объектов
Есть еще всякие штуки типа мемкеша и т.п.
...
Рейтинг: 0 / 0
24.09.2013, 19:57
    #38406558
Python: хранение большого числа объектов
Hett,

а как в плане объема занимаемого места? это все-таки главный вопрос
...
Рейтинг: 0 / 0
24.09.2013, 20:09
    #38406565
Hett
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Python: хранение большого числа объектов
Нуу, можно создать несколько таблиц.
...
Рейтинг: 0 / 0
24.09.2013, 20:11
    #38406569
Hett
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Python: хранение большого числа объектов
...
Рейтинг: 0 / 0
24.09.2013, 20:14
    #38406573
Python: хранение большого числа объектов
Hett,

я имею ввиду в сравнении с простым хранением списка объектов в памяти.
может кто делал такие тесты?..
...
Рейтинг: 0 / 0
02.10.2013, 01:24
    #38413750
Новый Год
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Python: хранение большого числа объектов
а что такого-то?

а столько памяти должны жрать 1 млн объектов?
1 килобайт?


у меня dictionary c 4 901 403 элементами создается, вроде ничего страшного
полгигобайта гдето занимает

можно в качестве ключей словаря использовать hash( от чегого там )
я так 200 мегабайт в памяти съэкономил
...
Рейтинг: 0 / 0
05.10.2013, 16:05
    #38417725
demmsnt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Python: хранение большого числа объектов
володька трынькин,

А что тут тестировать. Ссылка на объект это 4 байта в 32-х битной архитектуре в CPython. Эффективности list самодельными структурами вам не достичь. Надо понимать что за объекты вы храните в памяти может это 1 млн целых чисел? Опять, же mmap и в путь.
...
Рейтинг: 0 / 0
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Python: хранение большого числа объектов / 16 сообщений из 16, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]