Closed craftyjon closed 7 years ago
Commented out line 108 of firesimgui.py
Firesim ran with --profile flag
985aeb8b6566:firesim karen.wickert$ python firesim.py firefly2015 --profile
INFO:root:Booting FireSim...
INFO:root:Loaded data/config.json
INFO:root:Loaded data/scenes/firefly2015.json
INFO:root:Scene has 15 strands, 240 pixels.
INFO:root:FireSimGUI Ready.
Clock type: CPU
Ordered by: totaltime, desc
name ncall tsub ttot tavg
..py:38 NetController.read_datagrams 24 15.51558 31.72975 1.322073
..ewidget.py:113 FixtureWidget.paint 720 2.517816 13.53638 0.018801
..98 SceneController.process_command 15244 1.510662 1.598741 0.000105
..py:120 FireSimGUI.on_network_event 15244 0.090211 0.144129 0.000009
..vaswidget.py:27 CanvasWidget.paint 24 0.001864 0.032016 0.001334
...py:73 CanvasWidget.hoverMoveEvent 3 0.001531 0.011046 0.003682
..y:28 DragHandleWidget.boundingRect 3252 0.009471 0.009471 0.000003
..rewidget.py:81 FixtureWidget.shape 90 0.004609 0.007707 0.000086
..m/util/jsonloader.py:43 Config.get 820 0.004242 0.007309 0.000009
..t.py:67 FixtureWidget.boundingRect 1659 0.005661 0.005661 0.000003
..r.py:67 SceneController.set_canvas 1 0.000008 0.005624 0.005624
..er.py:48 SceneController.init_view 1 0.000031 0.005616 0.005616
..y:75 SceneController.update_canvas 1 0.000068 0.005455 0.005455
..s/fixture.py:74 Fixture.get_widget 60 0.000390 0.005352 0.000089
..idget.py:10 FixtureWidget.__init__ 30 0.001208 0.004803 0.000160
..s/fixture.py:83 Fixture.pixel_data 720 0.004279 0.004279 0.000006
..py:60 NetController.frame_complete 897 0.003627 0.003627 0.000004
..idget.py:37 DragHandleWidget.paint 1440 0.002987 0.002987 0.000002
..odels/fixture.py:50 Fixture.pixels 1470 0.002673 0.002673 0.000002
..ler.py:21 SceneController.__init__ 1 0.000301 0.002653 0.002653
..get.py:6 DragHandleWidget.__init__ 60 0.001386 0.002122 0.000035
...py:57 NetController.frame_started 897 0.002054 0.002054 0.000002
..els/fixture.py:13 Fixture.__init__ 60 0.000204 0.001323 0.000022
..oller.py:16 NetController.__init__ 1 0.000575 0.001251 0.001251
..:91 CanvasWidget.mouseReleaseEvent 1 0.000021 0.001175 0.001175
..et.py:97 CanvasWidget.deselect_all 1 0.000010 0.001149 0.001149
..07 SceneController.widget_selected 1 0.000117 0.001139 0.001139
..odels/fixture.py:87 Fixture.unpack 60 0.000668 0.001119 0.000019
..cene.py:46 Scene.fixture_hierarchy 2 0.000203 0.001104 0.000552
..py:116 FireSimGUI.update_net_stats 30 0.000369 0.001002 0.000033
..widget.py:318 FixtureWidget.select 30 0.000513 0.000953 0.000032
..n2.7/logging/__init__.py:1621 info 3 0.000024 0.000866 0.000289
..t.py:237 FixtureWidget.hover_leave 90 0.000365 0.000866 0.000010
..g/__init__.py:1155 RootLogger.info 3 0.000028 0.000837 0.000279
..y:59 FixtureWidget.update_geometry 31 0.000444 0.000835 0.000027
..g/__init__.py:1265 RootLogger._log 3 0.000029 0.000790 0.000263
../models/scene.py:33 Scene.fixtures 1 0.000065 0.000747 0.000747
..m/models/scene.py:8 Scene.__init__ 1 0.000005 0.000707 0.000707
..til/jsonloader.py:7 Scene.__init__ 1 0.000005 0.000702 0.000702
..m/util/jsonloader.py:13 Scene.load 1 0.000022 0.000697 0.000697
..ller.py:65 NetController.get_stats 30 0.000387 0.000633 0.000021
..SceneController.create_pixel_array 1 0.000155 0.000492 0.000492
..__init__.py:1286 RootLogger.handle 3 0.000022 0.000441 0.000147
..__.py:1318 RootLogger.callHandlers 3 0.000016 0.000412 0.000137
..init__.py:744 StreamHandler.handle 3 0.000027 0.000396 0.000132
..ython2.7/json/__init__.py:257 load 1 0.000026 0.000360 0.000360
..y:107 CanvasWidget.scene_to_canvas 184 0.000339 0.000339 0.000002
..thon2.7/json/__init__.py:293 loads 1 0.000009 0.000296 0.000296
../decoder.py:361 JSONDecoder.decode 1 0.000016 0.000287 0.000287
..__init__.py:847 StreamHandler.emit 3 0.000049 0.000267 0.000089
..oder.py:372 JSONDecoder.raw_decode 1 0.000261 0.000261 0.000261
..py:32 CrosshairWidget.boundingRect 54 0.000248 0.000248 0.000005
..it__.py:1252 RootLogger.makeRecord 3 0.000017 0.000242 0.000081
..__init__.py:243 LogRecord.__init__ 3 0.000089 0.000225 0.000075
../models/fixture.py:56 Fixture.pos1 121 0.000157 0.000157 0.000001
..DragHandleWidget.mouseReleaseEvent 1 0.000024 0.000153 0.000153
..odels/fixture.py:34 Fixture.strand 105 0.000120 0.000120 0.000001
.._init__.py:836 StreamHandler.flush 3 0.000026 0.000105 0.000035
..swidget.py:8 CanvasWidget.__init__ 1 0.000075 0.000100 0.000100
..dget.py:8 CrosshairWidget.__init__ 1 0.000068 0.000097 0.000097
..nit__.py:701 StreamHandler.acquire 6 0.000021 0.000087 0.000015
..py:53 CanvasWidget.update_fixtures 1 0.000046 0.000086 0.000086
..FixtureWidget.handle_move_callback 1 0.000012 0.000085 0.000085
../models/fixture.py:62 Fixture.pos2 61 0.000081 0.000081 0.000001
..nit__.py:708 StreamHandler.release 6 0.000023 0.000080 0.000013
..it__.py:1231 RootLogger.findCaller 3 0.000042 0.000078 0.000026
..init__.py:721 StreamHandler.format 3 0.000010 0.000073 0.000024
..tureWidget.update_handle_positions 1 0.000023 0.000073 0.000073
..r.py:72 SceneController.get_canvas 60 0.000068 0.000068 0.000001
..dels/fixture.py:40 Fixture.address 60 0.000067 0.000067 0.000001
...7/threading.py:147 _RLock.acquire 6 0.000043 0.000066 0.000011
..g/__init__.py:458 Formatter.format 3 0.000029 0.000063 0.000021
..7 DragHandleWidget.mousePressEvent 1 0.000016 0.000061 0.000061
...7/threading.py:187 _RLock.release 6 0.000039 0.000057 0.000009
..widget.py:41 CrosshairWidget.paint 24 0.000051 0.000051 0.000002
.. DragHandleWidget.update_positions 1 0.000025 0.000044 0.000044
..ixture.py:43 Fixture.update_offset 30 0.000040 0.000040 0.000001
..python2.7/posixpath.py:97 splitext 3 0.000012 0.000039 0.000013
..gging/__init__.py:154 getLevelName 3 0.000026 0.000030 0.000010
..y:53 SceneController.load_backdrop 1 0.000015 0.000028 0.000028
..hon2.7/genericpath.py:93 _splitext 3 0.000017 0.000027 0.000009
..124 FireSimGUI.is_backdrop_enabled 1 0.000012 0.000022 0.000022
..75 DragHandleWidget.hoverMoveEvent 2 0.000009 0.000022 0.000011
..ython2.7/posixpath.py:112 basename 3 0.000013 0.000020 0.000007
..__.py:1358 RootLogger.isEnabledFor 3 0.000012 0.000019 0.000006
..init__.py:318 LogRecord.getMessage 3 0.000011 0.000018 0.000006
...7/logging/__init__.py:82 <lambda> 3 0.000009 0.000018 0.000006
...py:201 FireSimGUI.widget_selected 1 0.000011 0.000018 0.000018
...7/threading.py:1152 currentThread 3 0.000011 0.000016 0.000005
..9 DragHandleWidget.hoverEnterEvent 1 0.000007 0.000016 0.000016
..on2.7/threading.py:64 _RLock._note 12 0.000016 0.000016 0.000001
..__init__.py:452 Formatter.usesTime 3 0.000011 0.000016 0.000005
..lib/python2.7/posixpath.py:61 join 1 0.000008 0.000014 0.000014
../__init__.py:605 RootLogger.filter 6 0.000012 0.000012 0.000002
..m/models/scene.py:13 Scene.extents 1 0.000007 0.000012 0.000012
..:128 FireSimGUI.are_labels_enabled 1 0.000006 0.000011 0.000011
..simgui.py:132 FireSimGUI.is_locked 1 0.000005 0.000010 0.000010
..imGUI._get_selected_fixture_strand 1 0.000008 0.000008 0.000008
..imGUI._set_selected_fixture_pixels 2 0.000008 0.000008 0.000004
..y:117 CanvasWidget.canvas_to_scene 1 0.000008 0.000008 0.000008
..:1344 RootLogger.getEffectiveLevel 3 0.000007 0.000007 0.000002
..python2.7/posixpath.py:44 normcase 6 0.000007 0.000007 0.000001
../threading.py:967 _MainThread.name 3 0.000007 0.000007 0.000002
..im/models/scene.py:19 Scene.center 1 0.000003 0.000005 0.000005
..py:88 CanvasWidget.mousePressEvent 1 0.000005 0.000005 0.000005
..mGUI._get_selected_fixture_address 1 0.000004 0.000004 0.000004
..mGUI._set_selected_fixture_address 2 0.000004 0.000004 0.000002
..imGUI._get_selected_fixture_pixels 1 0.000004 0.000004 0.000004
...py:136 FireSimGUI.is_center_shown 1 0.000004 0.000004 0.000004
.. CanvasWidget.set_background_image 1 0.000003 0.000003 0.000003
..imGUI._set_selected_fixture_strand 2 0.000003 0.000003 0.000002
..els/fixture.py:65 Fixture.set_pos2 1 0.000002 0.000002 0.000002
..els/fixture.py:59 Fixture.set_pos1 1 0.000002 0.000002 0.000002
..m/firesimgui.py:103 FireSimGUI.run 1 0.000000 0.000000 0.000000
..esimgui.py:106 FireSimGUI.on_close 1 0.000000 0.000000 0.000000
985aeb8b6566:firesim karen.wickert$ python firesim.py firefly2015 --profile
INFO:root:Booting FireSim...
INFO:root:Loaded data/config.json
INFO:root:Loaded data/scenes/firefly2015.json
INFO:root:Scene has 15 strands, 240 pixels.
INFO:root:FireSimGUI Ready.
Clock type: CPU
Ordered by: totaltime, desc
name ncall tsub ttot tavg
..py:38 NetController.read_datagrams 14 9.305738 18.97239 1.355171
..ewidget.py:113 FixtureWidget.paint 480 1.625330 8.924897 0.018594
..98 SceneController.process_command 9396 0.890334 0.942308 0.000100
..py:120 FireSimGUI.on_network_event 9396 0.054076 0.084514 0.000009
..vaswidget.py:27 CanvasWidget.paint 17 0.001251 0.021088 0.001240
..y:28 DragHandleWidget.boundingRect 2100 0.006034 0.006034 0.000003
..r.py:67 SceneController.set_canvas 1 0.000006 0.005500 0.005500
..er.py:48 SceneController.init_view 1 0.000024 0.005494 0.005494
..y:75 SceneController.update_canvas 1 0.000064 0.005350 0.005350
..s/fixture.py:74 Fixture.get_widget 30 0.000325 0.005197 0.000173
..idget.py:10 FixtureWidget.__init__ 30 0.001205 0.004695 0.000156
..m/util/jsonloader.py:43 Config.get 517 0.002501 0.004369 0.000008
..t.py:67 FixtureWidget.boundingRect 1080 0.003552 0.003552 0.000003
...py:73 CanvasWidget.hoverMoveEvent 1 0.000441 0.003136 0.003136
..s/fixture.py:83 Fixture.pixel_data 480 0.002753 0.002753 0.000006
..ler.py:21 SceneController.__init__ 1 0.000228 0.002558 0.002558
..rewidget.py:81 FixtureWidget.shape 30 0.001261 0.002196 0.000073
..py:60 NetController.frame_complete 553 0.002154 0.002154 0.000004
..get.py:6 DragHandleWidget.__init__ 60 0.001332 0.002033 0.000034
..idget.py:37 DragHandleWidget.paint 960 0.002006 0.002006 0.000002
..odels/fixture.py:50 Fixture.pixels 990 0.001691 0.001691 0.000002
...py:57 NetController.frame_started 553 0.001256 0.001256 0.000002
..els/fixture.py:13 Fixture.__init__ 60 0.000200 0.001256 0.000021
..cene.py:46 Scene.fixture_hierarchy 2 0.000203 0.001083 0.000541
..odels/fixture.py:87 Fixture.unpack 60 0.000576 0.001056 0.000018
..n2.7/logging/__init__.py:1621 info 3 0.000021 0.000809 0.000270
..y:59 FixtureWidget.update_geometry 30 0.000446 0.000801 0.000027
..g/__init__.py:1155 RootLogger.info 3 0.000027 0.000785 0.000262
..m/models/scene.py:8 Scene.__init__ 1 0.000006 0.000777 0.000777
..til/jsonloader.py:7 Scene.__init__ 1 0.000006 0.000771 0.000771
..m/util/jsonloader.py:13 Scene.load 1 0.000024 0.000765 0.000765
..g/__init__.py:1265 RootLogger._log 3 0.000028 0.000741 0.000247
../models/scene.py:33 Scene.fixtures 1 0.000075 0.000698 0.000698
..SceneController.create_pixel_array 1 0.000159 0.000492 0.000492
..__init__.py:1286 RootLogger.handle 3 0.000019 0.000426 0.000142
..ython2.7/json/__init__.py:257 load 1 0.000027 0.000411 0.000411
..__.py:1318 RootLogger.callHandlers 3 0.000016 0.000401 0.000134
..init__.py:744 StreamHandler.handle 3 0.000031 0.000385 0.000128
..py:116 FireSimGUI.update_net_stats 11 0.000117 0.000339 0.000031
..thon2.7/json/__init__.py:293 loads 1 0.000012 0.000326 0.000326
..y:107 CanvasWidget.scene_to_canvas 181 0.000326 0.000326 0.000002
../decoder.py:361 JSONDecoder.decode 1 0.000020 0.000314 0.000314
..oller.py:16 NetController.__init__ 1 0.000071 0.000307 0.000307
..oder.py:372 JSONDecoder.raw_decode 1 0.000276 0.000276 0.000276
..__init__.py:847 StreamHandler.emit 3 0.000035 0.000259 0.000086
..t.py:237 FixtureWidget.hover_leave 30 0.000111 0.000256 0.000009
..ller.py:65 NetController.get_stats 11 0.000136 0.000222 0.000020
..it__.py:1252 RootLogger.makeRecord 3 0.000016 0.000217 0.000072
..__init__.py:243 LogRecord.__init__ 3 0.000097 0.000201 0.000067
..py:32 CrosshairWidget.boundingRect 35 0.000160 0.000160 0.000005
../models/fixture.py:56 Fixture.pos1 120 0.000149 0.000149 0.000001
..odels/fixture.py:34 Fixture.strand 105 0.000143 0.000143 0.000001
.._init__.py:836 StreamHandler.flush 3 0.000030 0.000102 0.000034
..swidget.py:8 CanvasWidget.__init__ 1 0.000074 0.000099 0.000099
..dget.py:8 CrosshairWidget.__init__ 1 0.000063 0.000090 0.000090
..py:53 CanvasWidget.update_fixtures 1 0.000046 0.000089 0.000089
../models/fixture.py:62 Fixture.pos2 60 0.000084 0.000084 0.000001
..nit__.py:701 StreamHandler.acquire 6 0.000021 0.000083 0.000014
..init__.py:721 StreamHandler.format 3 0.000014 0.000083 0.000028
..r.py:72 SceneController.get_canvas 60 0.000082 0.000082 0.000001
..dels/fixture.py:40 Fixture.address 60 0.000076 0.000076 0.000001
..nit__.py:708 StreamHandler.release 6 0.000019 0.000071 0.000012
..it__.py:1231 RootLogger.findCaller 3 0.000040 0.000070 0.000023
..g/__init__.py:458 Formatter.format 3 0.000031 0.000069 0.000023
...7/threading.py:147 _RLock.acquire 6 0.000038 0.000062 0.000010
...7/threading.py:187 _RLock.release 6 0.000033 0.000052 0.000009
..widget.py:41 CrosshairWidget.paint 16 0.000036 0.000036 0.000002
..ixture.py:43 Fixture.update_offset 30 0.000036 0.000036 0.000001
..python2.7/posixpath.py:97 splitext 3 0.000013 0.000035 0.000012
..y:53 SceneController.load_backdrop 1 0.000013 0.000024 0.000024
..hon2.7/genericpath.py:93 _splitext 3 0.000013 0.000022 0.000007
..124 FireSimGUI.is_backdrop_enabled 1 0.000010 0.000020 0.000020
..__init__.py:452 Formatter.usesTime 3 0.000013 0.000019 0.000006
..init__.py:318 LogRecord.getMessage 3 0.000014 0.000019 0.000006
..gging/__init__.py:154 getLevelName 3 0.000014 0.000018 0.000006
..on2.7/threading.py:64 _RLock._note 12 0.000017 0.000017 0.000001
..ython2.7/posixpath.py:112 basename 3 0.000010 0.000017 0.000006
..__.py:1358 RootLogger.isEnabledFor 3 0.000011 0.000017 0.000006
..lib/python2.7/posixpath.py:61 join 1 0.000011 0.000016 0.000016
...7/logging/__init__.py:82 <lambda> 3 0.000011 0.000015 0.000005
..imGUI._get_selected_fixture_pixels 1 0.000013 0.000013 0.000013
..:128 FireSimGUI.are_labels_enabled 1 0.000007 0.000013 0.000013
...py:136 FireSimGUI.is_center_shown 1 0.000012 0.000012 0.000012
...7/threading.py:1152 currentThread 3 0.000011 0.000012 0.000004
..simgui.py:132 FireSimGUI.is_locked 1 0.000006 0.000011 0.000011
../__init__.py:605 RootLogger.filter 6 0.000011 0.000011 0.000002
..m/models/scene.py:13 Scene.extents 1 0.000007 0.000009 0.000009
..python2.7/posixpath.py:44 normcase 6 0.000007 0.000007 0.000001
..im/models/scene.py:19 Scene.center 1 0.000004 0.000006 0.000006
..:1344 RootLogger.getEffectiveLevel 3 0.000006 0.000006 0.000002
../threading.py:967 _MainThread.name 3 0.000005 0.000005 0.000002
..imGUI._set_selected_fixture_pixels 1 0.000005 0.000005 0.000005
..imGUI._get_selected_fixture_strand 1 0.000005 0.000005 0.000005
..mGUI._get_selected_fixture_address 1 0.000004 0.000004 0.000004
..mGUI._set_selected_fixture_address 1 0.000002 0.000002 0.000002
..imGUI._set_selected_fixture_strand 1 0.000002 0.000002 0.000002
.. CanvasWidget.set_background_image 1 0.000002 0.000002 0.000002
..esimgui.py:106 FireSimGUI.on_close 1 0.000000 0.000000 0.000000
..m/firesimgui.py:103 FireSimGUI.run 1 0.000000 0.000000 0.000000
For comparison, here's a profile from a fast Windows machine:
Clock type: CPU
Ordered by: totaltime, desc
name ncall tsub ttot tavg
..ewidget.py:113 FixtureWidget.paint 2010 3.198020 9.952864 0.004952
..py:38 NetController.read_datagrams 84 0.452403 0.904806 0.010771
..98 SceneController.process_command 1225 0.124801 0.140401 0.000115
..vaswidget.py:27 CanvasWidget.paint 67 0.000000 0.046800 0.000699
..y:75 SceneController.update_canvas 1 0.000000 0.015600 0.015600
..er.py:48 SceneController.init_view 1 0.000000 0.015600 0.015600
..s\fixture.py:74 Fixture.get_widget 30 0.000000 0.015600 0.000520
..idget.py:37 DragHandleWidget.paint 4020 0.015600 0.015600 0.000004
..r.py:67 SceneController.set_canvas 1 0.000000 0.015600 0.015600
..idget.py:10 FixtureWidget.__init__ 30 0.015600 0.015600 0.000520
..y:59 FixtureWidget.update_geometry 30 0.000000 0.000000 0.000000
Looks like receive_datagrams is way slower on Mac for some reason.
I can help here; but need to get Pyside installed :)
As an aside (since @nyarasha profiled firemix in this issue), I have some code that takes care of much of the SimplexNoise slowness.
Closing this since we are switching to PyQt5 which should have better performance (and then I plan to rewrite the GUI to improve performance further and fix some long-standing issues)
Results from several runs today:
Firemix:
Looks like simplex noise is the vast majority of time and calls.
* PROFILER RESULTS * draw (/Users/karen.wickert/Documents/firemix/presets/simplex_noise.py:77) function called 2299 times
Ordered by: cumulative time, internal time, call count
ncalls tottime percall cumtime percall filename:lineno(function) 2299 12.836 0.006 17.459 0.008 simplex_noise.py:77(draw) 8276400 2.403 0.000 2.403 0.000 {noise._simplex.noise3} 6897 1.923 0.000 1.923 0.000 {numpy.core.multiarray.array} 4598 0.009 0.000 1.917 0.000 numeric.py:392(asarray) 2299 0.040 0.000 0.120 0.000 audio.py:136(getEnergy) 2299 0.084 0.000 0.084 0.000 {method 'dot' of 'numpy.ndarray' objects} 2299 0.026 0.000 0.080 0.000 fromnumeric.py:1621(sum) 2299 0.009 0.000 0.051 0.000 _methods.py:23(_sum) 2299 0.049 0.000 0.049 0.000 pattern.py:218(setAllHLS) 2299 0.041 0.000 0.041 0.000 {method 'reduce' of 'numpy.ufunc' objects} 20691 0.017 0.000 0.023 0.000 pattern.py:135(parameter) 20691 0.006 0.000 0.006 0.000 {method 'get' of 'dict' objects} 20691 0.004 0.000 0.004 0.000 parameters.py:42(get) 2299 0.003 0.000 0.003 0.000 {isinstance} 4598 0.002 0.000 0.002 0.000 {math.cos} 4598 0.002 0.000 0.002 0.000 audio.py:139(getSmoothEnergy) 2299 0.002 0.000 0.002 0.000 mixer.py:256(is_onset) 4598 0.001 0.000 0.001 0.000 {math.sin} 2299 0.001 0.000 0.001 0.000 {method 'disable' of '_lsprof.Profiler' objects} 2299 0.000 0.000 0.000 0.000 {len} 0 0.000 0.000 profile:0(profiler)
* PROFILER RESULTS * draw (/Users/karen.wickert/Documents/firemix/presets/simplex_noise.py:77) function called 114 times
Ordered by: cumulative time, internal time, call count
ncalls tottime percall cumtime percall filename:lineno(function) 114 0.746 0.007 1.012 0.009 simplex_noise.py:77(draw) 410400 0.140 0.000 0.140 0.000 {noise._simplex.noise3} 342 0.109 0.000 0.109 0.000 {numpy.core.multiarray.array} 228 0.001 0.000 0.109 0.000 numeric.py:392(asarray) 114 0.003 0.000 0.007 0.000 audio.py:136(getEnergy) 114 0.001 0.000 0.005 0.000 fromnumeric.py:1621(sum) 114 0.004 0.000 0.004 0.000 {method 'dot' of 'numpy.ndarray' objects} 114 0.001 0.000 0.003 0.000 _methods.py:23(_sum) 114 0.003 0.000 0.003 0.000 pattern.py:218(setAllHLS) 114 0.003 0.000 0.003 0.000 {method 'reduce' of 'numpy.ufunc' objects} 1026 0.001 0.000 0.001 0.000 pattern.py:135(parameter) 1026 0.000 0.000 0.000 0.000 {method 'get' of 'dict' objects} 1026 0.000 0.000 0.000 0.000 parameters.py:42(get) 114 0.000 0.000 0.000 0.000 {isinstance} 228 0.000 0.000 0.000 0.000 {math.cos} 228 0.000 0.000 0.000 0.000 audio.py:139(getSmoothEnergy) 114 0.000 0.000 0.000 0.000 mixer.py:256(is_onset) 228 0.000 0.000 0.000 0.000 {math.sin} 114 0.000 0.000 0.000 0.000 {len} 114 0.000 0.000 0.000 0.000 {method 'disable' of '_lsprof.Profiler' objects} 0 0.000 0.000 profile:0(profiler)
* PROFILER RESULTS * draw (/Users/karen.wickert/Documents/firemix/presets/simplex_noise.py:77) function called 108 times
Ordered by: cumulative time, internal time, call count
ncalls tottime percall cumtime percall filename:lineno(function) 108 0.680 0.006 0.921 0.009 simplex_noise.py:77(draw) 388800 0.125 0.000 0.125 0.000 {noise._simplex.noise3} 216 0.001 0.000 0.100 0.000 numeric.py:392(asarray) 324 0.100 0.000 0.100 0.000 {numpy.core.multiarray.array} 108 0.002 0.000 0.007 0.000 audio.py:136(getEnergy) 108 0.001 0.000 0.005 0.000 fromnumeric.py:1621(sum) 108 0.004 0.000 0.004 0.000 {method 'dot' of 'numpy.ndarray' objects} 108 0.000 0.000 0.004 0.000 _methods.py:23(_sum) 108 0.003 0.000 0.003 0.000 {method 'reduce' of 'numpy.ufunc' objects} 108 0.003 0.000 0.003 0.000 pattern.py:218(setAllHLS) 972 0.001 0.000 0.001 0.000 pattern.py:135(parameter) 972 0.000 0.000 0.000 0.000 {method 'get' of 'dict' objects} 972 0.000 0.000 0.000 0.000 parameters.py:42(get) 108 0.000 0.000 0.000 0.000 {isinstance} 216 0.000 0.000 0.000 0.000 {math.cos} 216 0.000 0.000 0.000 0.000 audio.py:139(getSmoothEnergy) 108 0.000 0.000 0.000 0.000 mixer.py:256(is_onset) 216 0.000 0.000 0.000 0.000 {math.sin} 108 0.000 0.000 0.000 0.000 {len} 108 0.000 0.000 0.000 0.000 {method 'disable' of '_lsprof.Profiler' objects} 0 0.000 0.000 profile:0(profiler)