cleanup: import inspect im heißen Pfad von execute_commands #7

Closed
opened 2026-03-13 06:41:07 +01:00 by ppfeiffer · 0 comments
Owner

Problem

In execute_commands() wird import inspect zweimal innerhalb der inneren Schleife aufgerufen – diese Methode wird bei jeder eingehenden Nachricht ausgeführt.

Datei: modules/command_manager.py, execute_commands(), Zeilen ~1168 und ~1210

Betroffener Code

async def execute_commands(self, message):
    for command_name, command in self.commands.items():
        if command.should_execute(message):
            ...
            # Wird bei jeder passenden Nachricht aufgerufen:
            import inspect
            sig = inspect.signature(command.get_remaining_cooldown)
            ...
            import inspect
            sig = inspect.signature(command._record_execution)

Auswirkung

Python cached Imports zwar intern, aber der Lookup-Overhead und der schlechte Lesbarkeit sind unnötig. inspect sollte wie alle anderen Standard-Imports an den Dateianfang verschoben werden.

Fix

Am Dateianfang von command_manager.py hinzufügen:

import inspect

Die beiden import inspect-Zeilen innerhalb von execute_commands() entfernen.

## Problem In `execute_commands()` wird `import inspect` zweimal innerhalb der inneren Schleife aufgerufen – diese Methode wird bei jeder eingehenden Nachricht ausgeführt. **Datei:** `modules/command_manager.py`, `execute_commands()`, Zeilen ~1168 und ~1210 ## Betroffener Code ```python async def execute_commands(self, message): for command_name, command in self.commands.items(): if command.should_execute(message): ... # Wird bei jeder passenden Nachricht aufgerufen: import inspect sig = inspect.signature(command.get_remaining_cooldown) ... import inspect sig = inspect.signature(command._record_execution) ``` ## Auswirkung Python cached Imports zwar intern, aber der Lookup-Overhead und der schlechte Lesbarkeit sind unnötig. `inspect` sollte wie alle anderen Standard-Imports an den Dateianfang verschoben werden. ## Fix Am Dateianfang von `command_manager.py` hinzufügen: ```python import inspect ``` Die beiden `import inspect`-Zeilen innerhalb von `execute_commands()` entfernen.
Sign in to join this conversation.
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
ppfeiffer/meshcore-bot#7
No description provided.