以下是引用TonyDeng在2012-8-31 12:57:07的发言:
个数越少,差异越明显。一个赋值操作只有一次mov,但每次循环迭代都要多一个if检测动作。看效率,不是看指令数目,而是看实际执行了多少次,以及每个指令操作的耗时(不同指令有不同的耗时差异)。这是看性价比的取舍,如果是数目有限的赋值,往往是直接赋值的效率更高,只是书写费力罢了,随着数目的增加,这种费力效应不断放大,就不如使用循环了,此时省的是自己的功夫,但不省机器的功夫。确实是要平衡,这也是我一直说不要总玩算法的原因,事实上不同的算法有不同的适应环境,就算是排序那么简单的东西,在不同的数据规模上也有很显著的性能差异,不要以为通晓所有排序算法就了不得,当你不知道面向实际数据规模有所取舍的时候,那就是书呆子,而现实更需要的是你懂得这里面有取舍的需求,根据实际的情况选择数据规模和使用算法。
确实是要平衡,这也是我一直说不要总玩算法的原因,事实上不同的算法有不同的适应环境,就算是排序那么简单的东西,在不同的数据规模上也有很显著的性能差 异,不要以为通晓所有排序算法就了不得,当你不知道面向实际数据规模有所取舍的时候,那就是书呆子,而现实更需要的是你懂得这里面有取舍的需求,根据实际 的情况选择数据规模和使用算法。
现在的情况是 能在算法层面上优化一下就很不错了 很少能通吃 即便是专门的计算软件 也这样