DRDAConnThread::doneData should use statically allocated SQLException objects
-----------------------------------------------------------------------------

         Key: DERBY-774
         URL: http://issues.apache.org/jira/browse/DERBY-774
     Project: Derby
        Type: Improvement
  Components: Network Server, Performance  
 Environment: Any
    Reporter: Dyre Tjeldvoll
 Assigned to: Knut Anders Hatlen 
    Priority: Minor


DRDAConnThread::doneData currently creates a new SQLException object that is 
passed to the writeSQLCAGRP() method. Profiling shows that the creation of 
these Exception objects takes a lot of CPU because the Throwable constructor 
will call fillInStackTrace(), which is expensive. This is unnecessary since the 
exception is not being thrown, and the stack trace is never used. 

It would be sufficient to keep a static SQLException instance in DRDAConnThread 
that could be reused each time doneData() is called (this is also suggested by 
the following comment in the code: 

// sqlstate 02000 for end of data.
// RESOLVE: Need statics for sqlcodes."

Assigning to Knut-Anders, since he has the patch ready (?) in his sandbox.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira

Reply via email to