Skip to main content

Umgestaltung für ökologische Nachhaltigkeit

Copilot-Chat kann Möglichkeiten vorschlagen, Code umweltfreundlicher zu gestalten.

Code, der bei der Verwendung von Rechenressourcen ineffizient ist, kann zu einem höheren Energieverbrauch führen, der sich negativ auf die Umwelt auswirkt. Beispiele für diesen Code sind Algorithmen mit hoher Zeitkomplexität, übermäßige Speicherauslastung und unnötige Verarbeitung.

Copilot-Chat kann dazu beitragen, ineffiziente Algorithmen oder ressourcenintensive Vorgänge in Ihrem Code zu identifizieren, die zu einem höheren Energieverbrauch beitragen. Indem Sie effizientere Alternativen vorschlagen, kann sie dazu beitragen, die Umweltauswirkungen Ihrer Software zu verringern.

Beispielszenario

Der folgende Python-Code liest eine große Textdatei und zählt die Anzahl der Zeilen. Es lädt jedoch die gesamte Datei in den Speicher, was für große Dateien ineffizient sein kann und zu einem höheren Energieverbrauch führen kann. Die Zeilen werden manuell gezählt, anstatt eingebaute Funktionen zu verwenden.

def count_lines(filename):
    with open(filename, 'r') as f:
        data = f.read()
        lines = data.split('\n')
        count = 0
        for line in lines:
            count += 1
        return count

print(count_lines('largefile.txt'))

Beispielaufforderung

Nachfolgend finden Sie eine Beispielaufforderung, mit Copilot-Chat der Sie den obigen Code für eine bessere Umweltverträglichkeit umgestalten können:

Copilot prompt
Refactor this code to improve its environmental sustainability by reducing memory usage and computational overhead.

Beispielantwort

Hinweis

Copilot-Chat Antworten sind nicht deterministisch, daher erhalten Sie möglicherweise eine andere Antwort als die hier gezeigte.

Copilot schlägt vor, einen Generatorausdruck zum Lesen der Dateizeile nach Zeile zu verwenden, wodurch die Speicherauslastung reduziert wird. Außerdem wird die integrierte sum Funktion verwendet, um die Linien effizienter zu zählen.

def count_lines(filename):
    with open(filename, 'r') as f:
        return sum(1 for _ in f)  # Efficiently counts lines without loading all into memory

print(count_lines('largefile.txt'))

Weiterführende Lektüre