VTKm: Reduced Memory usage overhead during compilation for VTKm accelerators adapters
closes: #18037 (closed)
It splits the vtkmClip
implementation into three cxx files:
-
vtkmClip.cxx
where all the methods are defined -
vtkmClipWithField.cxx
whereClipWithField
is instantiated -
vtkmClipWithImplicitFunction.cxx
whereClipWithImplicitFunction
is instantiated
For the purpose I abstracted some of the member variables of vtkmClip
and moved their concrete impls to an internal class.
Getters/Setters remains in vtkmClip
.
With those changes I noticed a reduction of memory usage from 5GiB to 4GiB when compiling these units using GCC-8.
EDIT Nov 23rd
With the latest change we are down to 3GiB, from the originally 5GiB
Details
Version | Size sum of object files | Minimum memory to compile |
---|---|---|
Before | 129M | 5GiB |
Master | 74M | 4GiB |
This MR | 107MiB | 3GiB |