[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: Use COM for shell extension / TSVNCache communication

From: Ivan Zhakov <ivan_at_visualsvn.com>
Date: Fri, 15 Apr 2016 16:08:45 +0300

On 26 March 2016 at 12:37, Stefan Küng <tortoisesvn_at_gmail.com> wrote:
> On 25.03.2016 09:31, Ivan Zhakov wrote:
>
>>> The shell uses multiple threads on its own for this. At least since
>>> Win7. It uses a background thread to get the overlay information. So
>>> using COM won't reduce the threads.
>> I didn't want to reduce the reads. I wanted to actually use them,
>> instead of waiting for CRemoteCacheLink mutex.
>>
>>> But if it's not too much work, you could try it out and then check if
>>> it's faster/better.
>>>
>> I did some simple performance tests and you are right: named pipes are
>> slightly faster (10-15%) than COM via LRPC. Another interesting
>> findings: using overlapped I/O also takes some significant proportion
>> of time.
>>
>> Very rough results of performing 20k calls with 50 bytes arguments:
>> - Named pipes using overlapped I/O on the client: 0.064 ms for one call.
>> - Named pipe without overalpped I/O on the client: 0.045 ms for one call.
>> - COM with MTA server and MTA client: 0.07 ms for one call
>> - COM with MTA server and STA client: 0.115 ms for one call.
>> - COM with STA server and STA client: 0.152 ms for one call.
>>
>> It's not too much work to start using COM for TSVNCache, but given the
>> numbers above we may expect more overheads for one call. I'm not sure
>> that improved threads/cores utilization compensate this.
>
> Since STA is slower than MTA, you have to also consider that shell
> extensions *must* use STA. At least in-process extensions like overlay
> handlers.
>
> So I guess we should stick with what's working now.
>
Yes, I agree with you.

-- 
Ivan Zhakov
------------------------------------------------------
http://tortoisesvn.tigris.org/ds/viewMessage.do?dsForumId=757&dsMessageId=3169225
To unsubscribe from this discussion, e-mail: [dev-unsubscribe_at_tortoisesvn.tigris.org].
Received on 2016-04-15 15:37:08 CEST

This is an archived mail posted to the TortoiseSVN Dev mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.