diff --git a/src/main.py b/src/main.py index 75611efc..384d5711 100644 --- a/src/main.py +++ b/src/main.py @@ -1,17 +1,6 @@ -from time import time -master_start = time() - - -start = time() from seedsigner.controller import Controller -print("main.py time elapsed to import Controller:", time() - start) # Get the one and only Controller instance and start our main loop -start = time() controller = Controller.get_instance() -print("main.py time elapsed to import and initialize Controller:", time() - start) -print("*" * 80) -print("\nmain.py OVERALL time elapsed until Controller.start():", time() - master_start) -print("\n" + "*" * 80) controller.start() diff --git a/src/seedsigner/controller.py b/src/seedsigner/controller.py index 5a326977..2ec8c570 100644 --- a/src/seedsigner/controller.py +++ b/src/seedsigner/controller.py @@ -1,26 +1,18 @@ -print("controller.py") - import time - -from seedsigner.models.threads import BaseThread - -start = time.time() -print("Starting Controller import...") - import logging + import traceback from PIL.Image import Image +from seedsigner.models.settings import Settings +from seedsigner.models.singleton import Singleton +from seedsigner.models.threads import BaseThread from seedsigner.views.view import Destination -from .models.settings import Settings -from .models.singleton import Singleton - logger = logging.getLogger(__name__) -print("Total Controller import time:", time.time() - start) class BackStack(list[Destination]): @@ -52,9 +44,9 @@ class FlowBasedTestException(Exception): pass + class BackgroundImportThread(BaseThread): def run(self): - start = time.time() from importlib import import_module # import seedsigner.hardware.buttons # slowly imports GPIO along the way @@ -62,7 +54,7 @@ def run(self): def time_import(module_name): last = time.time() import_module(module_name) - print(time.time() - last, module_name) + # print(time.time() - last, module_name) time_import('embit') time_import('seedsigner.helpers.embit_utils') @@ -81,13 +73,6 @@ def time_import(module_name): time_import('seedsigner.views.settings_views') - # Lowest priority costly initializations - # time_import('picamera') - # time_import('picamera.array') - # time_import('seedsigner.hardware.pivideostream') - - print("Total BackgroundImportThread import time:", time.time() - start) - class Controller(Singleton): @@ -166,7 +151,6 @@ def configure_instance(cls, disable_hardware=False): each time you try to re-initialize a Controller. """ - start = time.time() from seedsigner.gui.renderer import Renderer from seedsigner.hardware.microsd import MicroSD @@ -195,13 +179,9 @@ def configure_instance(cls, disable_hardware=False): # Other behavior constants controller.screensaver_activation_ms = 120 * 1000 - - print(f"Controller configured in {time.time() - start:.3f}s") - start = time.time() background_import_thread = BackgroundImportThread() background_import_thread.start() - print("Time elapsed through BackgroundImportThread.start():", time.time() - start) return cls._instance @@ -214,15 +194,10 @@ def camera(self): @property def storage(self): - start = time.time() - did_sleep = False while not self._storage: # Wait for the BackgroundImportThread to finish initializing the storage. # This is a rare timing issue that likely only occurs in the test suite. - did_sleep = True time.sleep(0.001) - if did_sleep: - print(f"Controller.storage waited {time.time() - start:.3f}s for BackgroundImportThread") return self._storage @@ -265,15 +240,7 @@ def start(self, initial_destination: Destination = None) -> None: from .views import MainMenuView, BackStackView from .views.screensaver import OpeningSplashScreen - start = time.time() - - opening_splash = OpeningSplashScreen() - - print(f"Instantiating opening splash screen took {time.time() - start:.3f}s") - start = time.time() - opening_splash.start() - - print(f"Opening splash screen took {time.time() - start:.3f}s") + OpeningSplashScreen().start() """ Class references can be stored as variables in python! diff --git a/src/seedsigner/helpers/embit_utils.py b/src/seedsigner/helpers/embit_utils.py index a1655f20..bdd95b7f 100644 --- a/src/seedsigner/helpers/embit_utils.py +++ b/src/seedsigner/helpers/embit_utils.py @@ -1,4 +1,3 @@ -print("embit_utils.py") import embit from embit import bip32 from embit.bip32 import HDKey diff --git a/src/seedsigner/models/decode_qr.py b/src/seedsigner/models/decode_qr.py index 3c8d3ad7..f5e30302 100644 --- a/src/seedsigner/models/decode_qr.py +++ b/src/seedsigner/models/decode_qr.py @@ -1,5 +1,3 @@ -print("decode_qr.py") - import base64 import json import logging diff --git a/src/seedsigner/models/encode_qr.py b/src/seedsigner/models/encode_qr.py index caef52f5..0e6493d5 100644 --- a/src/seedsigner/models/encode_qr.py +++ b/src/seedsigner/models/encode_qr.py @@ -1,5 +1,3 @@ -print("encode_qr.py") - import math from embit import bip32 diff --git a/src/seedsigner/models/psbt_parser.py b/src/seedsigner/models/psbt_parser.py index 84979ba8..f431a3c6 100644 --- a/src/seedsigner/models/psbt_parser.py +++ b/src/seedsigner/models/psbt_parser.py @@ -1,5 +1,3 @@ -print("psbt_parser.py") - from binascii import hexlify from embit import psbt, script, ec, bip32 from embit.descriptor import Descriptor diff --git a/src/seedsigner/models/seed.py b/src/seedsigner/models/seed.py index 108755ad..51eb8555 100644 --- a/src/seedsigner/models/seed.py +++ b/src/seedsigner/models/seed.py @@ -1,4 +1,3 @@ -print("seed.py") import unicodedata from binascii import hexlify diff --git a/src/seedsigner/models/seed_storage.py b/src/seedsigner/models/seed_storage.py index 6d2379f1..dcc30a7a 100644 --- a/src/seedsigner/models/seed_storage.py +++ b/src/seedsigner/models/seed_storage.py @@ -1,5 +1,3 @@ -print("seed_storage.py") - from typing import List from seedsigner.models.seed import Seed, InvalidSeedException from seedsigner.models.settings_definition import SettingsConstants diff --git a/src/seedsigner/views/psbt_views.py b/src/seedsigner/views/psbt_views.py index 7d43d3b4..faf74bcd 100644 --- a/src/seedsigner/views/psbt_views.py +++ b/src/seedsigner/views/psbt_views.py @@ -1,5 +1,3 @@ -print("psbt_views.py") - import logging from embit.psbt import PSBT diff --git a/src/seedsigner/views/seed_views.py b/src/seedsigner/views/seed_views.py index 46949669..db5a9a0c 100644 --- a/src/seedsigner/views/seed_views.py +++ b/src/seedsigner/views/seed_views.py @@ -1,5 +1,3 @@ -print("seed_views.py") - import embit import random import time @@ -12,10 +10,10 @@ from seedsigner.controller import Controller from seedsigner.gui.components import FontAwesomeIconConstants, SeedSignerCustomIconConstants -from seedsigner.helpers import embit_utils from seedsigner.gui.screens import (RET_CODE__BACK_BUTTON, ButtonListScreen, WarningScreen, DireWarningScreen, seed_screens) from seedsigner.gui.screens.screen import LargeIconStatusScreen, QRDisplayScreen +from seedsigner.helpers import embit_utils from seedsigner.models.decode_qr import DecodeQR from seedsigner.models.encode_qr import EncodeQR from seedsigner.models.psbt_parser import PSBTParser @@ -26,8 +24,7 @@ from seedsigner.models.threads import BaseThread, ThreadsafeCounter from seedsigner.views.psbt_views import PSBTChangeDetailsView from seedsigner.views.scan_views import ScanView - -from .view import NotYetImplementedView, View, Destination, BackStackView, MainMenuView +from seedsigner.views.view import NotYetImplementedView, View, Destination, BackStackView, MainMenuView diff --git a/src/seedsigner/views/tools_views.py b/src/seedsigner/views/tools_views.py index 88b3ee88..6cd0c0bd 100644 --- a/src/seedsigner/views/tools_views.py +++ b/src/seedsigner/views/tools_views.py @@ -1,5 +1,3 @@ -print("tools_views.py") - import hashlib import os