Sorry I was changing my code here is the test I started with invoke sample
C **************************************************** const char* key = "test"; const char* status = "1"; int c = 0; for (c = 0; c < 10000000; c++) { gpointer monoReturns[3]; MonoString* locKey = mono_string_new (domain, key); monoReturns [0] = &locKey; MonoArray* locTimes = mono_array_new (domain, mono_get_double_class(), 3); int i = 0; for (i = 0; i < 3; i++) { mono_array_set( locTimes, double, i, rand() ); } monoReturns [1] = &locTimes; // Status MonoString* locStatus = mono_string_new (domain, status); monoReturns [2] = &locStatus; mono_runtime_invoke (_onStatusChange, obj, monoReturns, NULL); } C# **************************************************** public void onStatusChange(ref string key, ref double[] times, ref string status) { /*Console.WriteLine ("Key is {0}", key); foreach (double time in times) { Console.WriteLine ("lineTime is {0}", time); } Console.WriteLine ("status is {0}", status);*/ } The mem on my box will go from 13m to 15m -- View this message in context: http://mono.1490590.n4.nabble.com/How-to-use-the-new-RHEL-5-for-CentOS-5-5-tp2306679p2313771.html Sent from the Mono - Dev mailing list archive at Nabble.com. _______________________________________________ Mono-devel-list mailing list Mono-devel-list@lists.ximian.com http://lists.ximian.com/mailman/listinfo/mono-devel-list