偶尔吹毛求疵一下,众所周知,各种数值类型的Parse方法是很耗时间的。比如定义一个string s = "123",int n = 123,我们看s到n之间,没有任何理解障碍。但计算机就不行,它要一堆转换才能明白s到n的关系。下面写了一个自定义的类型转换函数。

 

  没有用Math.Pow函数求幂,速度提高了两倍;将自定义求幂函数与主函数合并一起,速度快了近一倍;使用while而不是for循环,速度略有提高。如果加上转换失败处理,总体速度大约比Int.Parse快一倍。

 

Code

 

  但是,要将速度提高一个数量级,找不到思路了。又仔细想了一下,其实完全不用取幂的。

 

 

  这样速度又提高了近20%,看来传统方式潜力不大了,不知道是不是应该从指针直接操作内存入手呢?

 

posted on 2009-11-17 22:58  小城故事  阅读(806)  评论(3编辑  收藏  举报