Python运行效率优于C语言的功能简介


C语言和Python运行效率你在实际应用的过程中前者与后者你更喜欢应用那个?本文要介绍的是C语言与Python运行效率对比,突出前后者的不同以及在相关应用过程中的相关功能的介绍。以下是内容介绍。

Python是个非常流行的解释型脚本语言。C是一个非常流行的编译语言。由于其编译的性质,导致C一般比Python要快,但是它是更底层的。相对的,Python编程更加快速和简单。译者注:在目前最权威的TIOBE编程语言排行榜上,Python运行效率和C语言分处榜上第6和第2的高位,在脚本语言和编译语言中分别坐着第二把交椅第一把交椅分别是PHP和Java)。

问题在于,Python程序在没有输入的情况下)运行时所额外花费的时间相对C而言是否更加划算,以及运行时所用的时间是否比编程时间更加重要。
系统程序

我决定建立一个简单的程序,该程序可以处理以下公式的计算:

  1. { x + y = 14 
  2. { x^2 + y^2 = 100 

我很快用Python写了一遍,找到了答案。然后,我将其翻译成C语言。我知道,在C语言中的同一程序会花费比Python运行效率更多一些的代码,但是这并非是我所注意的问题。在继续之前,让我们看看代码:

  1. Python:  
  2. x = 1 
  3. while x <= 14:  
  4. y = 14 - x  
  5. print str(x) + "|" + str(y)  
  6. if x**2 + y**2 == 100:  
  7. print "match"  
  8. xx = x + 1  
  9. C:  
  10. #include (<)stdio.h(>)  
  11. int main()  
  12. {  
  13. int x, y, t;  
  14. for (x = 1; x <= 14; x++) {  
  15. y = 14 - x;  
  16. printf("%d|%d\n", x, y);  
  17. if ((x*x) + (y*y) == 100)  
  18. printf("match\n");  
  19. }  
  20. return 0;  
  21. }  
  22.  

我总是听说C语言永远是最快的语言之一。在命令端口运行这两个程序,我并没看出这两个的运行速度有任何差别。所以我打开Ubuntu的命令端口,并输入如下代码:

  1. time ./a.out 

time指令,紧跟着可以脱离time指令而单独运行的普通指令,运行指令并计时——很明显,这里的测试对象是C程序。)我得到0.001秒real time真实用时),而user time用户用时)和system time系统用时)都是0。接下来是Python运行效率:

  1. time python system.py 

结果有些吓人:0.017秒real time,0.012秒user time,0.004秒system time。当然了,real time的差别毕竟只有16毫秒,不过在长时间运行大量运算的大系统下这个差别就很明显了。
百万程序

我决定将这个设想付诸现实。我写了另一个程序,这个程序将0到1000000之间的所有整数,包括0,依次print输出。当然这和我之前提到的大量运算的情况还是不同的,不过还是给了计算机比较多一些需要print的内容。

相关内容

    暂无相关文章

评论关闭