作家
登录

Python调用C模块以及性能分析

作者: 来源: 2017-07-13 14:05:08 阅读 我要评论

    }; 
  •  
  •     return sum
  •  
  •  
  • int main(){ 
  •  
  •     int i ; 
  •  
  •     for (i=0;i<1000000;i++){ 
  •  
  •     sum(100); 
  •  
  •     } 
  •  
  •     return 0; 
  •  
  •  
  • 测试结不雅的例子:

    • real 1.16
    • user 1.13
    • sys 0.01

    2.经由过程Python调用so文件和python的测试结不雅

    1. def sum_python(num): 
    2.  
    3.     s = 0 
    4.  
    5.     for i in xrange(1,num+1): 
    6.  
    7.         s += i 
    8.  
    9.     return s 
    10.  
    11.   
    12.  
    13.   
    14.  
    15. from ctypes import cdll 
    16.  
    17.   
    18.  
    19. c_lib = cdll.LoadLibrary('./sum.so'
    20.  
    21.   
    22.  
    23.   
    24.  
    25. def sum_c(num): 
    26.  
    27.     return c_lib.sum(num) 
    28.  
    29.   
    30.  
    31.   
    32.  
    33. def test(num): 
    34.  
    35.     import timeit 
    36.  
    37.   
    38.  
    39.     t1 = timeit.Timer('c_lib.sum(%d)' % num, 'from __main__ import c_lib'
    40.  
    41.     t2 = timeit.Timer('sum_python(%d)' % num, 'from __main__ import sum_python'
    42.  
    43.     print 'c', t1.timeit(number=1000000) 
    44.  
    45.     print 'python', t2.timeit(number=1000000) 
    46.  
    47.   
    48.  
    49.   
    50.  
    51. if __name__ == '__main__'
    52.  
    53.     test(100)  

    测试结不雅的例子


    1.   推荐阅读

        爱加密与安百科技深度“联姻” 共同消弭企业“安全孤岛”

      平顺家当涵盖的范畴异常广泛,固然每个细分市场都有“头牌”,但并没有某一家安然巨擘有底气传播鼓>>>详细阅读


      本文标题:Python调用C模块以及性能分析

      地址:http://www.17bianji.com/lsqh/36195.html

    关键词: 探索发现

    乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

    网友点评
    自媒体专栏

    评论

    热度

    精彩导读
    栏目ID=71的表不存在(操作类型=0)