I’m seeing a performance issue when calling the EOS routines on many small arrays (≈8 elements each). Profiling shows that every call to
my_eos.InternalEnergyFromDensityTemperature(density, temperature)
invokes the EOS copy constructor. Since the SpinerEOS object is about 20 KB (per sizeof), these repeated copies add significant overhead. It appears that PR #106 introduced an explicit copy in this path.
I’m seeing a performance issue when calling the EOS routines on many small arrays (≈8 elements each). Profiling shows that every call to
invokes the EOS copy constructor. Since the SpinerEOS object is about 20 KB (per sizeof), these repeated copies add significant overhead. It appears that PR #106 introduced an explicit copy in this path.