perf(startup): improve startup time by optimizing default configuration

- improve startup time by optimizing default configuration (disable network fetches for backends and updates)
- add startup time measuring
- use localizations for .env loader
This commit is contained in:
BuildTools 2024-09-04 21:50:00 -07:00
parent bd9889a2d4
commit 454fb193f9
No known key found for this signature in database
GPG Key ID: 3270C066C15D530B
3 changed files with 18 additions and 5 deletions

View File

@ -1,7 +1,7 @@
AUTOGGUF_RESOLUTION=1650x1100
AUTOGGUF_THEME=
AUTOGGUF_CHECK_BACKEND=enabled
AUTOGGUF_CHECK_UPDATE=enabled
AUTOGGUF_CHECK_BACKEND=disabled
AUTOGGUF_CHECK_UPDATE=disabled
AUTOGGUF_SERVER_API_KEY=
AUTOGGUF_MODEL_DIR_NAME=models
AUTOGGUF_OUTPUT_DIR_NAME=quantized_models

View File

@ -35,6 +35,10 @@ class AutoGGUF(QMainWindow):
def __init__(self, args: List[str]) -> None:
super().__init__()
init_timer = QElapsedTimer()
init_timer.start()
width, height = self.parse_resolution()
self.logger = Logger("AutoGGUF", "logs")
@ -794,6 +798,7 @@ def __init__(self, args: List[str]) -> None:
default_theme = f.read()
self.setStyleSheet(default_theme)
# Imported models from external paths
self.imported_models = []
# Load models
@ -803,11 +808,13 @@ def __init__(self, args: List[str]) -> None:
self.plugins = self.load_plugins()
self.apply_plugins()
# Finish initialization
self.logger.info(AUTOGGUF_INITIALIZATION_COMPLETE)
self.logger.info(STARTUP_ELASPED_TIME.format(init_timer.elapsed()))
def load_dotenv(self):
if not os.path.isfile(".env"):
self.logger.warning(".env file not found.")
self.logger.warning(DOTENV_FILE_NOT_FOUND)
return
try:
@ -823,7 +830,7 @@ def load_dotenv(self):
# Match key-value pairs (unquoted and quoted values)
match = re.match(r"^([^=]+)=(.*)$", line)
if not match:
self.logger.warning(f"Could not parse line: {line}")
self.logger.warning(COULD_NOT_PARSE_LINE.format(line))
continue
key, value = match.groups()
@ -838,7 +845,7 @@ def load_dotenv(self):
# Set the environment variable
os.environ[key.strip()] = value.strip()
except Exception as e:
self.logger.error(f"Error loading .env: {e}")
self.logger.error(ERROR_LOADING_DOTENV.format(e))
def load_plugins(self) -> Dict[str, Dict[str, Any]]:
plugins = {}

View File

@ -24,6 +24,12 @@ def __init__(self):
self.BROWSE = "Browse"
self.AVAILABLE_MODELS = "Available Models:"
self.REFRESH_MODELS = "Refresh Models"
self.STARTUP_ELASPED_TIME = "Initialization took {0} ms"
# Environment variables
self.DOTENV_FILE_NOT_FOUND = ".env file not found."
self.COULD_NOT_PARSE_LINE = "Could not parse line: {0}"
self.ERROR_LOADING_DOTENV = "Error loading .env: {0}"
# Model Import
self.IMPORT_MODEL = "Import Model"