Hi all,

I have been busy lately adding support for UNO's current context concept (see <http://udk.openoffice.org/common/man/concept/uno_contexts.html#current_context>) to URP (on CWS sb23, not targeted for OOo 2.0, but probably OOo 2.0.1). That this feature is currently missing has been noticed by the initiative to make OOo multi-thread safe when accessed via UNO.

Now, to make a thread's current context available via URP: The only working scheme that I came up with is also the most primitive one---send the current context along with every URP request (i.e., every invocation of a UNO interface method; the current context is not sent along with URP "release" requests). This means that URP performance will degrade slightly; the effect is roughly as if every UNO interface method had an additional in parameter of type com.sun.star.uno.XCurrentContext.

To get a feel for how severe this performance degradation will actually be, I time'd execution of bridgetest_client together with bridgetest_server (both sides C++) and bridgetest_javaserver (one side C++, one Java) from the testtools module on my local Linux box: (a) on a plain SRC680m88 (i.e., without support for current context); (b) on CWS sb23 (i.e., with support for current context), but using a null current context in the active thread; and (c) on CWS sb23 (i.e., with support for current context), and using a non-null current context instance in the active thread. (Also, I changed the bridgetest_xxx scripts to use TCP connections with tcpnodelay=1, see the Developer's Guide for details.)

Timings for three sample runs each are below, and indicate that the changes are tolerable (esp. if you consider that those brdigetest tests have an URP call density that is quite high, higher probably than that of the typical application). However, if you have any concerns about these changes, feel free to discuss them here.

-Stephan


a: SRC680m88 bridgetest_client/bridgetest_server: 0.100u 0.029s 0:00.95 12.6% 0.093u 0.035s 0:00.94 12.7% 0.103u 0.031s 0:00.95 13.6% bridgetest_client/bridgetest_javaserver: 0.144u 0.039s 0:00.86 19.7% 0.147u 0.035s 0:00.86 19.7% 0.128u 0.044s 0:00.90 17.7%

b: CWS sb23, null cc
bridgetest_client/bridgetest_server:
  0.112u 0.024s 0:00.94 13.8%
  0.099u 0.025s 0:00.94 11.7%
  0.112u 0.027s 0:00.95 13.6%
bridgetest_client/bridgetest_javaserver:
  0.144u 0.037s 0:00.85 20.0%
  0.142u 0.044s 0:00.86 20.9%
  0.119u 0.034s 0:00.86 16.2%

c: CWS sb23, non-null cc
bridgetest_client/bridgetest_server:
  0.129u 0.034s 0:01.03 14.5%
  0.114u 0.033s 0:01.03 13.5%
  0.113u 0.040s 0:01.03 14.5%
bridgetest_client/bridgetest_javaserver:
  0.169u 0.045s 0:01.05 19.0%
  0.119u 0.036s 0:01.02 13.7%
  0.156u 0.045s 0:01.01 18.8%

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Reply via email to