Thanks, I'll have a look at that. Hopefully it will help the effort of
porting Resolver One to IP2.
Dino Viehland wrote:
FastCallable's certainly the right spot if anything will come close. My main
concern is that it'll probably leave a lot of stuff out...
In 2.0 this is actually easier. You could modify the DLR in MetaAction.cs to
wrap every single dynamic operation - whether that be addition, calling
something, getting a member, etc... There's a method called GetMetaObjectRule
and it has:
Expression body = rewriter.VisitNode(AddReturn(binding.Expression,
retType));
You could modify this to be something like:
Expression tmp = Expression.Variable(body.Type);
body = Expression.Scope(
Expression.Call(
Expression.Comma(
Expression.Call(typeof(MyType).GetMethod("Enter")), // MyType is some
public type somewhere...
Expression.Assign(tmp, body),
Expression.Call(typeof(MyType).GetMethod("Exit")),
tmp
)
),
tmp
)
);
And you'd get information on every call - warning, this code was compiled with
Outlook.
-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Orestis Markou
Sent: Friday, August 15, 2008 2:25 AM
To: [email protected]
Subject: [IronPython] Patched, profiling IronPython executable?
Hi,
following all the discussion about profiling etc, I was poking around in
IP1.1.2 source code, trying to find out if there is a 'bottleneck' of
sorts, that all function calls are threaded through. My thinking was
that it would be then possible to surround this with profiling
information, logging time taken etc. and compile a profiling ipy.exe.
From my venture, I think that ICallable is what I should be looking
for. I see that it has many implementors, but I guess FastCallable (in
all its generated glory) should capture a lot of the cases, right?
Am I even on the right track here?
Orestis Markou
_______________________________________________
Users mailing list
[email protected]
http://lists.ironpython.com/listinfo.cgi/users-ironpython.com
_______________________________________________
Users mailing list
[email protected]
http://lists.ironpython.com/listinfo.cgi/users-ironpython.com
_______________________________________________
Users mailing list
[email protected]
http://lists.ironpython.com/listinfo.cgi/users-ironpython.com