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
