[
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.