db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Knut Anders Hatlen (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (DERBY-5947) Factor out common code from generated classes
Date Thu, 18 Oct 2012 12:20:04 GMT

     [ https://issues.apache.org/jira/browse/DERBY-5947?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Knut Anders Hatlen updated DERBY-5947:
--------------------------------------

    Attachment: values1-after-4a.txt
                d5947-4a-authorization.diff

The 4a patch moves the authorization check for cursor result sets from generated code to CursorActivation.

This change removed 414 bytes from the generated class for VALUES 1. (The reduction was mainly
class names and method names in the constant pool, not so many instructions were removed.)
The total reduction in size for a VALUES 1 statement is now 878 bytes (from 3408 bytes to
2530 bytes).

Attached is also the decompiled class for VALUES 1 after the 4a patch.

All the regression tests ran cleanly with the patch.
                
> Factor out common code from generated classes
> ---------------------------------------------
>
>                 Key: DERBY-5947
>                 URL: https://issues.apache.org/jira/browse/DERBY-5947
>             Project: Derby
>          Issue Type: Improvement
>          Components: SQL
>            Reporter: Knut Anders Hatlen
>            Assignee: Knut Anders Hatlen
>            Priority: Minor
>         Attachments: d5947-1a-remove-common-methods.diff, d5947-2a-execute-method.diff,
d5947-3a-init-rs.diff, d5947-4a-authorization.diff, natural-join-after-3a.txt, natural-join-decompiled.txt,
values1-after-1a.txt, values1-after-2a.txt, values1-after-3a.txt, values1-after-4a.txt, values1-decompiled.txt
>
>
> There's some code that's added to all classes generated by Derby's query compiler. For
example, there are three static fields that contain statistics used to check if the plan is
stale, and there are getter and setter methods for each of the three fields. The fields and
their accessor methods take up 468 bytes in every generated class.
> We should see if we can factor out some of this code so that there is a single shared
copy in BaseActivation. Advantages would be: less complicated byte-code generation, less memory
occupied by generated classes in the statement cache, smaller disk footprint for stored prepared
statements.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Mime
View raw message