mirror of
				https://github.com/python-pillow/Pillow.git
				synced 2025-11-04 09:57:43 +03:00 
			
		
		
		
	This is Christoph Gohlke's test suite from his personal PIL package found at http://www.lfd.uci.edu/~gohlke/pythonlibs/. This is just to bring it in as a separate commit. Future commits will align it with Pillow.
		
			
				
	
	
		
			57 lines
		
	
	
		
			986 B
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			57 lines
		
	
	
		
			986 B
		
	
	
	
		
			Python
		
	
	
	
	
	
from PIL import Image
 | 
						|
 | 
						|
import sys, time
 | 
						|
import io
 | 
						|
import threading, queue
 | 
						|
 | 
						|
try:
 | 
						|
    format = sys.argv[1]
 | 
						|
except:
 | 
						|
    format = "PNG"
 | 
						|
 | 
						|
im = Image.open("Images/lena.ppm")
 | 
						|
im.load()
 | 
						|
 | 
						|
queue = queue.Queue()
 | 
						|
 | 
						|
result = []
 | 
						|
 | 
						|
class Worker(threading.Thread):
 | 
						|
    def run(self):
 | 
						|
        while 1:
 | 
						|
            im = queue.get()
 | 
						|
            if im is None:
 | 
						|
                queue.task_done()
 | 
						|
                sys.stdout.write("x")
 | 
						|
                break
 | 
						|
            f = io.BytesIO()
 | 
						|
            im.save(f, format, optimize=1)
 | 
						|
            data = f.getvalue()
 | 
						|
            result.append(len(data))
 | 
						|
            im = Image.open(io.BytesIO(data))
 | 
						|
            im.load()
 | 
						|
            sys.stdout.write(".")
 | 
						|
            queue.task_done()
 | 
						|
 | 
						|
t0 = time.time()
 | 
						|
 | 
						|
threads = 20
 | 
						|
jobs = 100
 | 
						|
 | 
						|
for i in range(threads):
 | 
						|
    w = Worker()
 | 
						|
    w.start()
 | 
						|
 | 
						|
for i in range(jobs):
 | 
						|
    queue.put(im)
 | 
						|
 | 
						|
for i in range(threads):
 | 
						|
    queue.put(None)
 | 
						|
 | 
						|
queue.join()
 | 
						|
 | 
						|
print()
 | 
						|
print(time.time() - t0)
 | 
						|
print(len(result), sum(result))
 | 
						|
print(result)
 |