From: | jwp(at)pgfoundry(dot)org (James William Pye) |
---|---|
To: | pgsql-committers(at)postgresql(dot)org |
Subject: | python - pq: Rewrite the client3 PQ transaction manager. |
Date: | 2007-12-27 05:30:25 |
Message-ID: | 20071227053025.9B63117ADCC0@pgfoundry.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-committers |
Log Message:
-----------
Rewrite the client3 PQ transaction manager.
The prior design processed one message at a time to transition state. This
resulted in a substantial impediment on performance as the invocation overhead
per message held the messages per second down(From the tests I've done, it
appears to be around a factor of 3(primarily copies)).
The new version is implemented using one class, and rather than custom interface
to message instantiation, a simple list of message instances are passed in.
State is kept using a command offset and a mapping that designates the acceptable
messages for a command and ultimately what message causes the command to end.
Modified Files:
--------------
pq/src:
buffer.c (r1.6 -> r1.7)
(http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/python/pq/src/buffer.c.diff?r1=1.6&r2=1.7)
client3.py (r1.27 -> r1.28)
(http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/python/pq/src/client3.py.diff?r1=1.27&r2=1.28)
element3.py (r1.17 -> r1.18)
(http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/python/pq/src/element3.py.diff?r1=1.17&r2=1.18)
version.py (r1.3 -> r1.4)
(http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/python/pq/src/version.py.diff?r1=1.3&r2=1.4)
Removed Files:
-------------
pq/src:
transam.py
(http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/python/pq/src/transam.py)
From | Date | Subject | |
---|---|---|---|
Next Message | James William Pye | 2007-12-27 06:40:27 | python - pq: Correct reference. |
Previous Message | James William Pye | 2007-12-27 03:34:26 | python - ip: Update unit tests to reflect new greentrunk protocol. |