Dieses Mal werde ich über eine einfache Möglichkeit sprechen, Python-Berechnungen zu beschleunigen: Die Numba-Bibliothek kann mithilfe der JIT-Technologie im laufenden Betrieb kompiliert werden, um eine hohe Rechenleistung zu erzielen cuda GPU kann ebenfalls verwendet werden. Es ist eine sehr gute Toolbibliothek zur Beschleunigung von Python. Sie ist einfach zu verwenden, aber die Installation ist etwas komplizierter.
Numba kann nach Abschluss der Installation verwendet werden. (Empfohlenes Lernen: Python-Video-Tutorial)
Schreiben wir einen kleinen Fall, um den Unterschied zwischen dem beschleunigten Programm und dem vorbeschleunigten Programm zu sehen, und leihen uns dabei das klassischste Beispiel von der offiziellen Website aus:
#!/usr/bin/env python # coding=utf-8 from numba import jit from numpy import arange import time @jit def sum2d(arr): M, N = arr.shape result = 0.0 for i in range(M): for j in range(N): result += arr[i,j] return result a = arange(9).reshape(3,3) start_time = time.time() for i in range(10000000): sum2d(a) end_time = time.time() print (end_time - start_time)
Hier verwenden wir Numpy, um eine Matrix mit drei Zeilen und drei Spalten zu generieren, [[0,1,2],[3,4,5],[6,7,8]] und dann eine zweidimensionale Akkumulationsberechnung durchführen, der Wert sollte offensichtlich 36 sein. Wir haben hier 10000000 solcher Berechnungen durchgeführt. Mithilfe der @jit-Annotation können wir die Numba-Jit-Technologie direkt zum Kompilieren in Echtzeit verwenden und so die Geschwindigkeit verbessern Die Zeit beträgt etwa 3,86 Sekunden. Wenn die Anmerkung entfernt wird, beträgt die Laufzeit etwa 25,45 Sekunden. Daraus ist ersichtlich, dass die Leistung etwa um das 6,6-fache gesteigert wird, sodass es tatsächlich praktisch und einfach ist, Numba zum Beschleunigen zu verwenden Python-Programme
Weitere technische Artikel zum Thema Python finden Sie in der Spalte Python-Tutorial. Lernen Sie!
Das obige ist der detaillierte Inhalt vonSo beschleunigen Sie Python-Programme. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!