Ticket #209 (new enhancement)
Optimize stack allocations in marshaler
Reported by: | jasper | Owned by: | jasper |
---|---|---|---|
Priority: | minor | Milestone: | Backlog |
Component: | COBIA Marshalling | Version: | |
Keywords: | Cc: |
Description
Marshaled input arguments of variable are currently allocated of the heap.
For input arguments (that will not change), this can be optimized by using constant wrappers around the data, and allocate the actual data on the stack memory (extern the StackAllocate? block to fit the input data).
For output argument, the marshaler could use some form of buffering of COBIA data implementations (e.g. a pool of CapeArrayRealImpl? objects).
Change History
Note: See
TracTickets for help on using
tickets.
Rather complex to implement as
the gain may be limited as we do not have data on how much performance goes lost in stack allocations in a typical run
An alternative approach is to have fixed size generic preallocated 'stack' per marshaler that is used first, followed by actual heap allocations. To be considered further once we have a business case