Re: [GENERAL] Concurrencia

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.
>
>

In response to

Responses

Browse pgsql-es-ayuda by date

  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

Browse pgsql-general by date

  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