The heuristics for function definitions won't actually be a good one. You actually *want* function and classes definitions to be evaluated since they are executed once unless you reload a module. We should really have a counter on methods that counts the number of calls and compile the code if the counter reaches some threshold.
Tomas -----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Shri Borde Sent: Monday, August 11, 2008 1:57 PM To: Dino Viehland; Discussion of IronPython Subject: Re: [IronPython] Horrible performance regression of exec on IP2 Done Thanks, Shri -----Original Message----- From: Dino Viehland Sent: Monday, August 11, 2008 1:54 PM To: Shri Borde Subject: RE: [IronPython] Horrible performance regression of exec on IP2 Sounds like a good plan - do you want to add those comments to the bug? :) -----Original Message----- From: Shri Borde Sent: Monday, August 11, 2008 1:53 PM To: Dino Viehland Subject: RE: [IronPython] Horrible performance regression of exec on IP2 I believe that when Jacob enabled interpretation for exec, we used to compile code for exec if it had loops in it. That code no longer seems to be around, and now we will interpret the same. We could put back that heuristic. It would not help with Seo's example as it has a recursive function definition, but we can add class and function definitions to the list of heuristics as well. We could restrict interpretation to straight line code consisting of statements - which would still satisfy the main scenario of good per fro exec/evaling of simple code snippets. Thanks, Shri -----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Dino Viehland Sent: Monday, August 11, 2008 1:29 PM To: Discussion of IronPython Subject: Re: [IronPython] Horrible performance regression of exec on IP2 This is probably because we'll interpret code that is executed using exec. So anything very computationally heavy will be slow in exec. Maybe we need a way to disable that. If you want to see what it'd be like if we weren't interpreting you could use compile() first. -----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Seo Sanghyeon Sent: Monday, August 11, 2008 1:20 PM To: users@lists.ironpython.com Subject: [IronPython] Horrible performance regression of exec on IP2 This is just to let you know that I filed a CodePlex issue on this topic. Please comment (and vote!) there. http://www.codeplex.com/IronPython/WorkItem/View.aspx?WorkItemId=17781 In particular, I am interested in the result of execfib.py on .NET. Current data is on Mono. -- Seo Sanghyeon _______________________________________________ Users mailing list Users@lists.ironpython.com http://lists.ironpython.com/listinfo.cgi/users-ironpython.com Sample disclaimer text _______________________________________________ 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