一直都有这种说法,用指针遍历数组比用下标快。很多人知其然而不知其所以然,有时也会有人勇敢的怀疑。其实,只要学过汇编的人就知道,用指针遍历比用下标快其实是跟寻址方式有关系。啥都不说了,直接上代码。
用GCC -O2 -S 编译后得到如下代码:
注意标MARK的两行,“用指针比用下标快”的关键就在于此。这是两种不同的寻址方式,下面这种快于上面的。
两种不同寻址方式带来的性能差异,真的真的是太微不足道了……
一直都有这种说法,用指针遍历数组比用下标快。很多人知其然而不知其所以然,有时也会有人勇敢的怀疑。其实,只要学过汇编的人就知道,用指针遍历比用下标快其实是跟寻址方式有关系。啥都不说了,直接上代码。
用GCC -O2 -S 编译后得到如下代码:
注意标MARK的两行,“用指针比用下标快”的关键就在于此。这是两种不同的寻址方式,下面这种快于上面的。
两种不同寻址方式带来的性能差异,真的真的是太微不足道了……