You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Now that the toolkit is beginning to work we are identifying a number of performance issues. These issues were predicted to some degree, but it is finally time to start optimizing performance a bit.
Attributes
One category where there are certainly optimizations to be performed is the attribute system.
Reduce attribute creation
There are a few ways how we could potentially reduce attribute creation
Implement an abstraction that holds multiple accessors to minimizes the number of attributes that are created
More rigorously implement the _slow paradigm to let users be more aware of when they might accidentally create accessors. We want to keep these slow pipelines to allow users to easily declare assertions / allow for rapid prototyping but it should be easy to identify which interfaces are creating unecessary accessors.
Implement per-thread accessors (this might be in conjunction with the aforementioned multiple-accessor abstraction.
Reduce access costs
Implement templated attribute accessors for vector types to reduce dependency on runtime attribute sizes as most applications depend on static sizes
Change AttributeCache to use a hashmap instead of map (like unordered_map)
Change AttributeCache underlying data storage to something more memory coherent (like a flat vector with enough size reserved)
The text was updated successfully, but these errors were encountered:
@Zhouyuan-Chen i believe you have a test that is good for showing off some performance deficiencies - could you post which test it is / where we can find it?
@Zhouyuan-Chen i believe you have a test that is good for showing off some performance deficiencies - could you post which test it is / where we can find it?
Now that the toolkit is beginning to work we are identifying a number of performance issues. These issues were predicted to some degree, but it is finally time to start optimizing performance a bit.
Attributes
One category where there are certainly optimizations to be performed is the attribute system.
Reduce attribute creation
There are a few ways how we could potentially reduce attribute creation
_slow
paradigm to let users be more aware of when they might accidentally create accessors. We want to keep these slow pipelines to allow users to easily declare assertions / allow for rapid prototyping but it should be easy to identify which interfaces are creating unecessary accessors.Reduce access costs
AttributeCache
to use a hashmap instead ofmap
(likeunordered_map
)AttributeCache
underlying data storage to something more memory coherent (like a flatvector
with enough size reserved)The text was updated successfully, but these errors were encountered: