mirror of
https://github.com/python/cpython.git
synced 2025-08-31 14:07:50 +00:00
Merge p3yk branch with the trunk up to revision 45595. This breaks a fair
number of tests, all because of the codecs/_multibytecodecs issue described here (it's not a Py3K issue, just something Py3K discovers): http://mail.python.org/pipermail/python-dev/2006-April/064051.html Hye-Shik Chang promised to look for a fix, so no need to fix it here. The tests that are expected to break are: test_codecencodings_cn test_codecencodings_hk test_codecencodings_jp test_codecencodings_kr test_codecencodings_tw test_codecs test_multibytecodec This merge fixes an actual test failure (test_weakref) in this branch, though, so I believe merging is the right thing to do anyway.
This commit is contained in:
parent
9ada3d6e29
commit
49fd7fa443
640 changed files with 52240 additions and 18408 deletions
410
Tools/pybench/Calls.py
Normal file
410
Tools/pybench/Calls.py
Normal file
|
@ -0,0 +1,410 @@
|
|||
from pybench import Test
|
||||
|
||||
class PythonFunctionCalls(Test):
|
||||
|
||||
version = 0.3
|
||||
operations = 5*(1+4+4+2)
|
||||
rounds = 60000
|
||||
|
||||
def test(self):
|
||||
|
||||
global f,f1,g,h
|
||||
|
||||
# define functions
|
||||
def f():
|
||||
pass
|
||||
|
||||
def f1(x):
|
||||
pass
|
||||
|
||||
def g(a,b,c):
|
||||
return a,b,c
|
||||
|
||||
def h(a,b,c,d=1,e=2,f=3):
|
||||
return d,e,f
|
||||
|
||||
# do calls
|
||||
for i in xrange(self.rounds):
|
||||
|
||||
f()
|
||||
f1(i)
|
||||
f1(i)
|
||||
f1(i)
|
||||
f1(i)
|
||||
g(i,i,i)
|
||||
g(i,i,i)
|
||||
g(i,i,i)
|
||||
g(i,i,i)
|
||||
h(i,i,3,i,i)
|
||||
h(i,i,i,2,i,3)
|
||||
|
||||
f()
|
||||
f1(i)
|
||||
f1(i)
|
||||
f1(i)
|
||||
f1(i)
|
||||
g(i,i,i)
|
||||
g(i,i,i)
|
||||
g(i,i,i)
|
||||
g(i,i,i)
|
||||
h(i,i,3,i,i)
|
||||
h(i,i,i,2,i,3)
|
||||
|
||||
f()
|
||||
f1(i)
|
||||
f1(i)
|
||||
f1(i)
|
||||
f1(i)
|
||||
g(i,i,i)
|
||||
g(i,i,i)
|
||||
g(i,i,i)
|
||||
g(i,i,i)
|
||||
h(i,i,3,i,i)
|
||||
h(i,i,i,2,i,3)
|
||||
|
||||
f()
|
||||
f1(i)
|
||||
f1(i)
|
||||
f1(i)
|
||||
f1(i)
|
||||
g(i,i,i)
|
||||
g(i,i,i)
|
||||
g(i,i,i)
|
||||
g(i,i,i)
|
||||
h(i,i,3,i,i)
|
||||
h(i,i,i,2,i,3)
|
||||
|
||||
f()
|
||||
f1(i)
|
||||
f1(i)
|
||||
f1(i)
|
||||
f1(i)
|
||||
g(i,i,i)
|
||||
g(i,i,i)
|
||||
g(i,i,i)
|
||||
g(i,i,i)
|
||||
h(i,i,3,i,i)
|
||||
h(i,i,i,2,i,3)
|
||||
|
||||
def calibrate(self):
|
||||
|
||||
global f,f1,g,h
|
||||
|
||||
# define functions
|
||||
def f():
|
||||
pass
|
||||
|
||||
def f1(x):
|
||||
pass
|
||||
|
||||
def g(a,b,c):
|
||||
return a,b,c
|
||||
|
||||
def h(a,b,c,d=1,e=2,f=3):
|
||||
return d,e,f
|
||||
|
||||
# do calls
|
||||
for i in xrange(self.rounds):
|
||||
pass
|
||||
|
||||
###
|
||||
|
||||
class BuiltinFunctionCalls(Test):
|
||||
|
||||
version = 0.4
|
||||
operations = 5*(2+5+5+5)
|
||||
rounds = 30000
|
||||
|
||||
def test(self):
|
||||
|
||||
# localize functions
|
||||
f0 = globals
|
||||
f1 = hash
|
||||
f2 = cmp
|
||||
f3 = range
|
||||
|
||||
# do calls
|
||||
for i in xrange(self.rounds):
|
||||
|
||||
f0()
|
||||
f0()
|
||||
f1(i)
|
||||
f1(i)
|
||||
f1(i)
|
||||
f1(i)
|
||||
f1(i)
|
||||
f2(1,2)
|
||||
f2(1,2)
|
||||
f2(1,2)
|
||||
f2(1,2)
|
||||
f2(1,2)
|
||||
f3(1,3,2)
|
||||
f3(1,3,2)
|
||||
f3(1,3,2)
|
||||
f3(1,3,2)
|
||||
f3(1,3,2)
|
||||
|
||||
f0()
|
||||
f0()
|
||||
f1(i)
|
||||
f1(i)
|
||||
f1(i)
|
||||
f1(i)
|
||||
f1(i)
|
||||
f2(1,2)
|
||||
f2(1,2)
|
||||
f2(1,2)
|
||||
f2(1,2)
|
||||
f2(1,2)
|
||||
f3(1,3,2)
|
||||
f3(1,3,2)
|
||||
f3(1,3,2)
|
||||
f3(1,3,2)
|
||||
f3(1,3,2)
|
||||
|
||||
f0()
|
||||
f0()
|
||||
f1(i)
|
||||
f1(i)
|
||||
f1(i)
|
||||
f1(i)
|
||||
f1(i)
|
||||
f2(1,2)
|
||||
f2(1,2)
|
||||
f2(1,2)
|
||||
f2(1,2)
|
||||
f2(1,2)
|
||||
f3(1,3,2)
|
||||
f3(1,3,2)
|
||||
f3(1,3,2)
|
||||
f3(1,3,2)
|
||||
f3(1,3,2)
|
||||
|
||||
f0()
|
||||
f0()
|
||||
f1(i)
|
||||
f1(i)
|
||||
f1(i)
|
||||
f1(i)
|
||||
f1(i)
|
||||
f2(1,2)
|
||||
f2(1,2)
|
||||
f2(1,2)
|
||||
f2(1,2)
|
||||
f2(1,2)
|
||||
f3(1,3,2)
|
||||
f3(1,3,2)
|
||||
f3(1,3,2)
|
||||
f3(1,3,2)
|
||||
f3(1,3,2)
|
||||
|
||||
f0()
|
||||
f0()
|
||||
f1(i)
|
||||
f1(i)
|
||||
f1(i)
|
||||
f1(i)
|
||||
f1(i)
|
||||
f2(1,2)
|
||||
f2(1,2)
|
||||
f2(1,2)
|
||||
f2(1,2)
|
||||
f2(1,2)
|
||||
f3(1,3,2)
|
||||
f3(1,3,2)
|
||||
f3(1,3,2)
|
||||
f3(1,3,2)
|
||||
f3(1,3,2)
|
||||
|
||||
def calibrate(self):
|
||||
|
||||
# localize functions
|
||||
f0 = dir
|
||||
f1 = hash
|
||||
f2 = range
|
||||
f3 = range
|
||||
|
||||
# do calls
|
||||
for i in xrange(self.rounds):
|
||||
pass
|
||||
|
||||
###
|
||||
|
||||
class PythonMethodCalls(Test):
|
||||
|
||||
version = 0.3
|
||||
operations = 5*(6 + 5 + 4)
|
||||
rounds = 20000
|
||||
|
||||
def test(self):
|
||||
|
||||
class c:
|
||||
|
||||
x = 2
|
||||
s = 'string'
|
||||
|
||||
def f(self):
|
||||
|
||||
return self.x
|
||||
|
||||
def j(self,a,b):
|
||||
|
||||
self.y = a
|
||||
self.t = b
|
||||
return self.y
|
||||
|
||||
def k(self,a,b,c=3):
|
||||
|
||||
self.y = a
|
||||
self.s = b
|
||||
self.t = c
|
||||
|
||||
o = c()
|
||||
|
||||
for i in xrange(self.rounds):
|
||||
|
||||
o.f()
|
||||
o.f()
|
||||
o.f()
|
||||
o.f()
|
||||
o.f()
|
||||
o.f()
|
||||
o.j(i,i)
|
||||
o.j(i,i)
|
||||
o.j(i,2)
|
||||
o.j(i,2)
|
||||
o.j(2,2)
|
||||
o.k(i,i)
|
||||
o.k(i,2)
|
||||
o.k(i,2,3)
|
||||
o.k(i,i,c=4)
|
||||
|
||||
o.f()
|
||||
o.f()
|
||||
o.f()
|
||||
o.f()
|
||||
o.f()
|
||||
o.f()
|
||||
o.j(i,i)
|
||||
o.j(i,i)
|
||||
o.j(i,2)
|
||||
o.j(i,2)
|
||||
o.j(2,2)
|
||||
o.k(i,i)
|
||||
o.k(i,2)
|
||||
o.k(i,2,3)
|
||||
o.k(i,i,c=4)
|
||||
|
||||
o.f()
|
||||
o.f()
|
||||
o.f()
|
||||
o.f()
|
||||
o.f()
|
||||
o.f()
|
||||
o.j(i,i)
|
||||
o.j(i,i)
|
||||
o.j(i,2)
|
||||
o.j(i,2)
|
||||
o.j(2,2)
|
||||
o.k(i,i)
|
||||
o.k(i,2)
|
||||
o.k(i,2,3)
|
||||
o.k(i,i,c=4)
|
||||
|
||||
o.f()
|
||||
o.f()
|
||||
o.f()
|
||||
o.f()
|
||||
o.f()
|
||||
o.f()
|
||||
o.j(i,i)
|
||||
o.j(i,i)
|
||||
o.j(i,2)
|
||||
o.j(i,2)
|
||||
o.j(2,2)
|
||||
o.k(i,i)
|
||||
o.k(i,2)
|
||||
o.k(i,2,3)
|
||||
o.k(i,i,c=4)
|
||||
|
||||
o.f()
|
||||
o.f()
|
||||
o.f()
|
||||
o.f()
|
||||
o.f()
|
||||
o.f()
|
||||
o.j(i,i)
|
||||
o.j(i,i)
|
||||
o.j(i,2)
|
||||
o.j(i,2)
|
||||
o.j(2,2)
|
||||
o.k(i,i)
|
||||
o.k(i,2)
|
||||
o.k(i,2,3)
|
||||
o.k(i,i,c=4)
|
||||
|
||||
def calibrate(self):
|
||||
|
||||
class c:
|
||||
|
||||
x = 2
|
||||
s = 'string'
|
||||
|
||||
def f(self):
|
||||
|
||||
return self.x
|
||||
|
||||
def j(self,a,b):
|
||||
|
||||
self.y = a
|
||||
self.t = b
|
||||
|
||||
def k(self,a,b,c=3):
|
||||
|
||||
self.y = a
|
||||
self.s = b
|
||||
self.t = c
|
||||
|
||||
o = c
|
||||
|
||||
for i in xrange(self.rounds):
|
||||
pass
|
||||
|
||||
###
|
||||
|
||||
class Recursion(Test):
|
||||
|
||||
version = 0.3
|
||||
operations = 5
|
||||
rounds = 50000
|
||||
|
||||
def test(self):
|
||||
|
||||
global f
|
||||
|
||||
def f(x):
|
||||
|
||||
if x > 1:
|
||||
return f(x-1)
|
||||
return 1
|
||||
|
||||
for i in xrange(self.rounds):
|
||||
f(10)
|
||||
f(10)
|
||||
f(10)
|
||||
f(10)
|
||||
f(10)
|
||||
|
||||
def calibrate(self):
|
||||
|
||||
global f
|
||||
|
||||
def f(x):
|
||||
|
||||
if x > 0:
|
||||
return f(x-1)
|
||||
return 1
|
||||
|
||||
for i in xrange(self.rounds):
|
||||
pass
|
||||
|
Loading…
Add table
Add a link
Reference in a new issue