What would happen if you passed the string as an IntPtr type rather than a
char* type?

Alan.

On Mon, Nov 3, 2008 at 8:29 AM, Chris Howie <[EMAIL PROTECTED]> wrote:

> On Mon, Nov 3, 2008 at 2:48 AM, Bradford Stephens
> <[EMAIL PROTECTED]> wrote:
> > We're passing very large strings to a C program in Linux through Mono
> > via Interop. The C program takes a (char*), and our C# program uses a
> > String.
> >
> > The problem is that these strings can be 100kB+, and there seems to be
> > a large performance impact. Often, just passing the string along takes
> > over 150 milliseconds.
> >
> > Any suggestions on how to do this faster? Can I pass a reference to
> > the string or some sort of char array without Marshaling it? I'm
> > pretty sure the performance hit comes from copying everything during
> > the marshaling process. I know it can be a tricky problem because C
> > chars are 1 byte, and C# are 2.
>
> This is not possible unless you are storing your string in C# as byte[]s.
>
> --
> Chris Howie
> http://www.chrishowie.com
> http://en.wikipedia.org/wiki/User:Crazycomputers
> _______________________________________________
> Mono-list maillist  -  [email protected]
> http://lists.ximian.com/mailman/listinfo/mono-list
>
_______________________________________________
Mono-list maillist  -  [email protected]
http://lists.ximian.com/mailman/listinfo/mono-list

Reply via email to