Bug 747 - Validate memory footprint and usage / General performance.
Summary: Validate memory footprint and usage / General performance.
Alias: None
Product: General
Classification: JogAmp
Component: source_code (show other bugs)
Version: unspecified
Hardware: All all
: --- enhancement
Assignee: Sven Gothel
Depends on:
Blocks: 887
  Show dependency treegraph
Reported: 2013-06-09 05:39 CEST by Sven Gothel
Modified: 2013-12-10 21:21 CET (History)
1 user (show)

See Also:
Type: ---
SCM Refs:
gluegen 83cc11676314488ca0669366933e807e8fdead87 jogl 1c1ffed31548094cf7afbb4c83b0cb627ae3a1ad jogl ab9076c83cc3b2e7800eaf0a19febe786458146d
Workaround: ---


Note You need to log in before you can comment on or make changes to this bug.
Description Sven Gothel 2013-06-09 05:39:07 CEST
Memory usage pattern should be analyzed, best utilizing unit test instrumented code.

Try to (if appropriate)
[1] Use less expensive classes, i.e. IdentityHashMap instead of HashMap
[2] Use native type instead of object instances
[3] Use Immutable objects avoiding copy/writes.
[4] Avoid short lived objects (-> [3])
[5] Use application managed pools for NIO usage

Comment 1 Sven Gothel 2013-06-12 12:47:15 CEST
gluegen 83cc11676314488ca0669366933e807e8fdead87
  AndroidVersion: HashMap -> IntObjectHashMap

jogl 1c1ffed31548094cf7afbb4c83b0cb627ae3a1ad
  Allow usage of IdentityHashMap w/ keys: AbstractGraphicsDevice.getUniqueID() 
  and GLContext.getDeviceVersionAvailableKey()
    .. both value classes unique, long lived and rare.
Comment 2 Julien Gouesse 2013-06-26 14:11:45 CEST
(In reply to comment #0)
> [5] Use application managed pools for NIO usage
> ...

Where do you want to use it? It mustn't conflict with existing similar mechanisms in other third party libraries.
Comment 3 Sven Gothel 2013-12-10 21:21:09 CET
jogl ab9076c83cc3b2e7800eaf0a19febe786458146d
       Make scale(..) creating new float[] deprecated, adding 'in place' variant w/ passing result float[] ; 
       TODO: Replace all variations with 'in place' v