Performance Results for ThreadingModel=“Free”
This section captures the performance results when the ThreadingModel of CLSID_Details is ThreadingModel="Free". To make the discussion easier, concentrate on the VoidCall column in each table.
A key point to note for Table B-7: for in-process method invocations, the client and the server exist in different apartments. This implies that marshaling will take place.
Here is a key point to note for Table B-8 and Table B-9: for in-process method invocations, the client and the server share the same apartment, implying that method invocations will be direct method calls.
Table B-7. Client Apartment: STA (Secondary STA Thread)
FirstCall | VoidCall | ArrayCall | LongCall | |
|---|---|---|---|---|
In-process | 0.000119 | 0.000108 | 0.000113 | 0.000924 |
Local | 0.000866 | 0.000463 | 0.000268 | 0.001908 |
Remote | 0.039941 | 0.001799 | 0.001965 | 0.017295 |
Table B-8. Client Apartment: MTA (MTAThread1)
FirstCall | VoidCall | ArrayCall | LongCall | |
|---|---|---|---|---|
In-process | 0.000005 | 0.000005 | 0.000005 | 0.000006 |
Local | 0.000609 | 0.000090 | 0.000097 | 0.000742 |
Remote | 0.037247 | 0.001719 | 0.001882 | 0.016600 |
Table B-9. Client Apartment: MTA (MTAThread2)
FirstCall | VoidCall | ArrayCall | LongCall | |
|---|---|---|---|---|
In-process | 0.000005 | 0.000004 | 0.000005 | 0.000006 |
Local | 0.000841 | 0.000094 | 0.000100 | 0.000748 |
Remote | 0.037925 | 0.001698 | 0.001895 | 0.016808 |
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access