我记得几年前听说过循环递减比递增效率更高,特别是在对微处理器编程时。这是真的吗?如果是的话,原因是什么?
发布于 2011-09-08 20:39:25
在bat之外发生的一件事是递减循环上的结束条件可能会更快。如果你循环到一个确定的值,那么每次迭代都需要与该值进行比较。但是,如果您向下循环到零,那么在大多数处理器上,如果被递减的值达到零,那么递减本身就会设置零标志,因此不需要额外的比较操作。
我意识到这是小事一桩,但在一个大而紧的内部循环中,这可能会有很大影响。
发布于 2011-09-08 20:36:53
在c#中,这对效率没有影响。循环递减的唯一原因是,当您循环遍历集合并在执行过程中删除项时。
发布于 2011-09-08 20:39:36
我不知道什么是递减,但我知道使用++i比使用i++性能更好。
网上有很多文章解释了这一点,但归根结底是:使用++i可以让我在第一次被自动声明,而使用i++不会这样做。(至少在C#中)
再说一次,我不知道递减是否更有性能,我只是想看看你是如何询问性能的:)
你只需要使用递减,因为据我所知,在某些情况下它更容易。
https://stackoverflow.com/questions/7348060
复制相似问题