On Wed, 2010-01-20 at 19:32 -0700, James William Pye wrote:
> Apologies ahead of time for the lack pretty graphs. =) > > I used two different builds/installations of PG to test as the PL names > conflict. Both were compiled with the following CFLAGS(pg_config output): > > -O2 -Wall -Wmissing-prototypes -Wpointer-arith -Wdeclaration-after-statement > -Wendif-labels -fno-strict-aliasing -fwrapv > > Both PLs were built against the same build of Python(recent svn update of > release31-maint): > > Python 3.1.1+ (release31-maint:77585M, Jan 17 2010, 10:29:13) > [GCC 4.2.1 (Apple Inc. build 5646) (dot 1)] on darwin > This is great stuff. Thanks for your diligence. > I ran each of the test files a few times against the target installation, but > I only attached one of each to this message. (Primarily, multiple runs to > filter out any spurious spikes.) > > The source SQL and output files are attached. > > rawtest.sql.out is the output for raw data objects(native typing). > pytypestest.sql.out is the output of the @pytypes test(native typing with > conversion overhead). > plpythontest.sql.out is the output for core's plpython(conversion). > > A few samples from the output files are included inline below. > > Each volatile function is called 100,000 times from a COUNT() aggregate, and > the duration is measured using psql's \timing. Most of the functions simply > return the first parameter given to it. The functions are ran inside a > transaction because plpython3 does some cache clears(linecache) and GC at the > end of transactions. > > The parameter type, if any, is indicated by the label: > > noparams: > > raw: 125ms > pytypes: 372ms (base overhead, it would appear) > plpython: 309ms > > oneint2: > > raw: 140ms > pytypes: 684ms > plpython: 750ms > > oneint8: > > raw: 145ms > pytypes: 676ms > plpython: 718ms > > text_large: > > raw: 271ms > pytypes: 2766ms > plpython: 2310ms > > composite: > > raw: 235ms > pytypes: 795ms (N/A, no conversion done, but takes a bit of a hit > anyways) > plpython: 1654ms > > -- PostgreSQL.org Major Contributor Command Prompt, Inc: http://www.commandprompt.com/ - 503.667.4564 Consulting, Training, Support, Custom Development, Engineering Respect is earned, not gained through arbitrary and repetitive use or Mr. or Sir. -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers