/Tools/pybench/NewInstances.py

http://unladen-swallow.googlecode.com/ · Python · 75 lines · 59 code · 14 blank · 2 comment · 4 complexity · d6dcbc9352b21074e988d14593f6125b MD5 · raw file

  1. from pybench import Test
  2. # Check for new-style class support:
  3. try:
  4. class c(object):
  5. pass
  6. except NameError:
  7. raise ImportError
  8. ###
  9. class CreateNewInstances(Test):
  10. version = 2.0
  11. operations = 3 + 7 + 4
  12. rounds = 60000
  13. def test(self):
  14. class c(object):
  15. pass
  16. class d(object):
  17. def __init__(self,a,b,c):
  18. self.a = a
  19. self.b = b
  20. self.c = c
  21. class e(object):
  22. def __init__(self,a,b,c=4):
  23. self.a = a
  24. self.b = b
  25. self.c = c
  26. self.d = a
  27. self.e = b
  28. self.f = c
  29. for i in xrange(self.rounds):
  30. o = c()
  31. o1 = c()
  32. o2 = c()
  33. p = d(i,i,3)
  34. p1 = d(i,i,3)
  35. p2 = d(i,3,3)
  36. p3 = d(3,i,3)
  37. p4 = d(i,i,i)
  38. p5 = d(3,i,3)
  39. p6 = d(i,i,i)
  40. q = e(i,i,3)
  41. q1 = e(i,i,3)
  42. q2 = e(i,i,3)
  43. q3 = e(i,i)
  44. def calibrate(self):
  45. class c(object):
  46. pass
  47. class d(object):
  48. def __init__(self,a,b,c):
  49. self.a = a
  50. self.b = b
  51. self.c = c
  52. class e(object):
  53. def __init__(self,a,b,c=4):
  54. self.a = a
  55. self.b = b
  56. self.c = c
  57. self.d = a
  58. self.e = b
  59. self.f = c
  60. for i in xrange(self.rounds):
  61. pass