From: | "Mario Gonzalez" <gonzalemario(at)gmail(dot)com> |
---|---|
To: | editores(at)editores(dot)com(dot)co, postgresql <pgsql-es-ayuda(at)postgresql(dot)org> |
Subject: | Re: [GENERAL] Concurrencia |
Date: | 2006-03-16 19:19:58 |
Message-ID: | 2065a6cf0603161119m1edea685m@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda pgsql-general |
On 16/03/06, Alvaro Herrera <alvherre(at)commandprompt(dot)com> wrote:
> Mario Gonzalez escribió:
> > On 16/03/06, Alvaro Herrera <alvherre(at)commandprompt(dot)com> wrote:
>
> > > Observa que Postgres rara vez hace esto. Generalmente se usa palloc()
> > > en lugar de malloc(). La diferencia es que palloc() registra cada
> > > bloque emplazado ("allocated") como perteneciente a un "contexto". Con
> > > cierta periodicidad el contexto puede "resetearse", en cuyo caso todos
> > > los bloques emplazados se liberan automaticamente.
> >
> > Humm, interesante eh? Pero por regla general por que no se usa
> > palloc() en todos los codigos? Quiza tendra un costo el crear un
> > MemoryContext.
>
> Porque MemoryContext es un concepto propio de Postgres :-) malloc es
> parte del estandar que define la libc. palloc usa malloc internamente.
Te entiendo. Pero cuando me referia a «todos los codigos» me referia
a los codigos de PostgreSQL, jeje :) Porque he visto que hay varias
lineas que hacen uso de malloc() directamente, quiza para una tarea
rapida que no vale la pena crear un context.... quizas.
Hablando de manejo de memoria, Gnome saco su version 2.14 y con ella
varias novedades como la inclusion de GSlice que segun dicen, es dos
veces mas rapido que malloc(). ¿Como se pudiera hacer un benchmark
decente que mida la asignacion de memoria? Por ejemplo, usando
palloc() v/s malloc() Para empezar, pudiera bastar compilando las
funciones mencionadas en estos mails y aplicandole un time? Algo
como...
time ./with_malloc
> Ciertamente usar los contextos tiene un costo de ejecucion, pero en
> terminos de tiempo de programador es muchisimo mas eficiente. Por otra
> parte, los contextos asi como los usa Postgres estan bien adaptados para
> un programa que funciona como servidor, pero no para un cliente. No
> significa que no se puedan usar ni que no sea buena idea usarlos, sino
> que no son una idea tan increiblemente superior.
>
>
From | Date | Subject | |
---|---|---|---|
Next Message | Felipe Amezquita | 2006-03-16 19:30:51 | |
Previous Message | Dimas Ayala | 2006-03-16 19:02:42 | Re: Conectar desde un servidor a otro usando Php |
From | Date | Subject | |
---|---|---|---|
Next Message | Tony Caduto | 2006-03-16 19:29:32 | will slony work for this ? |
Previous Message | Brad Nicholson | 2006-03-16 19:18:28 | Re: Replication & web apps |