Received: from maia.hub.org (maia-2.hub.org [200.46.204.251]) by mail.postgresql.org (Postfix) with ESMTP id 69811633037 for ; Tue, 1 Jun 2010 09:55:02 -0300 (ADT) Received: from mail.postgresql.org ([200.46.204.86]) by maia.hub.org (mx1.hub.org [200.46.204.251]) (amavisd-maia, port 10024) with ESMTP id 07967-05 for ; Tue, 1 Jun 2010 12:54:54 +0000 (UTC) X-Greylist: from auto-whitelisted by SQLgrey-1.7.6 Received: from tamriel.snowman.net (tamriel.snowman.net [72.66.115.51]) by mail.postgresql.org (Postfix) with ESMTP id 57395632BB5 for ; Tue, 1 Jun 2010 09:54:55 -0300 (ADT) Received: by tamriel.snowman.net (Postfix, from userid 1000) id 3A6312294E; Tue, 1 Jun 2010 08:54:53 -0400 (EDT) Date: Tue, 1 Jun 2010 08:54:53 -0400 From: Stephen Frost To: Matthew Wakeling Cc: Merlin Moncure , Eliot Gable , pgsql-performance@postgresql.org Subject: Re: PostgreSQL Function Language Performance: C vs PL/PGSQL Message-ID: <20100601125453.GU21875@tamriel.snowman.net> References: <20100526161839.GA21875@tamriel.snowman.net> <20100526163251.GB21875@tamriel.snowman.net> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="WiQFMdyTOzqTDV8U" Content-Disposition: inline In-Reply-To: X-Editor: Vim http://www.vim.org/ X-Info: http://www.snowman.net X-Operating-System: Linux/2.6.26-1-amd64 (x86_64) X-Uptime: 08:53:39 up 278 days, 18 min, 25 users, load average: 0.13, 0.13, 0.07 User-Agent: Mutt/1.5.18 (2008-05-17) X-Virus-Scanned: Maia Mailguard 1.0.1 X-Spam-Status: No, hits=-1.91 tagged_above=-10 required=5 tests=BAYES_00=-1.9, T_RP_MATCHES_RCVD=-0.01 X-Spam-Level: X-Archive-Number: 201006/5 X-Sequence-Number: 38861 --WiQFMdyTOzqTDV8U Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable * Matthew Wakeling (matthew@flymine.org) wrote: > The major case I found when writing pl/pgsql was when trying to build =20 > arrays row by row. AFAIK when I tried it, adding a row to an array caused= =20 > the whole array to be copied, which put a bit of a damper on performance. Using the built-ins now available in 8.4 (array_agg), that copying doesn't happen any more. Thanks, Stephen --WiQFMdyTOzqTDV8U Content-Type: application/pgp-signature; name="signature.asc" Content-Description: Digital signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.9 (GNU/Linux) iEYEARECAAYFAkwFAx0ACgkQrzgMPqB3kijWSQCePC1GrZ2hOqEaxgTN58HEYIRf i5MAniRxsbJeQozizPrJ74aDORDhG+f3 =PQdd -----END PGP SIGNATURE----- --WiQFMdyTOzqTDV8U--