Bug 747

Summary: Validate memory footprint and usage / General performance.
Product: [JogAmp] General Reporter: Sven Gothel <sgothel>
Component: source_codeAssignee: Sven Gothel <sgothel>
Status: IN_PROGRESS ---    
Severity: enhancement CC: gouessej
Priority: ---    
Version: unspecified   
Hardware: All   
OS: all   
Type: --- SCM Refs:
gluegen 83cc11676314488ca0669366933e807e8fdead87 jogl 1c1ffed31548094cf7afbb4c83b0cb627ae3a1ad jogl ab9076c83cc3b2e7800eaf0a19febe786458146d
Workaround: ---
Bug Depends on:    
Bug Blocks: 887    

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
    VectorUtil: 
       Make scale(..) creating new float[] deprecated, adding 'in place' variant w/ passing result float[] ; 
       TODO: Replace all variations with 'in place' v