Anto, Niko had previously discovered this and we dscussed coming up with a way to do it. This is a good motivator to stepping up and getting it done. Thanks for hitting the list with this.
Paul On 4/22/08, Antonio Cuni <[EMAIL PROTECTED]> wrote: > Hi Niko, > hi all, > > there is an interesting thread going on on the jvm-languages mailing > list; among the other things, I discovered that the JVM can handle the > exception much faster if you override the fillInStack method to do > nothing instead of building the traceback. > > I think that since we don't rely on jvm tracebacks for exceptions, > overriding such a method in all our exception classes might lead to some > speedup. > > Note that hotspot is smart enough to optimize well the case in which you > raise a prebuilt exception, but in all cases in which you have to > dynamically construct a new exception (e.g., OperationError) it can't. > > ciao, > Anto > > -------- Original Message -------- > Subject: [jvm-l] Re: Fan Programing Language > Date: Tue, 22 Apr 2008 15:05:04 -0400 > From: John Cowan <[EMAIL PROTECTED]> > Reply-To: [EMAIL PROTECTED] > To: [EMAIL PROTECTED] > References: > <[EMAIL PROTECTED]> > <[EMAIL PROTECTED]> <[EMAIL PROTECTED]> > <[EMAIL PROTECTED]> > > > On Tue, Apr 22, 2008 at 2:41 PM, Jon Harrop <[EMAIL PROTECTED]> wrote: > > > > 2) you are allocating a new exception every time; the optimization > > > described here [1] works only if the exception is pre-allocated. > > > [1] http://blogs.sun.com/jrose/entry/longjumps_considered_inexpensive > > > > I think that is not thread safe. Specifically, when the branch conveys > > information (passed as arguments using a tail call, or embedded in the > > exception) then you must use a locally allocated exception, right? > > Yes, you must. However, what makes allocating an exception expensive > is the fillInStack method, which has to walk the JVM stack. If you > override that in your exception class with a do-nothing method, then > locally allocating exceptions is very cheap. > > -- > GMail doesn't have rotating .sigs, but you can see mine at > http://www.ccil.org/~cowan/signatures > > --~--~---------~--~----~------------~-------~--~----~ > You received this message because you are subscribed to the Google > Groups "JVM Languages" group. > To post to this group, send email to [EMAIL PROTECTED] > To unsubscribe from this group, send email to > [EMAIL PROTECTED] > For more options, visit this group at > http://groups.google.com/group/jvm-languages?hl=en > -~----------~----~----~----~------~----~------~--~--- > > > _______________________________________________ > [email protected] > http://codespeak.net/mailman/listinfo/pypy-dev > _______________________________________________ [email protected] http://codespeak.net/mailman/listinfo/pypy-dev
