Při jednoduchém testu, jak časově náročné je generování dlouhých sekvencí pohybových příkazů (typických pro generování fraktálů, což je oblast použití, která mě zajímá) jsem obdržel výsledky, které mě (nemile) překvapily:
from turtle import * import time def stopky(label,funkce): Tstart=time.clock(); rtn = funkce() Tfinish=time.clock() print label % (Tfinish-Tstart) return rtn def LF_repeat(pocet): for i in xrange(pocet): left(90) forward(8) F = lambda x: lambda: LF_repeat(x) for level in range(6): pocet = 256 << level reset(); speed("fastest"); tracer(0); stopky("Vykresleno: %4s useku za %%6.2f s" % pocet,F(pocet)) Vykresleno: 256 useku za 0.27 s Vykresleno: 512 useku za 1.03 s Vykresleno: 1024 useku za 3.97 s Vykresleno: 2048 useku za 15.75 s Vykresleno: 4096 useku za 61.73 s Vykresleno: 8192 useku za 242.27 s Jak vidno, při zdvojnásobení počtu příkazů se doba prodlouží čtyřnásobně Není mi jasné proč tomu tak je... Pokud víte o nějaké py knihovně s rychlými primitivy (drawPoint, drawLine) byl bych rád Dále: Připadá mi, že ve funkci setup je chyba: def setup(**geometry): """ Sets the size and position of the main window. Examples: >>> setup (width=200, height=200, startx=0, starty=0) sets window to 200x200 pixels, in upper left of screen >>> setup(width=.75, height=0.5, startx=None, starty=None) sets window to 75% of screen by 50% of screen and centers >>> setup(width=None) forces use of default geometry as in older versions of turtle.py """ global _width, _height, _startx, _starty width = geometry.get('width',_width) if width >= 0 or width == None: _width = width else: raise ValueError, "width can not be less than 0" height = geometry.get('height',_height) if height >= 0 or height == None: _height = height else: raise ValueError, "height can not be less than 0" startx = geometry.get('startx', _startx) if startx >= 0 or startx == None: _startx = _startx <<<=========== ?????? else: raise ValueError, "startx can not be less than 0" starty = geometry.get('starty', _starty) if starty >= 0 or starty == None: _starty = starty else: raise ValueError, "startx can not be less than 0" ....atd Je to z instalace Python 2.5 _______________________________________________ Python mailing list Python@py.cz http://www.py.cz/mailman/listinfo/python