pypy python jit 测试 基于twisted web 服务

  1. #coding:utf-8 
  2. ''''' 
  3. the following line in setup.py (73): 
  4. 下载 twisted 源代码 
  5.  
  6. 打开setup.py 
  7. 注释掉: 
  8.     conditionalExtensions = getExtensions(), 
  9. ======================= 
  10.  
  11. ../../pypy build 
  12. ../../pypy install 
  13.  
  14. ./pypy simpleweb.py 8082 
  15. python simpleweb.py 8080 
  16. ''' 
  17. import sys 
  18. from twisted.web import server, resource 
  19. from twisted.internet import reactor 
  20.  
  21. class Simple(resource.Resource): 
  22.     isLeaf = True 
  23.     def render_GET(self, request): 
  24.         return "<html>Hello, world!</html>" 
  25.  
  26. site = server.Site(Simple()) 
  27.  
  28. reactor.listenTCP(int(sys.argv[1]), site) 
  29. reactor.run() 
  30.  
  31. ''''' 
  32. ab -n 10000 -c 10 http://127.0.0.1:8080/ 
  33.  
  34. cpython2.6 
  35. Requests per second:    1663.20 [#/sec] (mean) 
  36. Time per request:       6.013 [ms] (mean) 
  37. Time per request:       0.601 [ms] (mean, across all concurrent requests) 
  38.  
  39. Requests per second:    1813.54 [#/sec] (mean) 
  40. Time per request:       5.514 [ms] (mean) 
  41. Time per request:       0.551 [ms] (mean, across all concurrent requests) 
  42.  
  43. Requests per second:    1777.22 [#/sec] (mean) 
  44. Time per request:       5.627 [ms] (mean) 
  45. Time per request:       0.563 [ms] (mean, across all concurrent requests) 
  46.  
  47.  
  48. pypy 2.7 加速器运行效果 
  49.  
  50. ab -n 10000 -c 10 http://127.0.0.1:8082/ 
  51.  
  52. Requests per second:    1056.80 [#/sec] (mean) 
  53. Time per request:       9.463 [ms] (mean) 
  54. Time per request:       0.946 [ms] (mean, across all concurrent requests) 
  55.  
  56. Requests per second:    2420.05 [#/sec] (mean) 
  57. Time per request:       4.132 [ms] (mean) 
  58. Time per request:       0.413 [ms] (mean, across all concurrent requests) 
  59.  
  60. Requests per second:    3130.71 [#/sec] (mean) 
  61. Time per request:       3.194 [ms] (mean) 
  62. Time per request:       0.319 [ms] (mean, across all concurrent requests) 
  63.  
  64. 稳定在: 
  65. Requests per second:    3041.53 [#/sec] (mean) 
  66. Time per request:       3.288 [ms] (mean) 
  67. Time per request:       0.329 [ms] (mean, across all concurrent requests) 
  68.  
  69.  
  70. ab -n 10000 -c 30 http://127.0.0.1:8082/ 
  71.  
  72. Requests per second:    4094.08 [#/sec] (mean) 
  73. Time per request:       7.328 [ms] (mean) 
  74. Time per request:       0.244 [ms] (mean, across all concurrent requests) 
  75.  
  76. Requests per second:    4257.31 [#/sec] (mean) 
  77. Time per request:       7.047 [ms] (mean) 
  78. Time per request:       0.235 [ms] (mean, across all concurrent requests) 
  79.  
  80.  
  81. 相比nginx 纯静态页面 
  82. ab -n 10000 -c 30 'http://127.0.0.1/t2.html' 
  83.  
  84. Requests per second:    14106.12 [#/sec] (mean) 
  85. Time per request:       2.127 [ms] (mean) 
  86. Time per request:       0.071 [ms] (mean, across all concurrent requests) 
  87.  
  88. 对比 echo "hello" 的php 
  89.  
  90. ab -n 10000 -c 30 'http://127.0.0.1/t.php' 
  91. 平均 
  92. Requests per second:    2887.00 [#/sec] (mean) 
  93. Time per request:       10.391 [ms] (mean) 
  94. Time per request:       0.346 [ms] (mean, across all concurrent requests) 
  95.  
  96. Requests per second:    2799.78 [#/sec] (mean) 
  97. Time per request:       3.572 [ms] (mean) 
  98. Time per request:       0.357 [ms] (mean, across all concurrent requests) 
  99.  
  100. python jit 的确效果不错 
  101. 更多的效果对比参加: 
  102. http://speed.pypy.org
  103.  
  104. '''