Changes between Version 4 and Version 5 of GROUP_APP_PERFORMANCE_R2
- Timestamp:
- 05/27/09 15:01:12 (16 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
GROUP_APP_PERFORMANCE_R2
v4 v5 5 5 = Analysis = 6 6 == 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. 7 The goal of this task is to propose and implement concrete performance optimizations for Sophie2. [[BR]] 8 This should be achieved by either using a profiler or manually identifying potential optimization spots in the code. [[BR]] 9 A '''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. 8 10 9 11 == 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 10 16 * Find a way to measure real method execution count (non-statistical). 11 17 * Spend some more time with NetBeans Profiler and try to make it work with Sophie. … … 25 31 }}} 26 32 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 possible28 * by either doing quick hacks29 * 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.32 33 33 34 == Task result == … … 38 39 39 40 == 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 40 49 * Implement hit() inside our Profiler and count results in some map. 41 * Look at JVM PI 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. 43 52 44 53 == Related ==