So one more hack. Changing twisted.python.Failure to just have:
tb = None
before it actually does anything with the traceback. Doing that the times are:
***** TB = NONE ****** 0.033 hpss request: [140029379712768] BzrDirFormat.initialize_ex_1.16 0.372 end: [140029379712768] 0.352s 0.037 hpss request: [140029379712768] BzrDirFormat.initialize_ex_1.16 0.287 end: [140029379712768] 0.254s 0.035 hpss request: [140029379712768] BzrDirFormat.initialize_ex_1.16 0.252 end: [140029379712768] 0.220s 0.035 hpss request: [140029379712768] BzrDirFormat.initialize_ex_1.16 0.215 end: [140029379712768] 0.183s
So best case time around 183ms. Digging further into that:
0.035 hpss request: [140029379712768] BzrDirFormat.initialize_ex_1.16 0.061 method: translatePath (243652, '//~jameinel/%2Bjunk/x') took 0.025s 0.105 method: createBranch (243652, '/~jameinel/%2Bjunk/x') took 0.043s 0.130 method: translatePath (243652, '//~jameinel/%2Bjunk/x') took 0.024s 0.167 method: translatePath (243652, '//~jameinel/%2Bjunk/.bzr/branch-format') took 0.023s 0.186 method: translatePath (243652, '//~jameinel/.bzr/branch-format') took 0.018s 0.200 method: translatePath (243652, '//.bzr/branch-format') took 0.014s 0.201 creating repository in lp-79166544:///~jameinel/%2Bjunk/x/.bzr. 0.215 response: [140029379712768] ('.', 'yes', 'no', 'yes' 0.215 response end: [140029379712768] -1301322142.923s 0.215 end: [140029379712768] 0.183s
So the XMLRPC calls end up costing: 147ms. Plus the baseline of 30ms or so. (And looking at the 'slow' version, the XMLRPC time is 300ms).
So a summary:
30ms raw-bzrlib 150ms xmlrpc calls to get and create branch mapping 300ms Twisted Failure traceback handling ----- 480ms Time in codehosting on my VM.
That sure looks like a lot of overhead for our virtualization efforts.
So one more hack. Changing twisted. python. Failure to just have:
tb = None
before it actually does anything with the traceback. Doing that the times are:
***** TB = NONE ****** initialize_ ex_1.16 initialize_ ex_1.16 initialize_ ex_1.16 initialize_ ex_1.16
0.033 hpss request: [140029379712768] BzrDirFormat.
0.372 end: [140029379712768] 0.352s
0.037 hpss request: [140029379712768] BzrDirFormat.
0.287 end: [140029379712768] 0.254s
0.035 hpss request: [140029379712768] BzrDirFormat.
0.252 end: [140029379712768] 0.220s
0.035 hpss request: [140029379712768] BzrDirFormat.
0.215 end: [140029379712768] 0.183s
So best case time around 183ms. Digging further into that:
0.035 hpss request: [140029379712768] BzrDirFormat. initialize_ ex_1.16 %2Bjunk/ x') %2Bjunk/ x') %2Bjunk/ x') %2Bjunk/ .bzr/branch- format' ) .bzr/branch- format' ) branch- format' ) ///~jameinel/ %2Bjunk/ x/.bzr.
0.061 method: translatePath (243652, '//~jameinel/
took 0.025s
0.105 method: createBranch (243652, '/~jameinel/
took 0.043s
0.130 method: translatePath (243652, '//~jameinel/
took 0.024s
0.167 method: translatePath (243652, '//~jameinel/
took 0.023s
0.186 method: translatePath (243652, '//~jameinel/
took 0.018s
0.200 method: translatePath (243652, '//.bzr/
took 0.014s
0.201 creating repository in lp-79166544:
0.215 response: [140029379712768] ('.', 'yes', 'no', 'yes'
0.215 response end: [140029379712768] -1301322142.923s
0.215 end: [140029379712768] 0.183s
So the XMLRPC calls end up costing: 147ms. Plus the baseline of 30ms or so. (And looking at the 'slow' version, the XMLRPC time is 300ms).
So a summary:
30ms raw-bzrlib
150ms xmlrpc calls to get and create branch mapping
300ms Twisted Failure traceback handling
-----
480ms Time in codehosting on my VM.
That sure looks like a lot of overhead for our virtualization efforts.