-
- Downloads
Remove tracking of processed entries in assembleGlobalBasisTransferMatrix
To avoid duplicate work, `assembleGlobalBasisTransferMatrix()` used a container to store all processed fine basis functions. The used container is a `std::unordered_set<MultiIndex>`. Unfortunately this container is really slow. With the improved implemention it turned that checking, filling, clearning this container is in fact more expensive and the assembly is faster if the checks are removed. This is based on the test cases of the corresponding test, that checks various combinations of bases on 2d and 3d grids. Using a suitable bit vector to store flags would indeed be faster. However, it is very hard to derive a suitable container type generically based on the current basis interface. (This will hopefully iprove soon.)
parent
80b02d60
No related branches found
No related tags found
Please register or sign in to comment