Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Out-of-process or in-process ActiveX server?
Message
General information
Forum:
Visual FoxPro
Category:
Classes - VCX
Miscellaneous
Thread ID:
00149412
Message ID:
00149699
Views:
21
David,

>If the server needs to have a UI it has to be out-of-proc. If you don't need a UI it can be either one. Calls to an in-proc DLL server are about twice as fast as calls to an out-of-proc EXE server in my testing.

You have to be careful how you phrase that.

DLL servers aren't any faster than EXE servers - it's the only
the call interface that's faster. IOW, the code all runs at the same
speed - only the parameter passing is much, much slower with OutOfProc
servers (as much 500-1000 times slower) under *ideal* conditions!

Things is, if you have a procedure that runs a query that takes
20 seconds and returns there's not going to be a noticable difference
between InProc and OutOfProc. If you have a routine that calls the
VFP server in a tight loop with small chunks of data you'll notice
the difference like night and day.

Also keep in mind that in a multi-threaded environment like IIS
InProcess calls may also have to be marshalled across apartments (threads)
which is nearly as expensive as cross-process marshalling. In a busy
server environment that difference becomes very thin.

I've tested operation of InProc and OutOfProc servers with Web
Connection using its pool thread manager and the difference between
InProc and OutOfProc is marginal - the main reason is that each request
is a single method call to the server, but even with 15-20,000 hits an hour testing under load there was only a 2-5% difference.

Not that it matters with the current version of VFP since it can't
do concurrent multi-apartment calls anyway.

+++ Rick ---
+++ Rick ---

West Wind Technologies
Maui, Hawaii

west-wind.com/
West Wind Message Board
Rick's Web Log
Markdown Monster
---
Making waves on the Web

Where do you want to surf today?
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform