сокращение требований к памяти для списка смежности

В более общем плане указанный, Вы спрашиваете, как служить статическому файлу от Django. Если Вы работаете под Apache, необходимо читать http://docs.djangoproject.com/en/dev/howto/deployment/modpython/

, Если Вы работаете, сервер разработки (скажите на Вашем ноутбуке), читайте , http://docs.djangoproject.com/en/dev/howto/static-files/

Действительно отмечает большая правовая оговорка относительно сервера разработки Django:

  • Используя этот сервер неэффективно и небезопасен.
  • не используют это в производственной установке.
  • Использование это только для разработки.

9
задан Benoît 1 September 2009 в 14:08
поделиться

3 ответа

В BGL есть малоизвестный тип графа, называемый графом «сжатая разреженная строка». Он кажется довольно новым и не связан со страницами индекса. Однако он использует небольшой красивый трюк, чтобы получить как можно меньшее представление графа. http://www.boost.org/doc/libs/1_40_0/libs/graph/doc/compressed_sparse_row.html

Используя это для некоторых наших графиков, я уже смог уменьшить общее использование памяти на 20 % - так что это действительно очень стоящая оптимизация.

Он также сохраняет свойства вершин / ребер в векторах, что дает минимально возможные накладные расходы и для них.

Обратите внимание, что версия, поставляемая с последним повышением 1.40, поддерживает направленную только графики (в отличие от двунаправленных). Если вам нужно иметь возможность эффективно перебирать внешние и внутренние кромки вершины (как это сделал я), вам нужно проверить ствол ускорения из Subversion. Иеремия очень помог, добавив эту функцию по моей просьбе.

8
ответ дан 4 December 2019 в 21:50
поделиться

Поскольку BGL разработан для взаимодействия с устаревшими или настраиваемыми графами , вам, вероятно, лучше написать свой собственный график.

0
ответ дан 4 December 2019 в 21:50
поделиться
  1. Накладные расходы зависят от того, какую версию вы используете, и от того, использовали ли вы «связанные» свойства или нет. Я использовал только связанные свойства, и, читая код, я ожидал, что каждый набор свойств будет стоить вам 2 указателя + размер используемого типа пакета + размер каждого из присоединенных свойств. В двоичном файле afaik не осталось ничего из проверки концепции. Но если у вас есть код, почему бы просто не измерить стоимость? Если у вас нет инструментов, которые помогут, попробуйте просто сгенерировать графики известных размеров в буферах известных размеров. Что-то в конце концов выйдет из строя, и в этот момент у вас должны быть счетчики.

  2. Вы пробовали вызвать adjacency_list .swap (adjacency_list & x) ? Я надеюсь, что контейнеры уменьшатся должным образом.

1
ответ дан 4 December 2019 в 21:50
поделиться
Другие вопросы по тегам:

Похожие вопросы: