【发布时间】:2015-10-14 14:59:15
【问题描述】:
我有一个类似的循环
for (int i = 2; i <= ViewBag.numPages; ++i)
我想知道如果我这样写会不会更快
for (int i = 2, n = ViewBag.numPages; i <= n; ++i)
如果可能,请给我一个深入(低级)的解释
【问题讨论】:
-
如果是这样,编译器无论如何都会优化它,除非你把它关掉。即使这样,成本也可能非常小,就像两条机器指令一样。
-
你对“非常”的定义很奇怪。首先,重新命中相同的地址将被缓存。其次,在您的循环计数开始担心 int32 溢出之前,ram 访问成本不会很高。
-
顺便说一句。你不是 Donald Knuth.. 你误用了这个名字并问了一个真人肯定知道的简单问题!
标签: c# asp.net optimization