摘 要:本文主要是建立代码运行测试平台的计算工具,尝试将Java语言和 C语言两种语言比较在实际运行过程中所需要的时间,通过结果的显示,能发现C语言在代码运行中是比Java 语言要更快、效率更高,这个结果的显示,将会为语言设计者在实际运用中选择哪一种语言提供建设性的意见。
关键词:Java语言;C语言;代码运行;效率
一、代码运行效率比较的方法
在计算机的语言中,要在各种语言中比较各自的运行效率,既要从语言的基本理论上进行比较和衡量,但更主要的还是要实际的环境中进行测算,然后更加测算的实际结果来比较各自的真正运行时间,然后从中选择比较合适的语言。我们发现,往往由于实际环境难以预测,因此在实际中会有很多的问题会影响语言代码实际运行的和结果的准确性。打个比方,程序通过CPU的时候,是需要耗费一定的时间,这个程序当遇到级别更优的程序时,就会被抢先而暂时进入了一个待命的状态,然后其他子程序的运行也暂时停下来,各种硬件也暂时中断。而要尽量避免这样的一种影响影响,笔者因为,在当前的电脑操作系统中是比较难做到的,而且也根本没有这个必要,事实上,所选择的语言算法会是运行在各类的环境中的。
那么,只实际的运行中,尤其是语言运行效率测试环节中,我们更重要的还是通过若干次的反复测试,再以多次测试出来的运行时间的平均数来作为语言运行时间的最佳标准。对于不同的语言,其实哪怕是同样的一种计算方法,实际上所获得结果是完全不一样的。因此,为了能够准确的选取最合适的语言,笔者就是在C语言和Java语言两者之间做了试验:首先,先使用C语言编辑一小段程序,然后也同样的使用了Java语言来编辑另一小段程序。接着,就是进行两种语言的运行时间的测试,通过反复的执行空操作的计算方法,并且这两种语言都分别运行100次以上,然后计算平均值,便得到各自的标准差。为了便于了解和认识,下面将对这两种语言的代码进行具体描述。
二、C语言和 Java语言的运行情况
C 语言是一种高级的语言,因为它具备很强的,即使是面对一些低级语言也能通读,我们甚至可以把C语言认为是包括低级语言和高级语言的优点全部汇总在一起的语言,是我们常用的计算机语言。而Java语言,严格上来说是在C语言基础上改进的计算机语言,是一中面向对象语言。
C语言的优点当然就有非常多了:例如简洁的优点、紧凑的优点、方便的优点、灵活的优点,同时,C语言也非常方便初学者的学习和使用,一般来说,初学如果能够掌握好关于指针的使用方法,就能够非常熟练的使用C语言来编写程序,程序的执行效率也会很高。而Java语言娥也有不少的的优点:例如他能够直接面向对象、可移植性强、动态性强等等。
在某种程度上,java语言和C语言是相似的,因此要对这两种语言进行效率的分析,是需要反复的验算,才能知道结果的。
(一) C语言程序的运行情况
首先,我们来看一段C语言程序的运行情况,在程序运行,我们都会通过辅助性的语言来进行分析和讲解。
# include < stdio. h>//从时间戳读取时钟周期数
-int64 result[ 8][ 1000]; 当前执行的程序代码在编辑器中处于高亮状态:调用函数。如果跟踪的话就会进入这个函数内部。若使用普通的跟踪调试功能时经常会遇到许多未知错误,这时使用过滤跟踪就能很好解决这一问题
timeO = My Query Counter( ) ; 为了准备调试,你需要在代码中设置一个断点。它显示了所有调用堆和当前所有线程的状态,包括所有已经执行完毕的线程,程序运行到断点位置时,状态显示为暂停。
(二)Java语言的运行情况
int id; 此时会提示你这种项目是和Java透视图关联的
char name[30]; 第一个字段区域“源文件夹”默认是项目的文件夹
public class Tester对于大多数简单的Java程序而言,你不需要指定启动配置
int i; 有时一个Java程序有许多变量
for(i=0;i
t->next=0; p->next=t; 当表达式中的变量发生变化时,显示的值都不回自动更新。但在表达式视图中,你可以讲表达式转为监视表达式
三、Java语言与C语言代码运行效率的比较
由以上的程序运行,可以测算出来C语言的运行效率是远远高于JAVA原因的,原因有也很多,主要还是由于C语言是编译型的语言,而JAVA语言则是解释型的语言,因此JAVA语言要被翻译二进制的语言代码后,计算机方能辨识并执行。不过呢,C语言和java语言的运行效率的比较,快于慢也不是绝对的,要根据不同的实际和应用,以及选择不同的结果,才能确定选择某一语言程序,一般来说呢,c语言是比Java要快,不过因为c语言运行的过程是进程型的,而Java语言是线程型的,因此如果客户的访问量非常大,那么反而java显得更加的合适,更加有优势。
参考文献:
1、卢晓苗,李从龙,张建明.一例Java语言与C语言代码运行效率的比较. 《现代计算机(专业版)》,2010年01期
2、杜海舟, 王仁峰.Windows编程环境下高精度计时技术的分析比较. 《上海电力学院学报》,2007年01期
3、王永辉,胡守印.用Visual C++.NET实现实时在线监督系统设计与开发——在高温气冷堆上的应用及技术特点分析.《计算机工程与应用》.2004年17期