Spurious memory allocation reproduced with `poisson_dev_fe.jl`
- 主要语言
- Julia
- 星标
- 144
- 派生
- 50
- PR 合并指标
- 30 天内没有已合并 PR
描述
This issue is to document a strange behaviour which is reproduced in `poisson_dev_fe.jl` when the following code is executed:
```
@time begin
for i in 1:100_000
smart_sum(manual_uₕ_array_at_qₖ)
end
end
```
A comment was attached to this code, that I move from there and put here to not forget
```
WHY THE SECOND PIECE OF CODE REQUIRES A NUMBER OF ALLOCATIONS THAT GROWS
WITH THE NUMBER OF CELLS? I CAN UNDERSTAND THAT THE CACHE ARRAY of
`manual_uₕ_array_at_qₖ` REQUIRES MORE MEMORY IN ABSOLUTE TERMS, BUT I AM NOT
ABLE TO SEE WHY IT GROWS WITH THE NUMBER OF CELLS!!!! ANY HINT?
```
贡献指南
调研方向
从 poisson_dev_fe.jl 开始,运行围绕 smart_sum(manual_uₕ_array_at_qₖ) 的示例 @time 循环。比较单元数量变化时的分配次数,然后跟踪相关的 Gridap 和 Julia 调用。完成的标准是确定这种增长是否符合预期,并记录其原因或下一步行动。
由索引模型根据 Issue 内容生成。
评估
- 技术栈
- julia
- 领域
- performance
- Issue 类型
- 缺陷
- 难度
- 4/5
- 预计耗时
- 3-5 天
- 活跃度
- 停滞
- 描述清晰度
- 需要澄清
- 新手友好度
- 35/100