Tue Oct 1 20:02:17 2013 prof 165838350 function calls (137702886 primitive calls) in 191.297 seconds Ordered by: cumulative time ncalls tottime percall cumtime percall filename:lineno(function) 1 0.000 0.000 191.297 191.297 P3.py:9() 1 0.000 0.000 191.241 191.241 P3.py:196(aStar) 1 0.004 0.004 191.241 191.241 roomba_sim.py:491(runSimulation) 1210 0.006 0.000 191.198 0.158 roomba_sim.py:383(updatePositionAndClean) 1210 0.051 0.000 191.179 0.158 P3.py:27(runRobot) 577 1.257 0.002 189.683 0.329 P3.py:54(aStar) 42034 0.548 0.000 185.260 0.004 P3.py:89(getAdjacentNodes) 168136 0.441 0.000 184.428 0.001 P3.py:105(canMove) 21356677/169941 59.584 0.000 184.280 0.001 copy.py:145(deepcopy) 168136 0.193 0.000 183.862 0.001 roomba_sim.py:421(getWalls) 168136 0.199 0.000 183.669 0.001 roomba_sim.py:238(getWalls) 168136 0.587 0.000 183.469 0.001 roomba_sim.py:160(getWalls) 169971/169941 1.490 0.000 181.183 0.001 copy.py:306(_reconstruct) 7118669/169971 44.389 0.000 177.989 0.001 copy.py:234(_deepcopy_tuple) 169961 8.741 0.000 175.525 0.001 copy.py:226(_deepcopy_list) 10835044 16.989 0.000 25.828 0.000 copy.py:267(_keep_alive) 39820273 16.004 0.000 16.004 0.000 {id} 32361694 14.053 0.000 14.053 0.000 {method 'get' of 'dict' objects} 31819244 13.126 0.000 13.126 0.000 {method 'append' of 'list' objects} 7118851 4.243 0.000 4.243 0.000 {range} 7293582 3.013 0.000 3.013 0.000 {len} 3376433 1.432 0.000 1.432 0.000 copy.py:198(_deepcopy_atomic) 1787 0.002 0.000 1.342 0.001 roomba_sim.py:427(getDirty) 1787 0.002 0.000 1.340 0.001 roomba_sim.py:242(getDirt) 1787 0.005 0.000 1.338 0.001 roomba_sim.py:165(getDirt) 43188 0.967 0.000 1.118 0.000 {_heapq.heappop} 169971 0.652 0.000 0.652 0.000 {method '__reduce_ex__' of 'object' objects} 272907 0.424 0.000 0.647 0.000 P3.py:121(manHatDist) 153200 0.345 0.000 0.601 0.000 P3.py:127(euclidDist) 577 0.023 0.000 0.525 0.001 P3.py:98(getClosestDirt) 153200 0.403 0.000 0.447 0.000 {_heapq.heappush} 181196 0.336 0.000 0.336 0.000 {method 'add' of 'set' objects} 339948 0.303 0.000 0.303 0.000 {getattr} 304301 0.233 0.000 0.233 0.000 P3.py:109(getLocIfMove) 545814 0.223 0.000 0.223 0.000 {abs} 339963 0.202 0.000 0.202 0.000 {isinstance} 333941 0.194 0.000 0.194 0.000 P3.py:140(__lt__) 306400 0.144 0.000 0.144 0.000 {pow} 136742 0.120 0.000 0.120 0.000 P3.py:134(__init__) 169972 0.118 0.000 0.118 0.000 {issubclass} 153217 0.112 0.000 0.112 0.000 {math.sqrt} 42624 0.087 0.000 0.087 0.000 {method 'remove' of 'set' objects} 8 0.003 0.000 0.044 0.005 roomba_sim.py:31(__init__) 10 0.000 0.000 0.028 0.003 copy.py:253(_deepcopy_dict) 2364 0.005 0.000 0.009 0.000 P3.py:23(getPos) 1220 0.005 0.000 0.008 0.000 roomba_sim.py:134(getNumCleanTiles) 1 0.000 0.000 0.006 0.006 roomba_sim.py:7() 1 0.001 0.001 0.005 0.005 roomba_visualize.py:3() 2440 0.004 0.000 0.005 0.000 roomba_sim.py:127(getNumTiles) 2364 0.003 0.000 0.004 0.000 roomba_sim.py:417(getRobotPosition) 1 0.003 0.003 0.004 0.004 Tkinter.py:31() 620 0.002 0.000 0.004 0.000 roomba_sim.py:246(getNewPosition) 1220 0.003 0.000 0.004 0.000 roomba_sim.py:73(isTileDirty) 8 0.002 0.000 0.003 0.000 random.py:276(shuffle) 1 0.000 0.000 0.003 0.003 roomba_concurrent.py:8() 590 0.002 0.000 0.003 0.000 roomba_sim.py:60(cleanTileAtPosition) 1 0.001 0.001 0.003 0.003 __init__.py:44() 5292 0.003 0.000 0.003 0.000 {math.floor} 630 0.002 0.000 0.002 0.000 roomba_sim.py:88(isTileOccupied) 1 0.000 0.000 0.002 0.002 util.py:35() 577 0.001 0.000 0.002 0.000 P3.py:79(getDirections) 1 0.001 0.001 0.002 0.002 threading.py:1() 15 0.001 0.000 0.001 0.000 roomba_sim.py:98(setWall) 3039 0.001 0.000 0.001 0.000 {method 'random' of '_random.Random' objects} 2364 0.001 0.000 0.001 0.000 roomba_sim.py:207(getRobotPosition) 1240 0.001 0.000 0.001 0.000 {math.radians} 1578 0.001 0.000 0.001 0.000 {method 'pop' of 'list' objects} 1 0.000 0.000 0.001 0.001 random.py:40() 1 0.000 0.000 0.001 0.001 collections.py:1() 1 0.000 0.000 0.000 0.000 warnings.py:45(filterwarnings) 2 0.000 0.000 0.000 0.000 re.py:188(compile) 2 0.000 0.000 0.000 0.000 re.py:228(_compile) 620 0.000 0.000 0.000 0.000 {math.cos} 2 0.000 0.000 0.000 0.000 sre_compile.py:495(compile) 620 0.000 0.000 0.000 0.000 {math.sin} 10 0.000 0.000 0.000 0.000 roomba_sim.py:370(__init__) 1 0.000 0.000 0.000 0.000 process.py:35() 577 0.000 0.000 0.000 0.000 {method 'reverse' of 'list' objects} 1 0.000 0.000 0.000 0.000 heapq.py:31() 2 0.000 0.000 0.000 0.000 sre_parse.py:663(parse) 10 0.000 0.000 0.000 0.000 roomba_sim.py:182(__init__) 2 0.000 0.000 0.000 0.000 sre_parse.py:301(_parse_sub) 2 0.000 0.000 0.000 0.000 sre_parse.py:379(_parse) 10 0.000 0.000 0.000 0.000 roomba_sim.py:140(getRandomPosition) 1 0.000 0.000 0.000 0.000 Tkinter.py:2105(Canvas) 2 0.000 0.000 0.000 0.000 sre_compile.py:480(_code) 1 0.000 0.000 0.000 0.000 hashlib.py:55() 26 0.000 0.000 0.000 0.000 sre_parse.py:201(get) 2 0.000 0.000 0.000 0.000 sre_compile.py:361(_compile_info) 20 0.000 0.000 0.000 0.000 random.py:173(randrange) 1 0.000 0.000 0.000 0.000 threading.py:764(__init__) 28 0.000 0.000 0.000 0.000 sre_parse.py:182(__next) 1 0.000 0.000 0.000 0.000 Tkinter.py:339(Misc) 2 0.000 0.000 0.000 0.000 sre_compile.py:32(_compile) 1 0.000 0.000 0.000 0.000 random.py:91(__init__) 1 0.000 0.000 0.000 0.000 random.py:100(seed) 1 0.000 0.000 0.000 0.000 threading.py:436(__init__) 6 0.000 0.000 0.000 0.000 hashlib.py:94(__get_openssl_constructor) 2 0.000 0.000 0.000 0.000 {posix.urandom} 22 0.000 0.000 0.000 0.000 sre_parse.py:138(append) 1 0.000 0.000 0.000 0.000 posixpath.py:341(abspath) 10 0.000 0.000 0.000 0.000 copy_reg.py:92(__newobj__) 1 0.000 0.000 0.000 0.000 process.py:301(__init__) 2 0.000 0.000 0.000 0.000 sre_parse.py:140(getwidth) 2 0.000 0.000 0.000 0.000 threading.py:181(Condition) 1 0.000 0.000 0.000 0.000 posixpath.py:312(normpath) 1 0.000 0.000 0.000 0.000 roomba_sim.py:469(meanstdv) 1 0.000 0.000 0.000 0.000 __future__.py:48() 1 0.000 0.000 0.000 0.000 threading.py:364(Event) 12 0.000 0.000 0.000 0.000 {hasattr} 1 0.000 0.000 0.000 0.000 bisect.py:1() 1 0.000 0.000 0.000 0.000 threading.py:371(__init__) 1 0.000 0.000 0.000 0.000 Tkinter.py:1462(Wm) 2 0.000 0.000 0.000 0.000 threading.py:186(__init__) 1 0.000 0.000 0.000 0.000 Tkinter.py:2805(Text) 1 0.000 0.000 0.000 0.000 threading.py:385(set) 10 0.000 0.000 0.000 0.000 roomba_sim.py:268(centerInCell) 1 0.000 0.000 0.000 0.000 threading.py:424(Thread) 10 0.000 0.000 0.000 0.000 {method 'update' of 'dict' objects} 1 0.000 0.000 0.000 0.000 process.py:86(Process) 1 0.000 0.000 0.000 0.000 collections.py:25(OrderedDict) 1 0.000 0.000 0.000 0.000 {function seed at 0xb74bedf4} 1 0.000 0.000 0.000 0.000 Tkinter.py:2574(Menu) 21 0.000 0.000 0.000 0.000 {ord} 2 0.000 0.000 0.000 0.000 sre_parse.py:178(__init__) 1 0.000 0.000 0.000 0.000 {math.exp} 1 0.000 0.000 0.000 0.000 random.py:72(Random) 1 0.000 0.000 0.000 0.000 threading.py:295(notifyAll) 1 0.000 0.000 0.000 0.000 Tkconstants.py:4() 1 0.000 0.000 0.000 0.000 Tkinter.py:2480(Listbox) 1 0.000 0.000 0.000 0.000 copy_reg.py:95(_slotnames) 10 0.000 0.000 0.000 0.000 P3.py:19(initialize) 10 0.000 0.000 0.000 0.000 {built-in method __new__ of type object at 0x827eec0} 1 0.000 0.000 0.000 0.000 atexit.py:6() 1 0.000 0.000 0.000 0.000 threading.py:277(notify) 1 0.000 0.000 0.000 0.000 weakref.py:47(__init__) 1 0.000 0.000 0.000 0.000 keyword.py:11() 12 0.000 0.000 0.000 0.000 {_sre.getlower} 4 0.000 0.000 0.000 0.000 sre_compile.py:474(isstring) 5 0.000 0.000 0.000 0.000 {method 'setter' of 'property' objects} 1 0.000 0.000 0.000 0.000 roomba_sim.py:364(DiscreteRobot) 1 0.000 0.000 0.000 0.000 {_hashlib.openssl_md5} 1 0.000 0.000 0.000 0.000 Tkinter.py:1882(Grid) 1 0.000 0.000 0.000 0.000 Tkinter.py:165(Variable) 1 0.000 0.000 0.000 0.000 Tkinter.py:2375(Entry) 1 0.000 0.000 0.000 0.000 Tkinter.py:3312(Spinbox) 1 0.000 0.000 0.000 0.000 roomba_sim.py:22(RectangularRoom) 6 0.000 0.000 0.000 0.000 {globals} 3 0.000 0.000 0.000 0.000 {method 'items' of 'dict' objects} 1 0.000 0.000 0.000 0.000 Tkinter.py:1787(Pack) 1 0.000 0.000 0.000 0.000 Tkinter.py:2705(Radiobutton) 2 0.000 0.000 0.000 0.000 {math.log} 2 0.000 0.000 0.000 0.000 {_sre.compile} 1 0.000 0.000 0.000 0.000 roomba_visualize.py:12(RobotVisualization) 1 0.000 0.000 0.000 0.000 roomba_sim.py:171(RobotBase) 10 0.000 0.000 0.000 0.000 {method 'iteritems' of 'dict' objects} 1 0.000 0.000 0.000 0.000 Tkinter.py:2026(Button) 1 0.000 0.000 0.000 0.000 {posix.getcwd} 1 0.000 0.000 0.000 0.000 Tkinter.py:3492(PanedWindow) 1 0.000 0.000 0.000 0.000 P3.py:13(aStarRobot) 1 0.000 0.000 0.000 0.000 posixpath.py:51(isabs) 7 0.000 0.000 0.000 0.000 __future__.py:75(__init__) 3 0.000 0.000 0.000 0.000 {method 'startswith' of 'str' objects} 1 0.000 0.000 0.000 0.000 {binascii.hexlify} 1 0.000 0.000 0.000 0.000 Tkinter.py:3240(PhotoImage) 1 0.000 0.000 0.000 0.000 Tkinter.py:1832(Place) 1 0.000 0.000 0.000 0.000 Tkinter.py:2346(Checkbutton) 1 0.000 0.000 0.000 0.000 threading.py:367(_Event) 1 0.000 0.000 0.000 0.000 Tkinter.py:2732(Scale) 3 0.000 0.000 0.000 0.000 {thread.allocate_lock} 4 0.000 0.000 0.000 0.000 {min} 1 0.000 0.000 0.000 0.000 roomba_sim.py:275(ContinuousRobot) 1 0.000 0.000 0.000 0.000 Tkinter.py:1935(BaseWidget) 1 0.000 0.000 0.000 0.000 collections.py:356(Counter) 1 0.000 0.000 0.000 0.000 Tkinter.py:263(IntVar) 2 0.000 0.000 0.000 0.000 {method 'join' of 'str' objects} 1 0.000 0.000 0.000 0.000 Tkinter.py:1664(Tk) 1 0.000 0.000 0.000 0.000 {method 'split' of 'str' objects} 1 0.000 0.000 0.000 0.000 Tkinter.py:2765(Scrollbar) 1 0.000 0.000 0.000 0.000 threading.py:184(_Condition) 1 0.000 0.000 0.000 0.000 threading.py:304(_Semaphore) 2 0.000 0.000 0.000 0.000 sre_parse.py:67(__init__) 2 0.000 0.000 0.000 0.000 {method 'extend' of 'list' objects} 1 0.000 0.000 0.000 0.000 Tkinter.py:1400(CallWrapper) 1 0.000 0.000 0.000 0.000 __future__.py:74(_Feature) 1 0.000 0.000 0.000 0.000 {method 'get' of 'dictproxy' objects} 1 0.000 0.000 0.000 0.000 random.py:801(SystemRandom) 1 0.000 0.000 0.000 0.000 threading.py:104(_RLock) 1 0.000 0.000 0.000 0.000 threading.py:56(_Verbose) 1 0.000 0.000 0.000 0.000 random.py:651(WichmannHill) 1 0.000 0.000 0.000 0.000 util.py:170(Finalize) 1 0.000 0.000 0.000 0.000 atexit.py:37(register) 1 0.000 0.000 0.000 0.000 Tkinter.py:307(BooleanVar) 1 0.000 0.000 0.000 0.000 P3.py:133(Node) 1 0.000 0.000 0.000 0.000 Tkinter.py:241(StringVar) 1 0.000 0.000 0.000 0.000 threading.py:531(_set_ident) 2 0.000 0.000 0.000 0.000 sre_parse.py:195(match) 2 0.000 0.000 0.000 0.000 {method 'acquire' of 'thread.lock' objects} 1 0.000 0.000 0.000 0.000 roomba_sim.py:443(RealisticRobot) 1 0.000 0.000 0.000 0.000 threading.py:226(_is_owned) 1 0.000 0.000 0.000 0.000 Tkinter.py:1441(YView) 1 0.000 0.000 0.000 0.000 UserDict.py:4(__init__) 1 0.000 0.000 0.000 0.000 roomba_concurrent.py:12(SimulationProcess) 1 0.000 0.000 0.000 0.000 Tkinter.py:1420(XView) 4 0.000 0.000 0.000 0.000 threading.py:58(__init__) 1 0.000 0.000 0.000 0.000 Tkinter.py:3180(Image) 1 0.000 0.000 0.000 0.000 Tkinter.py:3300(BitmapImage) 1 0.000 0.000 0.000 0.000 {_hashlib.openssl_sha256} 1 0.000 0.000 0.000 0.000 Tkinter.py:3470(LabelFrame) 1 0.000 0.000 0.000 0.000 Tkinter.py:3143(OptionMenu) 1 0.000 0.000 0.000 0.000 Tkinter.py:2695(Menubutton) 1 0.000 0.000 0.000 0.000 {_hashlib.openssl_sha1} 1 0.000 0.000 0.000 0.000 :1() 1 0.000 0.000 0.000 0.000 threading.py:762(_MainThread) 2 0.000 0.000 0.000 0.000 {thread.get_ident} 1 0.000 0.000 0.000 0.000 __init__.py:71(ProcessError) 1 0.000 0.000 0.000 0.000 Tkinter.py:2700(Message) 1 0.000 0.000 0.000 0.000 Tkinter.py:3689(Studbutton) 1 0.000 0.000 0.000 0.000 {_hashlib.openssl_sha384} 1 0.000 0.000 0.000 0.000 Tkinter.py:1998(Toplevel) 1 0.000 0.000 0.000 0.000 process.py:299(_MainProcess) 1 0.000 0.000 0.000 0.000 Tkinter.py:288(DoubleVar) 1 0.000 0.000 0.000 0.000 {_hashlib.openssl_sha512} 1 0.000 0.000 0.000 0.000 {method 'insert' of 'list' objects} 1 0.000 0.000 0.000 0.000 threading.py:733(_Timer) 1 0.000 0.000 0.000 0.000 {_hashlib.openssl_sha224} 1 0.000 0.000 0.000 0.000 util.py:306(ForkAwareThreadLock) 1 0.000 0.000 0.000 0.000 Tkinter.py:2458(Label) 1 0.000 0.000 0.000 0.000 Tkinter.py:1991(Widget) 1 0.000 0.000 0.000 0.000 Tkinter.py:3132(_setit) 1 0.000 0.000 0.000 0.000 {method 'release' of 'thread.lock' objects} 2 0.000 0.000 0.000 0.000 sre_parse.py:90(__init__) 1 0.000 0.000 0.000 0.000 __init__.py:80(AuthenticationError) 1 0.000 0.000 0.000 0.000 Tkinter.py:97(Event) 1 0.000 0.000 0.000 0.000 Tkinter.py:3697(Tributton) 1 0.000 0.000 0.000 0.000 Tkinter.py:2440(Frame) 1 0.000 0.000 0.000 0.000 threading.py:352(_BoundedSemaphore) 1 0.000 0.000 0.000 0.000 threading.py:802(_DummyThread) 1 0.000 0.000 0.000 0.000 __init__.py:77(TimeoutError) 1 0.000 0.000 0.000 0.000 threading.py:771(_set_daemon) 1 0.000 0.000 0.000 0.000 __init__.py:74(BufferTooShort) 1 0.000 0.000 0.000 0.000 util.py:313(ForkAwareLocal) 1 0.000 0.000 0.000 0.000 threading.py:63(_note) 1 0.000 0.000 0.000 0.000 process.py:285(AuthenticationString) 1 0.000 0.000 0.000 0.000 {method 'disable' of '_lsprof.Profiler' objects}