-
Notifications
You must be signed in to change notification settings - Fork 815
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Profile startup #3095
Comments
I think we should configure an app to exit immediately (on App.on_ready), and profile that with pyinstrument. There may be slow routines that stand out. If those are easily optimizable it could be done as part of this issue. Or it could result in optimization issues for later work. |
Initially starting with this app: from textual.app import App
class GNDN(App[None]):
def on_ready(self) -> None:
self.exit()
if __name__ == "__main__":
GNDN().run() |
What tool are you using to generate those profiles? |
pyinstrument; see https://github.com/davep/profile-textual for the repo where I've put together some files and a Makefile for testing. |
@davep is this in progress or is it stalled? |
As mentioned a couple of weeks back: waiting until you're happy for me to spend some time testing out on the Pi - you said to leave it some time back. |
It doesn't need to be on the Raspberry Pi. The relative performance probably isn't going to change that much. |
Having failed to reproduce what the user originally reported, and not found anything obvious that could cause the effect, our conclusion was we should finally test in a similar environment. That's the remaining step here. |
As I said: it doesn't need to be on the Raspberry PI. I'm looking for optimisation wins. Going to move this back to Todo. For the benefit of whoever picks this up. Please don't spend more than half a day. If there are quick wins, go ahead and implement them. Otherwise document them here. Resolution may very well be that there are no significant improvements. |
Don't forget to star the repository! Follow @textualizeio for Textual updates. |
A user reported that starting up the demo is slow on a Raspberry Pi zero, but runs adequately.
We should profile startup and look for improvements.
demo.py
seems a good place to start.The text was updated successfully, but these errors were encountered: