mirror of https://github.com/swig/swig
43 lines
1003 B
Python
43 lines
1003 B
Python
#run:
|
|
# python python_pybuf_runme3.py benchmark
|
|
#for the benchmark, other wise the test case will be run
|
|
import python_pybuf
|
|
import sys
|
|
if len(sys.argv)>=2 and sys.argv[1]=="benchmark":
|
|
#run the benchmark
|
|
import time
|
|
k=1000000 #number of times to excute the functions
|
|
|
|
t=time.time()
|
|
a = bytearray(b'hello world')
|
|
for i in range(k):
|
|
pybuf.title1(a)
|
|
print("Time used by bytearray:",time.time()-t)
|
|
|
|
t=time.time()
|
|
b = 'hello world'
|
|
for i in range(k):
|
|
pybuf.title2(b)
|
|
print("Time used by string:",time.time()-t)
|
|
else:
|
|
#run the test case
|
|
buf1 = bytearray(10)
|
|
buf2 = bytearray(50)
|
|
|
|
pybuf.func1(buf1)
|
|
assert buf1 == b'a'*10
|
|
|
|
pybuf.func2(buf2)
|
|
assert buf2.startswith(b"Hello world!\x00")
|
|
|
|
count = pybuf.func3(buf2)
|
|
assert count==10 #number of alpha and number in 'Hello world!'
|
|
|
|
length = pybuf.func4(buf2)
|
|
assert length==12
|
|
|
|
buf3 = bytearray(b"hello")
|
|
pybuf.title1(buf3)
|
|
assert buf3==b'Hello'
|
|
|