Changes between Version 4 and Version 5 of GROUP_APP_PERFORMANCE_R2


Ignore:
Timestamp:
05/27/09 15:01:12 (16 years ago)
Author:
gogov
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • GROUP_APP_PERFORMANCE_R2

    v4 v5  
    55= Analysis = 
    66== Overview == 
    7 The goal of this task is to tweak our Profiler, and do a final try on existing profilers which can work with Sophie2 and produce useful results. 
     7The goal of this task is to propose and implement concrete performance optimizations for Sophie2. [[BR]] 
     8This should be achieved by either using a profiler or manually identifying potential optimization spots in the code. [[BR]] 
     9A '''sub'''goal of this task is to tweak our Profiler, and do a final try on existing profilers which can work with Sophie2 and produce useful results so they can be used for spotting potential optimization spots. 
    810 
    911== Task requirements == 
     12 * Propose concrete optimization points in Sophie2 code and optimize them if possible 
     13  * by either doing quick hacks 
     14  * or proposing serious design changes (like the Aspects) and try to implement them if there's enough time. 
     15 
    1016 * Find a way to measure real method execution count (non-statistical). 
    1117  * Spend some more time with NetBeans Profiler and try to make it work with Sophie. 
     
    2531}}} 
    2632     These could possibly be optimized in various ways like using findOne(), findAll() if used for lists, using some HashMaps etc. 
    27  * Propose concrete optimization points in Sophie2 code and optimize them if possible 
    28   * by either doing quick hacks 
    29   * or proposing serious design changes (like the Aspects) and try to implement them if there's enough time. 
    30  
    31  * Use any profiler outputs available to gather data which could be useful for the above goals. 
    3233 
    3334== Task result == 
     
    3839 
    3940== Implementation idea == 
     41 * Look at (usage of) these methods in the code and try to optimize them (they proved to consume much time while profiling with '''hprof'''): 
     42  * ''org.sophie2.core.modularity.SophieExtensionPoint.extensions'' -- there such be faster searching in this list maybe 
     43  * ''org.sophie2.core.prolib.util.Registry.endReadTrack'' -- filtering out could be optimized maybe 
     44  * ''org.sophie2.base.commons.util.ImmGradientPaint.*'' 
     45  * ''org.sophie2.main.app.menus.MainAppMenusModule.defineExtensions'' 
     46  * ''org.sophie2.core.prolib.util.Registry.registerRead'' 
     47 * Look at usage of ''sun.java2d'' and try to optimize the drawing of Scenes. 
     48 
    4049 * Implement hit() inside our Profiler and count results in some map. 
    41  * Look at JVMPI if you're going to do bytecode instrumentation. 
    42  * Find a NetBeans guru and ask him questions. 
     50 * Look at JVMTI if you're going to do bytecode instrumentation. 
     51 * Find a NetBeans guru and ask him questions on how to run the NetBeans Profiler with Sophie2. 
    4352 
    4453== Related ==