Похоже, вы используете 32-битную версию Python (я также предполагаю, что вы работаете в Windows). Из numpy.memmap
документов:
Файлы с отображением в памяти не могут превышать 2 ГБ в 32-разрядных системах.
blockquote>Итак, простое решение вашей проблемы - просто обновить установку Python до 64-битной.
Если ваш процессор был изготовлен где-то за последнее десятилетие, то должна быть возможность перейти на 64-битный Python.
Альтернативы
Пока ваш Python 32-битный, работа с массивами размером более 2 ГБ никогда не будет легкой или прямой. Ваша единственная реальная возможность - разбить массив на части размером не более 2 ГБ в то время, когда вы изначально его создавали / записывали на диск. Затем вы будете работать с каждым произведением независимо.
Кроме того, вам все равно придется использовать
numpy.memmap
с каждым кусочком, так как в противном случае самому Python не хватит памяти.Сверхмощные альтернативы
Если вам приходится регулярно обрабатывать большие массивы такого типа, вам следует подумать о переключении своего кода / рабочего процесса на одну из сред больших данных. Сейчас для Python есть целая куча из них. Раньше я широко использовал Pyspark , и его довольно легко использовать (хотя и требует кучу настроек). В комментариях Б. М. упоминает Даск , еще один такой большой каркас данных.
Хотя, если это только одноразовая задача, вероятно, не стоит потрудиться раскрутить одну из этих платформ.
Jan Odvarko записал Учебное руководство о том, как использовать новую функциональность слушателя в Firebug для входа сетевых результатов панели:
"Начиная с Firebug 1.4a13, панель Net представляет, среди прочего, несколько новых событий, которые позволяют легко собирать все сетевые запросы и также связанная информация собрала и вычислила Firebug.
Эта функциональность должна быть полезной также в случаях, где расширения Firebug хотят сохранить информацию о сетевой активности в локальную базу данных или передать ее обратно серверу для дальнейшего анализа (я думаю о статистике производительности здесь)."
В то время как это не непосредственно решение для Firebug, возможно, что-то как Миг помогло бы?
Миг в значительной степени работает как основанная на сервере версия измерительных инструментов Firebug. Я еще не использовал его в гневе, но это может сделать то, что Вы ищете?
http://code.google.com/p/jiffy-web/
Миг позволяет разработчикам:
Ben, я сделал это расширенным RC Селена ProxyHandler, чтобы стоять в очереди замеченные URL и затем позволить Вам раскрывать их через некоторый другой API. Это требует, чтобы Вы проксировали все, которое не является поведением по умолчанию Селена. Хорошая вещь состоит в том, что Селен заканчивает тем, что был оба местом, чтобы управлять автоматизацией и собрать замеченные результаты.
Это - вероятно, функция, мы скоро добавим к Селену RC прямо после того, как мы доберемся 1.0 снаружи (мы очень близки!).
Существует способ использовать ySlow для маяка данные о производительности к URL по Вашему выбору. Это не хорошо документируется, единственная информация, которую я нашел, была здесь:
http://tech.groups.yahoo.com/group/exceptional-performance/messages/490?threaded=1&m=e&var=1&tidx=1
Кроме этого я изучил бы запись плагина Firebug, я думаю, что можно получить доступ к большинству свойств Firebug. Вот учебное руководство: http://www.firephp.org/Reference/Developers/ExtendingFirebug.htm
Хорошо я признаю, что это не прямой ответ, но как насчет права движения на источник? Отключите FireBug и перейдите к веб-серверу. Сервер может зарегистрировать события с достаточной гранулярностью для разрешения вычисления информации, которую Вы запрашиваете? Парсинг файла журнала в полезные данные не должен быть особенно трудным и имеет преимущество того, чтобы быть независимым от платформы пользователем и имеет потенциал для входа большего набора данных, чем предлагаемый FireBug (Потрясающий инструмент btw).