Re: can we publish a aset interface?

Поиск
Список
Период
Сортировка
От Pavel Stehule
Тема Re: can we publish a aset interface?
Дата
Msg-id AANLkTi=qc8fVG62O8ahmiKGMdY1eydenn59R+DVyrCSX@mail.gmail.com
обсуждение исходный текст
Ответ на Re: can we publish a aset interface?  (Robert Haas <robertmhaas@gmail.com>)
Ответы Re: can we publish a aset interface?  (Robert Haas <robertmhaas@gmail.com>)
Список pgsql-hackers
2010/9/7 Robert Haas <robertmhaas@gmail.com>:
> On Tue, Sep 7, 2010 at 9:27 AM, Pavel Stehule <pavel.stehule@gmail.com> wrote:
>> 2010/9/7 Robert Haas <robertmhaas@gmail.com>:
>>> On Tue, Sep 7, 2010 at 4:53 AM, Pavel Stehule <pavel.stehule@gmail.com> wrote:
>>>> I would to use a special memory context for shared data (based on
>>>> mmap) and I like impementation of aset. There is only one difference -
>>>> aset is based on malloc and I would to use a mmap.
>>>>
>>>> malloc() is used in AllocSetContextCreate and AllocSetAlloc. These
>>>> procedures should be overwritten, but other code and data structures
>>>> can be used. This step can be useful for previous discuss about some
>>>> more comfortable maintaining of shared memory.
>>>>
>>>> What do you think about?
>>>
>>> What would this be good for?
>>>
>>
>> I try to solve performance problems with czech tsearch. I checked
>> serialization and deserialization, but this decrease load time only to
>> 100ms (from 500) that is too much for us. After some gaming with mmap
>> I thinking so there some chance to preallocate mmap memory, and then
>> use a special memory context based on mmap instead of malloc.
>> Teoretically I can copy aset interface - this module probably never be
>> in core (this problem is probably local - only Czech), but it isn't
>> nice. So I asking.
>
> I don't see how you could do anything with this that you can't do with
> the existing implementation.  It's not as if you can store pointers
> into an mmap'd block and then count on them being valid the next time
> you map the file...  it might not end up at the same offset.

you can, but you have to do preallocation and you have to use a FIXED flag.

Pavel


>
> --
> Robert Haas
> EnterpriseDB: http://www.enterprisedb.com
> The Enterprise Postgres Company
>


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

Предыдущее
От: Pavel Stehule
Дата:
Сообщение: Re: proposal: tsearch dictionary initialization hook
Следующее
От: Michael Haggerty
Дата:
Сообщение: Re: git: uh-oh