You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Just imports, before we get to running any functional code, take a significant amount of the startup time for oresat-c3-software. I took a profile of imports during start-up with python3 -X importtime -m oresat_c3 on the C3. I've sorted the list by self time and cut it to only those that took longer than 100ms:
We need can.interfaces to support MacOS developers and for socketcand support which will become invaluable for ADCS Manager and the Task Scheduler.
We might be able to remove natsort (would have to review the code)
spacepackets is only used by the C3 app for EDL (not apart of OLAF). Cannot remove from the C3.
loguru could probably be replace with built in logging module
need yaml for oresat-configs
werkzeug is needed for the Flask REST API. But I was thinking of splitting the project into two modules/apps/daemons; OLAF and OLAF-REST-API, where there is a socket between them for IPC. Then Flask and it's dependencies wouldn't slow down the core OLAF app and could be disabled for flight, and we still get the REST API for integration, testing, and FlatSat.
Thinking about this more, we could easily replace the global logger object from loguru with an object of a custom wrapper class around the built-in logging module to avoid breaking the apps.
Just imports, before we get to running any functional code, take a significant amount of the startup time for
oresat-c3-software
. I took a profile of imports during start-up withpython3 -X importtime -m oresat_c3
on the C3. I've sorted the list by self time and cut it to only those that took longer than 100ms:A lot of the long imports come from this project or
oresat-configs
. Looking at this list standouts from external packages are:can.interfaces
(pretty surprising, there's a lot of interfaces but we only need one. Can we prune it somehow?)natsort
spacepackets
loguru
yaml
werkzeug
Do these have settings or optional features that can be cut out?
Things we control:
oresat_configs.card_config
olaf._internals.rest_api
Both of these files are very decorator heavy so maybe it's related to that?
I also don't know enough about
pkg_resources
to say what it's doing beyond it's stuff related tosetuptools
.The text was updated successfully, but these errors were encountered: