Compare_lplib_pylpbugs
Size: 3021
Comment:
|
Size: 3485
Comment:
|
Deletions are marked like this. | Additions are marked like this. |
Line 47: | Line 47: |
|| ''py-lp-bugs (text)'' || {{{ >>> b = Bug(123456) }}} <<BR>> {{{ >>> print b.description }}} || 10 loops, best of 3: 638 ms per loop <<BR>> 25 loops, best of 3: 641 ms per loop|| 10 loops, best of 3: 808 ms per loop <<BR>> 25 loops, best of 3: 762 ms per loop || | ||<rowbgcolor="lightgreen;"> ''py-lp-bugs (text)'' || {{{ >>> b = Bug(123456) }}} <<BR>> {{{ >>> print b.description }}} || 10 loops, best of 3: 638 ms per loop <<BR>> 25 loops, best of 3: 641 ms per loop|| 10 loops, best of 3: 808 ms per loop <<BR>> 25 loops, best of 3: 762 ms per loop || |
Line 49: | Line 49: |
|| ''py-lp-bugs (text)'' || {{{ >>> b = Bug(123456) }}} <<BR>> {{{ >>> print [t.status for t in b.infotable] }}} || 10 loops, best of 3: 641 ms per loop <<BR>> 25 loops, best of 3: 639 ms per loop || 10 loops, best of 3: 756 ms per loop <<BR>> 25 loops, best of 3: 751 ms per loop || ||<rowspan=2> '''change status of first task of #255634''' || ''launchpadlib'' || {{{ >>> status_map = {"New": "Invalid", "Invalid": "New"} }}} <<BR>> {{{ >>> b = launchpad.bugs[255634] }}} <<BR>> {{{ >>> task = list(b.bug_tasks)[0] }}} <<BR>> {{{ >>> task.transitionToStatus(status=status_map[task.status]) }}} || <<BR>> || <<BR>> || || ''py-lp-bugs (html)'' || {{{ >>> status_map = {"New": "Invalid", "Invalid": "New"} }}} <<BR>> {{{ >>> b = Bug(255634) }}} <<BR>> {{{ >>> task = b.infotable[0] }}} <<BR>> {{{ >>> task.status = status_map[task.status] }}} <<BR>> {{{ >>> b.commit() }}} || <<BR>> || <<BR>> || |
||<rowbgcolor="lightgreen;"> ''py-lp-bugs (text)'' || {{{ >>> b = Bug(123456) }}} <<BR>> {{{ >>> print [t.status for t in b.infotable] }}} || 10 loops, best of 3: 641 ms per loop <<BR>> 25 loops, best of 3: 639 ms per loop || 10 loops, best of 3: 756 ms per loop <<BR>> 25 loops, best of 3: 751 ms per loop || ||<rowspan=2> '''change status of first task of #255634''' || ''py-lp-bugs (html)'' || {{{ >>> status_map = {"New": "Invalid", "Invalid": "New"} }}} <<BR>> {{{ >>> b = Bug(255634) }}} <<BR>> {{{ >>> task = b.infotable[0] }}} <<BR>> {{{ >>> task.status = status_map[task.status] }}} <<BR>> {{{ >>> b.commit() }}} || <<BR>> || 10 loops, best of 3: 6.83 s per loop <<BR>> 25 loops, best of 3: 6.33 s per loop || ||<rowbgcolor="lightgreen;"> ''launchpadlib'' || {{{ >>> status_map = {"New": "Invalid", "Invalid": "New"} }}} <<BR>> {{{ >>> b = launchpad.bugs[255634] }}} <<BR>> {{{ >>> task = list(b.bug_tasks)[0] }}} <<BR>> {{{ >>> task.transitionToStatus(status=status_map[task.status]) }}} || <<BR>> || 10 loops, best of 3: 3.66 s per loop <<BR>> 25 loops, best of 3: 4.51 s per loop || ==== Conclusion ==== * for read-only access python-launchpad-bugs in the ''text'' mode is about three times faster than launchpadlib * write-access with launchpadlib is two times faster than python-launchpad-bugs in the ''html'' mode |
time based comparison of python-launchpad-bugs and launchpadlib
This is still work in progress. python's timeit is used.
Preparation
launchpadlib
There are two files with credentials for STAGING and EDGE, for each mode the connector is created by
>>> credentials = Credentials() >>> credentials.load(open(<file>)) >>> launchpad = Launchpad(credentials, <SERVER-const>)
python-launchpad-bugs (text)
(read-only access)
>>> Bug = ConnectBug("text") >>> Bug.set_connection_mode(<SERVER-const>)
python-launchpad-bugs (html)
(this connection mode is used for write-access)
>>> Bug = ConnectBug("html") >>> Bug.authentication = <cookie-file> >>> Bug.set_connection_mode(<SERVER-const>)
Results
20080809
launchpadlib: lp:launchpadlib (rev8)
python-launchpad-bugs: lp:python-launchpad-bugs (rev152)
Task |
Lib |
Code |
STAGING |
EDGE |
get description of #123456 |
launchpadlib |
>>> b = launchpad.bugs[123456] |
10 loops, best of 3: 2.09 s per loop |
10 loops, best of 3: 2.65 s per loop |
py-lp-bugs (text) |
>>> b = Bug(123456) |
10 loops, best of 3: 638 ms per loop |
10 loops, best of 3: 808 ms per loop |
|
get status of all tasks of #123456 |
launchpadlib |
>>> b = launchpad.bugs[123456] |
10 loops, best of 3: 2.23 s per loop |
10 loops, best of 3: 2.86 s per loop |
py-lp-bugs (text) |
>>> b = Bug(123456) |
10 loops, best of 3: 641 ms per loop |
10 loops, best of 3: 756 ms per loop |
|
change status of first task of #255634 |
py-lp-bugs (html) |
>>> status_map = {"New": "Invalid", "Invalid": "New"} |
|
10 loops, best of 3: 6.83 s per loop |
launchpadlib |
>>> status_map = {"New": "Invalid", "Invalid": "New"} |
|
10 loops, best of 3: 3.66 s per loop |
Conclusion
for read-only access python-launchpad-bugs in the text mode is about three times faster than launchpadlib
write-access with launchpadlib is two times faster than python-launchpad-bugs in the html mode
Comments/Notes
BugHelper/Dev/python-launchpad-bugs/Compare_lplib_pylpbugs (last edited 2009-01-23 19:30:32 by a89-182-194-225)