scipy, логнормальное распределение - параметры

В дополнение к другим приятным ответам цитата из системного программирования Linux , написанная экспертом Google Робертом Лав:

Преимущества mmap( )

Манипулирование файлами через mmap( ) имеет несколько преимуществ перед стандартными системными вызовами read( ) и write( ). Среди них:

  • Чтение и запись в файл с отображением памяти позволяет избежать посторонней копии, которая возникает при использовании системных вызовов read( ) или write( ), где данные должны быть скопированы в и из буфера пользовательского пространства.
  • Помимо любых возможных ошибок страницы, чтение и запись в файл с отображением памяти не несет каких-либо системных вызовов или служебных сообщений коммутатора контекста. Это так же просто, как доступ к памяти.
  • Когда несколько процессов сопоставляют один и тот же объект в памяти, данные распределяются между всеми процессами. Сопоставления только для чтения и совместного доступа доступны для совместного использования; частные записи, доступные для записи, имеют свои страницы с не-пока-COW (копирование на запись).
  • Поиск вокруг отображения включает тривиальные манипуляции с указателями. Системный вызов lseek( ) не нужен.

По этим причинам mmap( ) является разумным выбором для многих приложений.

Недостатки mmap( )

При использовании mmap( ) следует иметь в виду несколько моментов:

  • Отображения памяти всегда представляют собой целое число страниц в размере. Таким образом, разница между размером файла резервной копии и целым числом страниц «потеряна» в качестве незаполненного пространства. Для небольших файлов значительная часть картирования может быть потрачена впустую. Например, с страницами 4 КБ, 7-байтовое отображение отходов составляет 4089 байт.
  • Отображения памяти должны вписываться в адресное пространство процесса. С 32-разрядным адресным пространством очень большое количество отображений различного размера может привести к фрагментации адресного пространства, что затрудняет поиск больших свободных смежных областей. Эта проблема, конечно, гораздо менее очевидна с 64-разрядным адресным пространством.
  • В создании и обслуживании сопоставлений памяти и связанных структур данных внутри ядра возникают накладные расходы. Эти служебные данные, как правило, устраняются устранением двойной копии, упомянутой в предыдущем разделе, особенно для файлов с большими и часто доступными файлами.

По этим причинам преимущества mmap( ) наиболее важны реализуется при большом размере сопоставленного файла (и, следовательно, любое потраченное впустую пространство является небольшим процентом от общего сопоставления) или когда общий размер отображаемого файла равномерно делится на размер страницы (и, следовательно, нет пробельного пространства).

blockquote>

24
задан ars 5 January 2012 в 19:51
поделиться

1 ответ

Я просто потратил некоторое время на разработку этого и хотел документировать это здесь: Если вы хотите получить плотность вероятности (в точке x) из трех возвращаемых значений lognorm.fit (давайте назовем их (shape, loc, scale)) , вам нужно использовать эту формулу:

x = 1 / (shape*((x-loc)/scale)*sqrt(2*pi)) * exp(-1/2*(log((x-loc)/scale)/shape)**2) / scale

Итак, в качестве уравнения, которое есть (loc это µ, shape это σ и scale это α):

x = \frac{1}{(x-\mu)\cdot\sqrt{2\pi\sigma^2}}  \cdot e^{-\frac{log(\frac{x-\mu}{\alpha})^2}{2\sigma^2}}

7
ответ дан Chronial 5 January 2012 в 19:51
поделиться
Другие вопросы по тегам:

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