我是靠谱客的博主 繁荣溪流,最近开发中收集的这篇文章主要介绍整型 右移 与 除法 的优化比较,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

如今网络上有一种呼声,说现在的编译器足够智能,会对代码自动地进行一些常见的优化,一些老的优化方法已经不再适用了,比如用右移代替除法运算、预计算等等。

很可惜,如今的C# 虽然具有一些编译优化的功能,但还不象网络上所传颂的智能编译器那样的智能。

经过实验发现,用右移代替除法运算、预计算等等技巧显然并未过时;经过实验发现:对于整形来说,右移一位确实比除以2要快一些,大约快了 2%。

using System;
namespace speed
{
class Program
{
static void Main(string[] args)
{
int i, j;
int source = 64556;
DateTime dt = DateTime.Now;
for (i = 0; i < 1000000000; i++)
{
j = source / 4;
}
TimeSpan ts = DateTime.Now - dt;
Console.WriteLine("/ cost time {0}", ts.ToString());
dt = DateTime.Now;
for (i = 0; i < 1000000000; i++)
{
j = source >> 2;
}
ts = DateTime.Now - dt;
Console.WriteLine(">> cost time {0}", ts.ToString());
Console.Read();
}
}
}

/ cost time 00:00:02.8941656

>> cost time 00:00:02.8731643


最后

以上就是繁荣溪流为你收集整理的整型 右移 与 除法 的优化比较的全部内容,希望文章能够帮你解决整型 右移 与 除法 的优化比较所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(44)

评论列表共有 0 条评论

立即
投稿
返回
顶部