本分类主要讨论有关提升 Julia 代码性能方面的话题,欢迎大家在此分类:
提问前必读
解答性能优化相关的问题通常需要足够的诊断信息,因此建议大家在提问前先按照以下步骤自我诊断:
- 首先请阅读文档 performance-tips 章节
- 使用
BenchmarkTools.jl
中的@btime
做 benchmark - 使用
@code_warntype
输出类型稳定性相关的诊断信息 - 使用 profile 工具来诊断代码的瓶颈,常用的有
ProfileView.jl
, profiler 以及Juno
中的@profiler
宏。 - 按照此文档的描述,获取内存分配相关的诊断信息
上述是常见的获取诊断信息的方法,请根据实际问题来提供相应的诊断信息。若无法利用上述工具输出诊断信息,请附加一个MWE(minimal working example),即一段完整的可以跑起来的代码(有时还需要数据),这样大家才能够进行诊断和分析。