Is there a better place to post this question? Sorry if this isn't the right venue.
Am I doing something wrong -- is there a way to make the following pygame program run faster? It runs in 10.5 seconds, whereas an equivalent program invoking SDL2 from Julia runs in 3.0 seconds (I'm happy to post the Julia code as well.) (I'm using pygame 1.9.4 via Anaconda in Windows 10 on a Lenovo Thinkpad T470p.) Could it be simply because Julia is compiled and Python is interpreted, or perhaps that SDL2 is faster than SDL1? import pygame import timeit widthcell=5 # pixels ncellswide=100 size = ncellswide*widthcell pygame.init() display = pygame.display.set_mode((size,size), pygame.HWSURFACE|pygame.DOUBLEBUF) def run(): color1=(105,105,0); color2=(0,0,150) for i in range(500): for row in range(ncellswide): for col in range(ncellswide): pygame.draw.rect(display, color1, [row*widthcell, col*widthcell, widthcell-1, widthcell-1]) pygame.display.update() color1,color2=color2,color1 total_time = timeit.timeit('run()', 'from __main__ import run', number=1) print(total_time," seconds") pygame.quit()