【发布时间】:2014-07-19 16:59:41
【问题描述】:
我编写了一个函数来计算 C# 中使用嵌套 for 循环的公式。它的运行速度比我想要的要慢,我一直在努力加快速度。有没有一种好方法可以确定我的代码是否可以在 C# 中进一步优化,或者我是否需要迁移到机器编译的语言,例如 C++?
我知道每种情况都会有所不同,但是否有通用流程/清单可用于确定是否可以进行更多优化?
【问题讨论】:
-
感谢 JITter,原始计算在 C++ 中不太可能更快。 (除非您是非常熟练的 C++ 开发人员)
-
您还记得为发布而不是调试而构建吗?除此之外,我唯一的建议是在调试器下运行程序,该调试器将显示实际的机器指令(而不是 .NET 中间语言),看看是否可以看到任何明显的低效率。如果没有,那么您无能为力。 (这里假设你对机器指令有一点了解)
-
@RenniePet 是的,我使用了发布选项,在我的情况下它并不比调试选项快(我觉得很奇怪)。我在学校上过关于机器指令的课程,但我认为我没有足够的知识来进行这种类型的分析以产生有用的结果。
-
@slaks (真的吗?)[benchmarksgame.alioth.debian.org/] -- 一般来说,当苹果与苹果在相当原始的计算问题上进行比较时,jitted 语言的速度要慢得多。
-
@Yakk 括号,然后是括号。你知道这个:p
标签: c# c++ performance optimization