Skip to content

Commit 454fb19

Browse files
committed
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
1 parent bd9889a commit 454fb19

File tree

3 files changed

+18
-5
lines changed

3 files changed

+18
-5
lines changed

.env.example

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
AUTOGGUF_RESOLUTION=1650x1100
22
AUTOGGUF_THEME=
3-
AUTOGGUF_CHECK_BACKEND=enabled
4-
AUTOGGUF_CHECK_UPDATE=enabled
3+
AUTOGGUF_CHECK_BACKEND=disabled
4+
AUTOGGUF_CHECK_UPDATE=disabled
55
AUTOGGUF_SERVER_API_KEY=
66
AUTOGGUF_MODEL_DIR_NAME=models
77
AUTOGGUF_OUTPUT_DIR_NAME=quantized_models

src/AutoGGUF.py

+10-3
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,10 @@ class AutoGGUF(QMainWindow):
3535

3636
def __init__(self, args: List[str]) -> None:
3737
super().__init__()
38+
39+
init_timer = QElapsedTimer()
40+
init_timer.start()
41+
3842
width, height = self.parse_resolution()
3943
self.logger = Logger("AutoGGUF", "logs")
4044

@@ -794,6 +798,7 @@ def __init__(self, args: List[str]) -> None:
794798
default_theme = f.read()
795799
self.setStyleSheet(default_theme)
796800

801+
# Imported models from external paths
797802
self.imported_models = []
798803

799804
# Load models
@@ -803,11 +808,13 @@ def __init__(self, args: List[str]) -> None:
803808
self.plugins = self.load_plugins()
804809
self.apply_plugins()
805810

811+
# Finish initialization
806812
self.logger.info(AUTOGGUF_INITIALIZATION_COMPLETE)
813+
self.logger.info(STARTUP_ELASPED_TIME.format(init_timer.elapsed()))
807814

808815
def load_dotenv(self):
809816
if not os.path.isfile(".env"):
810-
self.logger.warning(".env file not found.")
817+
self.logger.warning(DOTENV_FILE_NOT_FOUND)
811818
return
812819

813820
try:
@@ -823,7 +830,7 @@ def load_dotenv(self):
823830
# Match key-value pairs (unquoted and quoted values)
824831
match = re.match(r"^([^=]+)=(.*)$", line)
825832
if not match:
826-
self.logger.warning(f"Could not parse line: {line}")
833+
self.logger.warning(COULD_NOT_PARSE_LINE.format(line))
827834
continue
828835

829836
key, value = match.groups()
@@ -838,7 +845,7 @@ def load_dotenv(self):
838845
# Set the environment variable
839846
os.environ[key.strip()] = value.strip()
840847
except Exception as e:
841-
self.logger.error(f"Error loading .env: {e}")
848+
self.logger.error(ERROR_LOADING_DOTENV.format(e))
842849

843850
def load_plugins(self) -> Dict[str, Dict[str, Any]]:
844851
plugins = {}

src/Localizations.py

+6
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,12 @@ def __init__(self):
2424
self.BROWSE = "Browse"
2525
self.AVAILABLE_MODELS = "Available Models:"
2626
self.REFRESH_MODELS = "Refresh Models"
27+
self.STARTUP_ELASPED_TIME = "Initialization took {0} ms"
28+
29+
# Environment variables
30+
self.DOTENV_FILE_NOT_FOUND = ".env file not found."
31+
self.COULD_NOT_PARSE_LINE = "Could not parse line: {0}"
32+
self.ERROR_LOADING_DOTENV = "Error loading .env: {0}"
2733

2834
# Model Import
2935
self.IMPORT_MODEL = "Import Model"

0 commit comments

Comments
 (0)