Hi, Internal calls are only a bit faster than p/invoke. The difference only becomes greater when complex types are passed to native code like arrays/structures in which case the runtime will have marshall them. You are of course free to add new internal calls to your app which embeds the runtime.
Zoltan > I think I may have misread the part of the wiki that talks about > embedding mono (http://mono-project.com/Embedding_Mono): > > "The Mono runtime provides two mechanisms to expose C code to the CIL > universe: internal calls and native C code. Internal calls are > tightly integrated with the runtime, and have the least overhead, as > they use the same data types that the runtime uses. > The other option is to use the Platform Invoke (P/Invoke) to call C > code from the CIL universe, using the standard P/Invoke mechanisms." > > Does that text actually list *three* options, not two? It also seems > to suggest that internal calls are faster than *something*. I had > previously thought that it was comparing native calls to p/invoke. > Was I wrong? > > We've written both a p/invoke and an internal call Rijndael wrapper. > There is a negligible performance difference between the two. We may > still ship the internal call implementation for reasons unrelated to > performance; it reduces our library dependencies and makes it harder > to do something malicious via library substitution. > > -Allan > > -- > Allan Hsu <allan at counterpop dot net> > 1E64 E20F 34D9 CBA7 1300 1457 AC37 CBBB 0E92 C779 > > _______________________________________________ > Mono-devel-list mailing list > Mono-devel-list@lists.ximian.com > http://lists.ximian.com/mailman/listinfo/mono-devel-list > _______________________________________________ Mono-devel-list mailing list Mono-devel-list@lists.ximian.com http://lists.ximian.com/mailman/listinfo/mono-devel-list