[ 
https://issues.apache.org/jira/browse/DERBY-3004?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12520153
 ] 

Knut Anders Hatlen commented on DERBY-3004:
-------------------------------------------

Pushing EmbedPreparedStatement's finalizer into EmbedStatement wasn't such a 
good idea after all, since EmbedPreparedStatements may contain both reusable 
activations and single-use activations at the same time (the single-use 
activations come from calls to getGeneratedKeys()). So it sounds cleaner to let 
EmbedStatement.finalize() take care of closing the single-use activation and 
EmbedPreparedStatement the reusable activations.

> Get rid of the finalizer in EmbedResultSet
> ------------------------------------------
>
>                 Key: DERBY-3004
>                 URL: https://issues.apache.org/jira/browse/DERBY-3004
>             Project: Derby
>          Issue Type: Improvement
>          Components: JDBC, Performance
>    Affects Versions: 10.3.1.4
>            Reporter: Knut Anders Hatlen
>            Assignee: Knut Anders Hatlen
>            Priority: Minor
>
> Finalizers make object allocation and garbage collection more expensive and 
> should be avoided for object types that are frequently allocated. 
> EmbedResultSet has a finalize() method and is frequently allocated for many 
> types of load. The following comment was posted on DERBY-1876:
> By commenting out the finalize() method in EmbedResultSet, the time to run 
> the test on my laptop is reduced from ~3 seconds to ~1.3 seconds 
> (OpenSolaris, Sun Java SE 6). Since the finalizer is a no-op if the 
> activation isn't single-use, I think we should investigate whether there are 
> ways to avoid this cost for ResultSets that don't need the finalizer.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to