Have you tried using the VS profiler on a precompiled dll? I don't know how well it works, but VS profiler needs IL on disk, and with precompilation, you have that. There is still IL generated on the fly for rules, but you might be able to get some reasonable numbers.
Thanks, Shri -----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Orestis Markou Sent: Friday, August 15, 2008 9:52 AM To: Discussion of IronPython Subject: Re: [IronPython] Patched, profiling IronPython executable? 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: users@lists.ironpython.com > 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 > Users@lists.ironpython.com > http://lists.ironpython.com/listinfo.cgi/users-ironpython.com > _______________________________________________ > Users mailing list > Users@lists.ironpython.com > http://lists.ironpython.com/listinfo.cgi/users-ironpython.com > _______________________________________________ Users mailing list Users@lists.ironpython.com http://lists.ironpython.com/listinfo.cgi/users-ironpython.com _______________________________________________ Users mailing list Users@lists.ironpython.com http://lists.ironpython.com/listinfo.cgi/users-ironpython.com