Re: minimizing the cost of managed/unmanaged collaboration

Alan Baljeu <[email protected]> Mon, 26 Mar 2007 13:18:14 -0400
Newsgroups gmane.comp.windows.devel.dotnet.cx
Message-ID <001d01c76fca$bcc65560$1dc80ac6@CTI>
Stoyan wrote:
> John's reply was a bit WTF to me ;) - are you asking which
> technology has the least overhead performance-wise?
>
> 1. Managed C++/IJW
> 2. P/Invoke
> 3. COM

re John, I agree; I didn't ask about databases.  I just profiled my code a little bit, and
learned that there are 750K marshalling calls.  But I have no idea if that means 10s or
2min.  I want to know if I should take major efforts to pool the data marshalling, or not.
And I would like to know what is the way to make things fastest.  Possibly I will need to
rewrite some modules into managed code to reduce the cost.

> What kind of large data you'll be transferring and which way?

Lots of strings and numbers being sent to and from C# in-memory storage.

>
> On 3/26/07, Alan Baljeu <[email protected]> wrote:
> > My program involves a significant amount of native C++ code and C#
> > code, and I'm using VS 2003.  There is necessarily a large
> amount of
> > data which needs to be transferred between the two
> environments, using
> > COM and/or PInvoke.  How can I understand the costs
> involved in this transfer, and how can I minimize these costs?
> >
> > ===================================
> > This list is hosted by DevelopMentor(r)  http://www.develop.com
> >
> > View archives and manage your subscription(s) at
> > http://discuss.develop.com
> >

===================================
This list is hosted by DevelopMentorĀ®  http://www.develop.com

View archives and manage your subscription(s) at http://discuss.develop.com