You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@apex.apache.org by "Thomas Weise (JIRA)" <ji...@apache.org> on 2015/12/28 01:11:49 UTC

[jira] [Updated] (APEXCORE-188) Make type graph lazy load

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

Thomas Weise updated APEXCORE-188:
----------------------------------
    Fix Version/s: 3.3.0

> Make type graph lazy load
> -------------------------
>
>                 Key: APEXCORE-188
>                 URL: https://issues.apache.org/jira/browse/APEXCORE-188
>             Project: Apache Apex Core
>          Issue Type: Improvement
>            Reporter: Siyuan Hua
>            Assignee: Siyuan Hua
>             Fix For: 3.3.0
>
>
> Type graph is a micro service in stram that is used to inspect java class and the hierarchy of all classes in the classpath by parsing the bytecode directly. It's based on ASM. It is fast, use less memory, but it's still not good enough.
> This improvement is about split the type graph load to 2 stage:
> Stage 1 scan all class files, read the first several bytes about the class signature and make the index on it (This stage build a index and make sure class can be quickly reached from descendants & ancestors & siblings).
> Stage 2 when request of class inspection happens, load the full classes(properties/methods all the way up to all the ancestors) that is asked for from class file again
> I did some experiment, the benefit of this is building the index can be finished much faster. The memory footprint is much smaller.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)