|
Neohapsis is currently accepting applications for employment. For more information, please visit our website www.neohapsis.com or email hr@neohapsis.com |
From: Steve Swartz (stevesw
MICROSOFT.COM)Date: Thu Oct 04 2001 - 10:24:54 CDT
What I said was, there is no evidence that the performance degradation
you're seeing is due to changes in the cost of cross-context calls
between NT/MTS and W2K/COM+. I am not arguing about the existence of the
symptoms, just Tim's analysis of their cause.
It is true that there are locks involved in fetching cached policy sets
from the OS, and as you warp a benchmark test towards doing nothing but
cross-context calls (as you've done here), you can run into lock
contention problems that do not exist in normal applications (when the
machine spends less time as a percentage of total load in the policy set
code). So an example like yours can exhibit behavior that does not
characterize normal runtime situations.
But this is beside the point. Did you run the script I sent yesterday on
the library application containing object3 and object4?
-----Original Message-----
From: Charles Gamble [mailto:Charles.Gamble
SINGULARITY.CO.UK]
Sent: Thursday, October 04, 2001 1:36 AM
To: DCOM
DISCUSS.MICROSOFT.COM
Subject: Re: FW: COM+ and Free Threading
Steve,
I'm afraid I have to disagree with your point that Tim Ewald's analysis
is completely unsubstantiated. When I run the test which I previously
mentioned we are getting a significant performance decrease.
Please let me know when you have run this test with the code I
sent you.
If anyone wants this code, then just send me a direct email.
Note, the test only consists of 4 objects and a client app which call
each other. The methods don't do any work and have no parameters.
The objects are set to NoTx, RequiresTx, SupportsTx, SupportsTx
There is a huge drop in perf between NT and Win2000.
Charles.
-----Original Message-----
From: Steve Swartz [mailto:stevesw
MICROSOFT.COM]
Sent: 03 October 2001 19:03
To: DCOM
DISCUSS.MICROSOFT.COM
Subject: Re: FW: COM+ and Free Threading
It may be that you're running into the old "it's hard and/or impossible
to truly turn off all services and make components run in the caller's
context" problem. To see if that's so, store the following VBS into a
file named noctx.vbs and then run the command "noctx.vbs ALL
<APPLICATION NAME>" on the library application containing object3 and
object4. This eliminates some services you might not even know about ;).
Often this is what people are seeing when they say "there's context
overhead in Windows 2000". They're comparing within-context calls in
NT/MTS to cross-context calls in W2K/COM+.
So far as I know, Tim Ewald's analysis is completely unsubstantiated. I
have never seen evidence of even appreciable degradation of performance
between NT/MTS and W2K/COM+ due to cross-context call performance, let
alone the substantial degradation that you're seeing.
<%
Dim objArgs
Set objArgs = WScript.Arguments
SetApplicationProperty objArgs(1), "Base Application Partition",
"Activation", 0 SetApplicationProperty objArgs(1), "Base Application
Partition", "AccessChecksLevel", 0
SetComponentProperty objArgs(0), objArgs(1), "Base Application
Partition", "COMTIIntrinsics", 0 SetComponentProperty objArgs(0),
objArgs(1), "Base Application Partition", "IISIntrinsics", 0
SetComponentProperty objArgs(0), objArgs(1), "Base Application
Partition", "JustInTimeActivation", 0 SetComponentProperty objArgs(0),
objArgs(1), "Base Application Partition",
"ComponentAccessChecksEnabled", 0 SetComponentProperty objArgs(0),
objArgs(1), "Base Application Partition", "Synchronization", 0
SetComponentProperty objArgs(0), objArgs(1), "Base Application
Partition", "Transaction", 0 SetComponentProperty objArgs(0),
objArgs(1), "Base Application Partition", "EventTrackingEnabled", 0
SetComponentProperty objArgs(0), objArgs(1), "Base Application
Partition", "MustRunInClientContext", 1
'***********************************************************************
*******
' Modifies a property value on an application
'***********************************************************************
*******
Sub SetApplicationProperty (ApplicationName, PartitionName,
PropertyName, PropertyValue)
Set cat = CreateObject("COMAdmin.COMAdminCatalog.1")
'cat.CurrentPartition = PartitionName
Set collApps = cat.GetCollection("Applications")
collApps.Populate
numApps = collApps.Count
For i = numApps - 1 To 0 Step -1
If collApps.Item(i).Value("Name") = ApplicationName Then
collApps.Item(i).Value(PropertyName) = PropertyValue
End If
Next
collApps.SaveChanges
Set collApps = Nothing
Set cat = Nothing
End Sub
'***********************************************************************
*******
' Set a component property
'***********************************************************************
*******
Sub SetComponentProperty (ComponentID, ApplicationName, PartitionName,
PropertyName, PropertyValue)
Set cat = CreateObject("COMAdmin.COMAdminCatalog.1")
'cat.CurrentPartition = PartitionName
Set collApps = cat.GetCollection("Applications")
collApps.Populate
numApps = collApps.Count
For i = numApps - 1 To 0 Step -1
If collApps.Item(i).Value("Name") = ApplicationName Then
Set collComponents =
collApps.GetCollection("Components", collApps.Item(i).Key)
collComponents.Populate
numComponents = collComponents.Count
For j = numComponents - 1 To 0 Step -1
'If collComponents.Item(j).Value("CLSID") =
ComponentID Then
collComponents.Item(j).Value(PropertyName) = PropertyValue
'End If
Next
collComponents.SaveChanges
End If
Next
collApps.SaveChanges
Set collComponents = Nothing
Set collApps = Nothing
Set cat = Nothing
End Sub
%>
----------------------------------------------------------------
Users Guide http://discuss.microsoft.com/archives/mailfaq.asp
contains important info. Save time, search the archives at
http://discuss.microsoft.com/archives/index.html .
To unsubscribe, mailto:DCOM-signoff-request
DISCUSS.MICROSOFT.COM
----------------------------------------------------------------
Users Guide http://discuss.microsoft.com/archives/mailfaq.asp
contains important info. Save time, search the archives at
http://discuss.microsoft.com/archives/index.html .
To unsubscribe, mailto:DCOM-signoff-request
DISCUSS.MICROSOFT.COM
----------------------------------------------------------------
Users Guide http://discuss.microsoft.com/archives/mailfaq.asp
contains important info. Save time, search the archives at
http://discuss.microsoft.com/archives/index.html .
To unsubscribe, mailto:DCOM-signoff-request
DISCUSS.MICROSOFT.COM
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]