/Tools/pybench/Tuples.py

http://unladen-swallow.googlecode.com/ · Python · 360 lines · 295 code · 65 blank · 0 comment · 6 complexity · d37fa3378e9040751cd38523fd827d69 MD5 · raw file

  1. from pybench import Test
  2. class TupleSlicing(Test):
  3. version = 2.0
  4. operations = 3 * 25 * 10 * 7
  5. rounds = 500
  6. def test(self):
  7. r = range(25)
  8. t = tuple(range(100))
  9. for i in xrange(self.rounds):
  10. for j in r:
  11. m = t[50:]
  12. m = t[:25]
  13. m = t[50:55]
  14. m = t[:-1]
  15. m = t[1:]
  16. m = t[-10:]
  17. m = t[:10]
  18. m = t[50:]
  19. m = t[:25]
  20. m = t[50:55]
  21. m = t[:-1]
  22. m = t[1:]
  23. m = t[-10:]
  24. m = t[:10]
  25. m = t[50:]
  26. m = t[:25]
  27. m = t[50:55]
  28. m = t[:-1]
  29. m = t[1:]
  30. m = t[-10:]
  31. m = t[:10]
  32. m = t[50:]
  33. m = t[:25]
  34. m = t[50:55]
  35. m = t[:-1]
  36. m = t[1:]
  37. m = t[-10:]
  38. m = t[:10]
  39. m = t[50:]
  40. m = t[:25]
  41. m = t[50:55]
  42. m = t[:-1]
  43. m = t[1:]
  44. m = t[-10:]
  45. m = t[:10]
  46. m = t[50:]
  47. m = t[:25]
  48. m = t[50:55]
  49. m = t[:-1]
  50. m = t[1:]
  51. m = t[-10:]
  52. m = t[:10]
  53. m = t[50:]
  54. m = t[:25]
  55. m = t[50:55]
  56. m = t[:-1]
  57. m = t[1:]
  58. m = t[-10:]
  59. m = t[:10]
  60. m = t[50:]
  61. m = t[:25]
  62. m = t[50:55]
  63. m = t[:-1]
  64. m = t[1:]
  65. m = t[-10:]
  66. m = t[:10]
  67. m = t[50:]
  68. m = t[:25]
  69. m = t[50:55]
  70. m = t[:-1]
  71. m = t[1:]
  72. m = t[-10:]
  73. m = t[:10]
  74. m = t[50:]
  75. m = t[:25]
  76. m = t[50:55]
  77. m = t[:-1]
  78. m = t[1:]
  79. m = t[-10:]
  80. m = t[:10]
  81. m = t[50:]
  82. m = t[:25]
  83. m = t[50:55]
  84. m = t[:-1]
  85. m = t[1:]
  86. m = t[-10:]
  87. m = t[:10]
  88. m = t[50:]
  89. m = t[:25]
  90. m = t[50:55]
  91. m = t[:-1]
  92. m = t[1:]
  93. m = t[-10:]
  94. m = t[:10]
  95. m = t[50:]
  96. m = t[:25]
  97. m = t[50:55]
  98. m = t[:-1]
  99. m = t[1:]
  100. m = t[-10:]
  101. m = t[:10]
  102. m = t[50:]
  103. m = t[:25]
  104. m = t[50:55]
  105. m = t[:-1]
  106. m = t[1:]
  107. m = t[-10:]
  108. m = t[:10]
  109. m = t[50:]
  110. m = t[:25]
  111. m = t[50:55]
  112. m = t[:-1]
  113. m = t[1:]
  114. m = t[-10:]
  115. m = t[:10]
  116. m = t[50:]
  117. m = t[:25]
  118. m = t[50:55]
  119. m = t[:-1]
  120. m = t[1:]
  121. m = t[-10:]
  122. m = t[:10]
  123. m = t[50:]
  124. m = t[:25]
  125. m = t[50:55]
  126. m = t[:-1]
  127. m = t[1:]
  128. m = t[-10:]
  129. m = t[:10]
  130. m = t[50:]
  131. m = t[:25]
  132. m = t[50:55]
  133. m = t[:-1]
  134. m = t[1:]
  135. m = t[-10:]
  136. m = t[:10]
  137. m = t[50:]
  138. m = t[:25]
  139. m = t[50:55]
  140. m = t[:-1]
  141. m = t[1:]
  142. m = t[-10:]
  143. m = t[:10]
  144. m = t[50:]
  145. m = t[:25]
  146. m = t[50:55]
  147. m = t[:-1]
  148. m = t[1:]
  149. m = t[-10:]
  150. m = t[:10]
  151. m = t[50:]
  152. m = t[:25]
  153. m = t[50:55]
  154. m = t[:-1]
  155. m = t[1:]
  156. m = t[-10:]
  157. m = t[:10]
  158. m = t[50:]
  159. m = t[:25]
  160. m = t[50:55]
  161. m = t[:-1]
  162. m = t[1:]
  163. m = t[-10:]
  164. m = t[:10]
  165. m = t[50:]
  166. m = t[:25]
  167. m = t[50:55]
  168. m = t[:-1]
  169. m = t[1:]
  170. m = t[-10:]
  171. m = t[:10]
  172. m = t[50:]
  173. m = t[:25]
  174. m = t[50:55]
  175. m = t[:-1]
  176. m = t[1:]
  177. m = t[-10:]
  178. m = t[:10]
  179. m = t[50:]
  180. m = t[:25]
  181. m = t[50:55]
  182. m = t[:-1]
  183. m = t[1:]
  184. m = t[-10:]
  185. m = t[:10]
  186. m = t[50:]
  187. m = t[:25]
  188. m = t[50:55]
  189. m = t[:-1]
  190. m = t[1:]
  191. m = t[-10:]
  192. m = t[:10]
  193. m = t[50:]
  194. m = t[:25]
  195. m = t[50:55]
  196. m = t[:-1]
  197. m = t[1:]
  198. m = t[-10:]
  199. m = t[:10]
  200. m = t[50:]
  201. m = t[:25]
  202. m = t[50:55]
  203. m = t[:-1]
  204. m = t[1:]
  205. m = t[-10:]
  206. m = t[:10]
  207. m = t[50:]
  208. m = t[:25]
  209. m = t[50:55]
  210. m = t[:-1]
  211. m = t[1:]
  212. m = t[-10:]
  213. m = t[:10]
  214. m = t[50:]
  215. m = t[:25]
  216. m = t[50:55]
  217. m = t[:-1]
  218. m = t[1:]
  219. m = t[-10:]
  220. m = t[:10]
  221. def calibrate(self):
  222. r = range(25)
  223. t = tuple(range(100))
  224. for i in xrange(self.rounds):
  225. for j in r:
  226. pass
  227. class SmallTuples(Test):
  228. version = 2.0
  229. operations = 5*(1 + 3 + 6 + 2)
  230. rounds = 90000
  231. def test(self):
  232. for i in xrange(self.rounds):
  233. t = (1,2,3,4,5,6)
  234. a,b,c,d,e,f = t
  235. a,b,c,d,e,f = t
  236. a,b,c,d,e,f = t
  237. a,b,c = t[:3]
  238. a,b,c = t[:3]
  239. a,b,c = t[:3]
  240. a,b,c = t[:3]
  241. a,b,c = t[:3]
  242. a,b,c = t[:3]
  243. l = list(t)
  244. t = tuple(l)
  245. t = (1,2,3,4,5,6)
  246. a,b,c,d,e,f = t
  247. a,b,c,d,e,f = t
  248. a,b,c,d,e,f = t
  249. a,b,c = t[:3]
  250. a,b,c = t[:3]
  251. a,b,c = t[:3]
  252. a,b,c = t[:3]
  253. a,b,c = t[:3]
  254. a,b,c = t[:3]
  255. l = list(t)
  256. t = tuple(l)
  257. t = (1,2,3,4,5,6)
  258. a,b,c,d,e,f = t
  259. a,b,c,d,e,f = t
  260. a,b,c,d,e,f = t
  261. a,b,c = t[:3]
  262. a,b,c = t[:3]
  263. a,b,c = t[:3]
  264. a,b,c = t[:3]
  265. a,b,c = t[:3]
  266. a,b,c = t[:3]
  267. l = list(t)
  268. t = tuple(l)
  269. t = (1,2,3,4,5,6)
  270. a,b,c,d,e,f = t
  271. a,b,c,d,e,f = t
  272. a,b,c,d,e,f = t
  273. a,b,c = t[:3]
  274. a,b,c = t[:3]
  275. a,b,c = t[:3]
  276. a,b,c = t[:3]
  277. a,b,c = t[:3]
  278. a,b,c = t[:3]
  279. l = list(t)
  280. t = tuple(l)
  281. t = (1,2,3,4,5,6)
  282. a,b,c,d,e,f = t
  283. a,b,c,d,e,f = t
  284. a,b,c,d,e,f = t
  285. a,b,c = t[:3]
  286. a,b,c = t[:3]
  287. a,b,c = t[:3]
  288. a,b,c = t[:3]
  289. a,b,c = t[:3]
  290. a,b,c = t[:3]
  291. l = list(t)
  292. t = tuple(l)
  293. def calibrate(self):
  294. for i in xrange(self.rounds):
  295. pass