编程语言中运算符的运算效率

您所在的位置:网站首页 运算符ln 编程语言中运算符的运算效率

编程语言中运算符的运算效率

2023-09-10 02:13| 来源: 网络整理| 查看: 265

        在使用各种计算机语言编程时,同一种问题可能有好几种解决方案,比如在使用取余运算符时,‘%’操作符和‘ - ’操作符其实使用样的效果,结果都一样,用那种效率比较好?

        摘自:

        http://wenku.baidu.com/link?url=B89DssVNk7J3hGvkt97JU_50kQu-qn6aUdpeUd2dzh2hTBeUt-b6oLH44K-bRah-g95dhH-zzBwkdxioX6jgwXaEmUPczatrnsS_flzEYS_

        我们就从代码细节与算法设计两方面,比较不同程序执行时间的异同,从而选择其中较优的算法,提高程序运行效率。

        本试验所采用的环境是: CPU Celeron 3.06GHz,内存248M,操作系统Windows XP SP2,程序语言C。编译环境Dev-c++。以下称为1号机。配置略好于NOIP标准测试机CPU 2.0GHz。

  一、基本运算的速度

   为了增强算法效率的计算准确性,我们采用重复试验20次取平均值的做法。每次试验运行100000000次。

  基本运行时间,是指在准备计算的运算复杂度之外,只包括循环控制变量的加减与比较所消耗的时间。要从实际运行时间中减去基本运行时间,才是这种

运算真正的运行时间,称为净运行时间。

#include 

main() { 

 int i,j;    

 double a,b,sum=0;    

 for(j=0;j long source = 1345634571234556l; long source_after = 1200000000000000l; long length = 40; long[] timeSub = new long[40]; for(int i = 0; i < 40; i++){ long start = System.currentTimeMillis(); long outCome = source / source_after; long end = System.currentTimeMillis(); timeSub[i] = end - start; System.out.println("result:" + timeSub[i] + ", start:" + start + ", end:" + end); } long result = 0; for(int i = 0; i < timeSub.length; i++){ result = result + timeSub[i] / length; } System.out.println("% time sub result:" + result); long[] timeSub_ = new long[40]; for(int i = 0; i < 40; i++){ long start = System.currentTimeMillis(); long outCome_ = source - source_after; long end = System.currentTimeMillis(); timeSub_[i] = end - start; System.out.println("result_:" + timeSub_[i] + ", start:" + start + ", end:" + end); } long result_ = 0; for(int i = 0; i < timeSub.length; i++){ result_ = result_ + timeSub_[i] / length; } System.out.println("- time sub result:" + result_); System.out.println("Hello World!"); } }

代码大概的意思就是说取一个很大的long类型的数,依次执行‘-’和‘%’操作,求一下时间差的平均值,

结果看图:

后来我又分别试了*,/符号,发现执行结果都是这样。

  做这个测试的目的就是因为我做的东西里面需要高频,大量的操作,我把'%' 改成了'-'解决了一些问题,所以特意测试下,结论如下:

  在当前CPU这么NB的时代,这样执行是没有任何响应时间差别的,但是呢,如果持续的高频大量的操作,就会有问题了,比如一般的明显效率对比:- 肯定比 % 快,位操作肯定比 + ,-,*,/快,所以建议使用如果环境所迫,最好使用效率相对较高的运算符。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3