mirror of
https://github.com/python-pillow/Pillow.git
synced 2024-11-10 19:56:47 +03:00
basic benchmark shows ~order of magnitude speedup
This commit is contained in:
parent
5efe737f6f
commit
bb20f6ca83
43
Tests/bench_cffi_access.py
Normal file
43
Tests/bench_cffi_access.py
Normal file
|
@ -0,0 +1,43 @@
|
|||
from tester import *
|
||||
|
||||
# not running this test by default. No DOS against travis.
|
||||
|
||||
from PIL import PyAccess
|
||||
|
||||
import time
|
||||
|
||||
def iterate_get(size, access):
|
||||
(w,h) = size
|
||||
for x in range(w):
|
||||
for y in range(h):
|
||||
access[(x,y)]
|
||||
|
||||
def iterate_set(size, access):
|
||||
(w,h) = size
|
||||
for x in range(w):
|
||||
for y in range(h):
|
||||
access[(x,y)] = access[(x,y)]
|
||||
|
||||
def timer(func, label, *args):
|
||||
starttime = time.time()
|
||||
func(*args)
|
||||
endtime = time.time()
|
||||
print ("%s: %.4f s" %(label, endtime-starttime))
|
||||
|
||||
def test_direct():
|
||||
im = lena()
|
||||
im.load()
|
||||
caccess = im.im.pixel_access(False)
|
||||
access = PyAccess.new(im, False)
|
||||
|
||||
assert_equal(caccess[(0,0)], access[(0,0)])
|
||||
|
||||
print ("Size: %sx%s" % im.size)
|
||||
timer(iterate_get, 'PyAccess - get', im.size, access)
|
||||
timer(iterate_set, 'PyAccess - set', im.size, access)
|
||||
timer(iterate_get, 'C-api - get', im.size, caccess)
|
||||
timer(iterate_set, 'C-api - set', im.size, caccess)
|
||||
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user