关于“性能优化”分类

本分类主要讨论有关提升 Julia 代码性能方面的话题,欢迎大家在此分类:

  1. 介绍常用工具的使用方法
  2. 提出实际应用中遇到的问题(提问前必读
  3. 分享经验:技术原理,技巧,常见误区
  4. 讨论其它相关话题

提问前必读

解答性能优化相关的问题通常需要足够的诊断信息,因此建议大家在提问前先按照以下步骤自我诊断:

  1. 首先请阅读文档 performance-tips 章节
  2. 使用 BenchmarkTools.jl 中的@btime做 benchmark
  3. 使用 @code_warntype 输出类型稳定性相关的诊断信息
  4. 使用 profile 工具来诊断代码的瓶颈,常用的有 ProfileView.jlprofiler 以及 Juno 中的 @profiler 宏。
  5. 按照此文档的描述,获取内存分配相关的诊断信息

上述是常见的获取诊断信息的方法,请根据实际问题来提供相应的诊断信息。若无法利用上述工具输出诊断信息,请附加一个MWE(minimal working example),即一段完整的可以跑起来的代码(有时还需要数据),这样大家才能够进行诊断和分析。

Julia 优化常见误区

  1. 性能优化常见问题