Closed paraynaud closed 1 year ago
Base: 98.95% // Head: 99.07% // Increases project coverage by +0.12%
:tada:
Coverage data is based on head (
9636896
) compared to base (97dc13f
). Patch coverage: 100.00% of modified lines in pull request are covered.
:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.
@dpo can you review this one?
In fact there is no allocations in solve!(::CGSolver)
.
I made a mistake, I performed
@benchmark Krylov.solve!(::CgSolver, ::PartitionedLinearOperator, -pv_gradient)
the allocations came from -pv_gradient
which allocates a new PartitionedVector
.
pvb = -pv_gradient
@benchmark Krylov.solve!(solver, lo_epm, pvb)
BenchmarkTools.Trial: 10000 samples with 1 evaluation.
Range (min … max): 25.700 μs … 228.600 μs ┊ GC (min … max): 0.00% … 0.00%
Time (median): 26.300 μs ┊ GC (median): 0.00%
Time (mean ± σ): 29.780 μs ± 13.866 μs ┊ GC (mean ± σ): 0.00% ± 0.00%
█▃▂▂▁▁ ▁ ▁▁ ▁
██████▇▆▆▅▅▅▆██▅██▆▆▅▅▄▄▅▄▄▆▆▇█▇▇▆▇▅▄▅▅▆▄▅▅▅▄▁▄▅▄▁▃▄▁▅▄▄▅▆▆▅ █
25.7 μs Histogram: log(frequency) by time 103 μs <
Memory estimate: 96 bytes, allocs estimate: 4.
for a small example. I changed the partitioned structure of the partitioned linear problem and there was no additional allocations.
ok so is this good to go?
ok so is this good to go?
Yes
Try to solve #21