-
Notifications
You must be signed in to change notification settings - Fork 238
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Optimizations #695
Optimizations #695
Conversation
@@ -120,7 +120,7 @@ void GMSHAdaptiveMeshDensity::getSteinerPoints (std::vector<GeoLib::Point*> & pn | |||
if ((*it)->getDepth() + additional_levels > max_depth) { | |||
additional_levels = max_depth - (*it)->getDepth(); | |||
} | |||
const std::size_t n_pnts_per_quad_dim (MathLib::fastpow(2, additional_levels)); | |||
const std::size_t n_pnts_per_quad_dim = 1 << additional_levels; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Readability vs. optimization 😃
🍰 🍺 🎸 or ⏩ Whatever you want. |
|
Merged subPRs and rebased. |
Fixed some issues in |
In the conversion of a vtkUnstructuredGrid replace the 5*(nr of elements) GetCell() calls with vtk's provided function. The 5*(nr of elements) GetCell() calls make around 50% of total instruction spent in convertUnstructuredGrid(). For current groundwater flow simulation without the linear solver call it makes around 1/6 of total instructions.
This saves 16% of instructions in the GroundwaterFlow::init() code due to faster access in the multi-index table.
Replace two-pass method in createMeshElemPropertiesFromASCRaster untility.
In particular use shift operation.
if(TARGET ..) only works if the target is defined before this statement which was not the case. The OGS_BUILD_GUI variable is always defined.
👍 |
OpenGeoSys development has been moved to GitLab. |
ctest -E diff
command needs around 10% less time.The latter changes are touching a createMeshPropertiesFromASCRaster,
which I could not test. It seems the code is not compiling at all. Probably I miss some special flags for cmake.(Thanks to Lars for fixing compilation)Please test this.
Also the performance of VtkTextureOnSurfaceFilter should increase significantly. How can one check this? (and more important, that my changes do not break anything?) (:white_check_mark: Thanks Lars!)