Python:通过执行100万次打印来比较C和Python的性能

Python:通过执行100万次打印来比较C和python的性能,以及用C和python结合来解决性能问题的方法

python作为动态语言,开发效率相当高,但如我们所知,动态语言的执行效率往往是比较低的,请看下面简单的测试过程:

 一、 C语言实现100万次打印:

  代码:

[cpp]
  1. #include<stdio.h>   
  2. #include <time.h>   
  3.   
  4. int main(int argc, char* argv[])  
  5. {  
  6.     unsigned long i = 1;  
  7.     unsigned long ulNum = 1000000;  
  8.   
  9.     clock_t start, finish;  
  10.     double  duration;  
  11.   
  12.     start = clock();  
  13.   
  14.     while (ulNum != 0)  
  15.     {  
  16.         printf("\nThe ulNum is: %u ", i);  
  17.         ulNum--;  
  18.         i++;  
  19.     }  
  20.   
  21.     finish = clock();  
  22.     duration = (double)(finish - start) / CLOCKS_PER_SEC;  
  23.     printf( "\n Use Time: %f seconds\n", duration );  
  24.   
  25.     system("pause");  
  26.   
  27.     return 0;  
  28. }  

测试:

可看出,执行了约489秒。

Python:通过执行100万次打印来比较C和Python的性能

二、python实现100万次打印:

代码:

[python]
  1. #!/usr/bin/env python   
  2. # -*- coding: utf-8 -*-   
  3.   
  4. import time  
  5. import os  
  6.   
  7. time_begin = time.clock()  
  8.   
  9. i = 1  
  10. ulNum = 1000000  
  11. while (ulNum != 0):  
  12.     print "The ulNum is: %u " % i  
  13.     ulNum -= 1   
  14.     i += 1    
  15. print "Use time: %s" % (time.clock() - time_begin)   
  16. os.system("pause")  

测试:

可看出,执行了约675秒。

Python:通过执行100万次打印来比较C和Python的性能

相关推荐