Results 1 to 5 of 5

Thread: Activex.exe, speed of data access

  1. #1

    Thread Starter
    Hyperactive Member Simon Caiger's Avatar
    Join Date
    Aug 2000
    Location
    Rugby, England
    Posts
    377

    Question Activex.exe, speed of data access

    So, after a great deal of help from the guys on this forum I finally have my Activex.exe running as a data server to my client applications.

    The problem now is the speed of data access.

    It takes approximately 15 mS for a client to access a single property from the server.

    I can't believe this is correct.
    Has anyone hit a similar problem?

    I've already searched the forum and found a thread started by Wakawidget (are you there?) which hints at a similar problem but no solution was posted.

    Here is the thread :
    http://www.vbforums.com/showthread.p...=activex+speed
    Simon Caiger

    Documentation is like sex; when it's good, it's very, very good, and when it's bad, it's better than nothing.

  2. #2
    Addicted Member Sheppe's Avatar
    Join Date
    Sep 2002
    Location
    Kelowna, BC
    Posts
    245
    I'm not surprised. Running a server as an Out of Process Server is going to require more data marshalling, memory space, etc.
    [vbcode]
    On Error Goto Hell
    [/vbcode]
    Sheppe Pharis, MCSD
    Check out http://www.vb-faq.com
    Click here for access to the free Code-Express source code and component sharing network for VB6
    Want a better way to skin your .NET applications? Click here!

  3. #3

    Thread Starter
    Hyperactive Member Simon Caiger's Avatar
    Join Date
    Aug 2000
    Location
    Rugby, England
    Posts
    377
    I agree,
    I started this project knowing that running out of process was going to be slower but I didn't know how slow.

    Are you saying that 15mS to get a single property is the sort of figure I should expect?

    It just seems very slow to me even running on a 200 MHz PII with 32 meg Ram (this is the minimal client machine spec).

    Does anyone out there have any figures I can compare against?
    Simon Caiger

    Documentation is like sex; when it's good, it's very, very good, and when it's bad, it's better than nothing.

  4. #4
    Addicted Member Sheppe's Avatar
    Join Date
    Sep 2002
    Location
    Kelowna, BC
    Posts
    245
    I don't have the requested figures, but I do have a suggestion. Perhaps something in your application architecture could be reworked to improve performance. IE, instead of reading the properties of an out of process object indivudually, pass the whole object through to your application and then read the properties using the in process copy. Just a thought.
    [vbcode]
    On Error Goto Hell
    [/vbcode]
    Sheppe Pharis, MCSD
    Check out http://www.vb-faq.com
    Click here for access to the free Code-Express source code and component sharing network for VB6
    Want a better way to skin your .NET applications? Click here!

  5. #5

    Thread Starter
    Hyperactive Member Simon Caiger's Avatar
    Join Date
    Aug 2000
    Location
    Rugby, England
    Posts
    377
    Thanks for the suggestion Sheppe,

    What I have done is broken the data down into logical report structures and am using function calls from the clients to pass back arrays containing the data. I therefore only need one call per report which still only takes about 15ms.
    I could pass back one massive array but I wanted the data to be easily managed by the clients.

    I had a good discussion with Wokawidget yesterday, he suggested using a buffering technique. I will come back and try this when time permits.

    I initially thought that I could set the whole thing up to access the data individually (object.property) just like properties of an ActiveX control.
    This is my first adventure into the world of COM so I really didn't know what data access time to expect, I just wasn't expecting it to be as slow as 15ms.

    I have built my project as a .dll and as expected it runs much faster (100 properties in 6ms).

    As I understand it, I have to use the .exe route if I want to use DCOM (which some of my customers will require). I will probably offer both components in the product to give clients running on the local machine the chance of benefiting from the .dll speed advantage.
    Simon Caiger

    Documentation is like sex; when it's good, it's very, very good, and when it's bad, it's better than nothing.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  



Click Here to Expand Forum to Full Width