memory allocation and powers of two

Поиск
Список
Период
Сортировка
От David Schultz
Тема memory allocation and powers of two
Дата
Msg-id 20030828091405.GA39540@HAL9000.homeunix.com
обсуждение исходный текст
Ответы Re: memory allocation and powers of two  (Tom Lane <tgl@sss.pgh.pa.us>)
Re: memory allocation and powers of two  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-hackers
While looking into a block size mismatch problem between
Postgresql and FreeBSD's FFS, I noticed that postgresql is making
some rather odd-sized requests to malloc(3): 0x2034, 0x2020,
0x4018, 0x8018, etc.  Most malloc(3) implementations round large
allocations up to a multiple of a large power of 2---often the
hardware page size, so this is a pathological case for those
allocators.  For example, on a machine with 4K pages, the database
may use ~50% more memory for the 0x2034 byte allocations.

Browsing through the source, it looks like the allocation set
implementation and the buffered file implementation both use
inline tags.  The latter, at least, could be easily fixed by
allocating the buffer separately, but that would only be
worthwhile if the former were also modified.

Thoughts on this particular design decision?


В списке pgsql-hackers по дате отправления:

Предыдущее
От: Jeroen Ruigrok/asmodai
Дата:
Сообщение: Weird constraint output
Следующее
От: Tom Lane
Дата:
Сообщение: Re: Index creation takes for ever