[Mono-bugs] [Bug 65408][Wis] Changed - MBRO call performance
bugzilla-daemon@bugzilla.ximian.com
bugzilla-daemon@bugzilla.ximian.com
Mon, 6 Sep 2004 22:33:03 -0400 (EDT)
Please do not reply to this email- if you want to comment on the bug, go to the
URL shown below and enter your comments there.
Changed by bmaurer@users.sf.net.
http://bugzilla.ximian.com/show_bug.cgi?id=65408
--- shadow/65408 2004-09-06 19:01:54.000000000 -0400
+++ shadow/65408.tmp.15926 2004-09-06 22:33:03.000000000 -0400
@@ -1,14 +1,14 @@
Bug#: 65408
Product: Mono: Runtime
Version: unspecified
-OS:
+OS: unknown
OS Details:
Status: NEW
Resolution:
-Severity:
+Severity: Unknown
Priority: Wishlist
Component: misc
AssignedTo: mono-bugs@ximian.com
ReportedBy: bmaurer@users.sf.net
QAContact: mono-bugs@ximian.com
TargetMilestone: ---
@@ -38,6 +38,28 @@
}
On my 900 mhz windows box using the 1.1 fx, this executes in 7 seconds. On
the 2.0 fx, it executes in under a second. I had to control C the program
with mono because it took so long. When I tried on x86-mono (a 2.8 GHz
xeon) it took 13 seconds. Alot of these types of calls are used in xsp
+
+------- Additional Comments From bmaurer@users.sf.net 2004-09-06 22:33 -------
+Ok, so here is my idea for this:
+
+If we have proxy that is just a CrossAppDomain (eg, in process) thing,
+we fill up the vtable with a new type of marshal wrapper. The wrapper
+does something like this:
+
+set_domain (mbro->vtable->domain)
+set_context (...)
+[other transition stuff]
+
+[code for marshaling arguments]
+invoke
+set_domain (old domain)
+set_context (old context)
+
+This would make the process very cheap. For methods with arguments
+that are all `blittable' across domains (eg, they do not need to be
+marshaled), the remoting boundry is essentially free. If marshalling
+is needed, it is still orders of magnitude less expensive than what we
+have today.