Heim Technologie-Peripheriegeräte KI Dieser Compiler kann Python so schnell wie C++ machen: bis zu hundertmal schneller, produziert vom MIT

Dieser Compiler kann Python so schnell wie C++ machen: bis zu hundertmal schneller, produziert vom MIT

Apr 07, 2023 pm 05:50 PM
python 编译

Seit dem Aufkommen des Deep Learning ist Python eine der angesagtesten Programmiersprachen, dominiert die Bereiche Datenwissenschaft und maschinelles Lernen und spielt sogar eine Hauptrolle im wissenschaftlichen und mathematischen Rechnen. Heutzutage kann man für fast jedes erdenkliche Projekt ein entsprechendes Python-Paket finden.

Obwohl die vereinfachte Syntax einer Hochsprache das Erlernen und Verwenden erleichtert, ist sie im Vergleich zu Sprachen auf niedrigerem Niveau wie C oder C++ langsamer.

Forscher am MIT Computer Science and Artificial Intelligence Laboratory (CSAIL) hoffen, dies mit Codon zu ändern, einem Python-basierten Compiler, der es Benutzern ermöglicht, Programme so effizient wie C oder C++ zu schreiben. Der ausgeführte Python-Code kann angepasst und angepasst werden angepasst an unterschiedliche Bedürfnisse und Umgebungen.

Das neueste Papier dieser Forschung, „Codon: A Compiler for High-Performance Pythonic Applications and DSLs“, wurde auf der 32. ACM SIGPLAN International Conference on Compiler Construction im Februar veröffentlicht.

Dieser Compiler kann Python so schnell wie C++ machen: bis zu hundertmal schneller, produziert vom MIT

  • Projektlink: https://github.com/exaloop/codon
  • Papier: https://dl.acm.org/doi/abs/10.1145/3578360.3580275

Bei der Entwicklungsarbeit müssen Menschen Compiler verwenden, um Quellcode in Maschinencode umzuwandeln, der von einem Computerprozessor ausgeführt werden kann, und kann Entwicklern dabei helfen, neue domänenspezifische Sprachen (DSLs) in Python zu erstellen und gleichzeitig andere zu erhalten Leistungsvorteile der Sprache.

„Reguläres Python wird in sogenannten Bytecode kompiliert, der in einer virtuellen Maschine ausgeführt wird, was es viel langsamer macht“, sagte Ariya Shajii, der Hauptautor des Codon-Papiers. „Mit Codon kompilieren wir.“ nativ, sodass Sie das Endergebnis direkt auf der CPU ausführen können – ohne den Umweg über eine zwischengeschaltete virtuelle Maschine oder einen Interpreter. Die Kompilierungspipeline von Codon umfasst eine Typprüfung, wodurch Python-Code effizienter ausgeführt werden kann.

Dieser Compiler kann Python so schnell wie C++ machen: bis zu hundertmal schneller, produziert vom MIT

Der Python-basierte Compiler wird mit vorgefertigten Binärdateien für Linux und macOS geliefert, und Sie können auch ausführbare Dateien aus dem Quellcode erstellen oder generieren. „Mit Codon können Sie Quellcode wie Python verteilen oder ihn in Binärdateien kompilieren“, sagte Shajii. „Wenn Sie eine Binärdatei verteilen möchten, ist sie mit einer Sprache wie C++ identisch, beispielsweise einer Linux-Binärdatei oder einer Mac-Binärdatei.“ . Bei der Typprüfung wird einem Wert ein Datentyp (z. B. Ganzzahl, Zeichenfolge, Zeichen oder Gleitkommazahl usw.) zugewiesen. Beispielsweise kann die Zahl 5 als Ganzzahl, der Buchstabe c als Zeichen, das Wort Hallo als Zeichenfolge und die Dezimalzahl 3,14 als Gleitkommazahl zugewiesen werden.

„In regulärem Python werden alle Typen an die Laufzeit übergeben“, sagte Shajii. „Mit Codon führen wir eine Typprüfung während der Kompilierung durch, wodurch wir alle teuren Typoperationen zur Laufzeit vermeiden können.“ ), jedes Mal, wenn Sie Daten haben, müssen Sie viele zusätzliche Metadaten um sie herum aufbewahren, um den Typ zur Laufzeit zu bestimmen, sodass der Code schneller ist und die Daten kleiner sind Codon führt zur Laufzeit keine unnötigen Daten- oder Typprüfungen durch, sodass kein Overhead entsteht. In Bezug auf die Leistung ist „Codon im Allgemeinen mit C++ vergleichbar. Wir sehen im Vergleich zu Python typischerweise 10- bis 100-fache Geschwindigkeitsverbesserungen.“ „Wir führen diese statische Typprüfung durch und erlauben nicht die Verwendung einiger dynamischer Funktionen von Python, wie beispielsweise die dynamische Änderung von Typen zur Laufzeit“, sagte Shajii.

„Es gibt immer noch einige Python-Bibliotheken, die wir noch nicht implementiert haben.“ Amarasinghe fügte hinzu: „Python wurde tatsächlich von unzähligen Leuten getestet, und Codon hat dieses Niveau noch nicht erreicht. Es muss mehr Programme ausführen und mehr Feedback erhalten.“ . und es wird einige Zeit dauern, bis ein stabiles Niveau von regulärem Python erreicht ist. „Codon wurde ursprünglich für Genomik- und Bioinformatikarbeiten entwickelt. Die Forscher testeten etwa zehn gängige Genomikanwendungen, die in Python geschrieben waren, und kompilierten sie mit Codon. Dabei erzielten sie eine fünf- bis zehnfache Geschwindigkeitssteigerung im Vergleich zur ursprünglichen manuell optimierten Implementierung.

„Datensätze in diesen Bereichen sind heutzutage sehr groß geworden, und Hochsprachen wie Python und R sind zu langsam, um die Terabytes an Daten pro Sequenzierungssatz zu verarbeiten“, sagte Shajii. „Das ist die Lücke, die wir schließen wollen – indem wir Domänenexperten, die keine Informatiker oder professionellen Entwickler sind, eine Möglichkeit bieten, große Datenmengen zu verarbeiten, ohne C- oder C++-Code schreiben zu müssen.“ vergleicht die Leistung von Python (CPython 3), PyPy, Codon und C++ bei mehreren Benchmarks. Die y-Achse zeigt die Beschleunigung der Codon-Implementierung im Vergleich zur CPython-Implementierung. MIT/EXALOOP/UNIVERSITY OF VICTORIA/ACM

Neben der Genomik kann Codon auch auf ähnliche Anwendungen angewendet werden, die sich mit riesigen Datensätzen befassen, sowie auf Bereiche wie GPU-Programmierung und parallele Programmierung, die von Python unterstützt werden. basierte Compiler. Tatsächlich wird Codon jetzt durch das Startup Exaloop, das Shajii gegründet hat, um Codon von einem akademischen Projekt in eine Industrieanwendung zu verwandeln, kommerziell in den Bereichen Bioinformatik, Deep Learning und quantitative Finanzen eingesetzt.

Dieser Compiler kann Python so schnell wie C++ machen: bis zu hundertmal schneller, produziert vom MIT

Um Codon die Anpassung an verschiedene Bereiche zu ermöglichen, entwickelte das Team ein Plug-in-System. „Es ist wie ein erweiterbarer Compiler“, sagte Shajii. „Sie können Plug-ins für die Genomik oder andere Bereiche schreiben, und diese Plug-ins können über neue Bibliotheken und neue Compiler-Optimierungen verfügen.“ Darüber hinaus können Unternehmen und Institutionen Codon verwenden, um Prototypen zu erstellen und ihre eigenen Anwendungen zu entwickeln. „Eines der Muster, die wir sehen, ist, dass die Leute Python zum Prototyping und Testen verwenden, weil es einfach zu verwenden ist, aber wenn es um etwas Wichtiges geht, müssen sie die Anwendung neu schreiben oder es von jemand anderem in C oder C++ umschreiben und testen lassen.“ auf einem größeren Datensatz“, sagte Shajii. „Mit Codon können Sie Python vollständig nutzen und das Beste aus beiden Welten nutzen.“

Im Hinblick auf die Zukunft von Codon arbeiten Shajii und sein Team derzeit an nativen Implementierungen weit verbreiteter Python-Bibliotheken sowie bibliotheksspezifischer Optimierungen, um Benutzern zu helfen, eine bessere Leistung aus diesen Bibliotheken zu erzielen. Sie planen außerdem die Entwicklung einer beliebten Funktion: Codons WebAssembly-Backend, um die Ausführung von Code in einem Webbrowser zu unterstützen.

Das obige ist der detaillierte Inhalt vonDieser Compiler kann Python so schnell wie C++ machen: bis zu hundertmal schneller, produziert vom MIT. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Chat -Befehle und wie man sie benutzt
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

PHP und Python: Vergleich von zwei beliebten Programmiersprachen PHP und Python: Vergleich von zwei beliebten Programmiersprachen Apr 14, 2025 am 12:13 AM

PHP und Python haben jeweils ihre eigenen Vorteile und wählen nach den Projektanforderungen. 1.PHP ist für die Webentwicklung geeignet, insbesondere für die schnelle Entwicklung und Wartung von Websites. 2. Python eignet sich für Datenwissenschaft, maschinelles Lernen und künstliche Intelligenz mit prägnanter Syntax und für Anfänger.

Wie Debian Readdir sich in andere Tools integriert Wie Debian Readdir sich in andere Tools integriert Apr 13, 2025 am 09:42 AM

Die Readdir -Funktion im Debian -System ist ein Systemaufruf, der zum Lesen des Verzeichnisgehalts verwendet wird und häufig in der C -Programmierung verwendet wird. In diesem Artikel wird erläutert, wie Readdir in andere Tools integriert wird, um seine Funktionalität zu verbessern. Methode 1: Kombinieren Sie C -Sprachprogramm und Pipeline zuerst ein C -Programm, um die Funktion der Readdir aufzurufen und das Ergebnis auszugeben:#include#include#includeIntmain (intargc, char*argv []) {Dir*Dir; structDirent*Eintrag; if (argc! = 2) {{

Python und Zeit: Machen Sie das Beste aus Ihrer Studienzeit Python und Zeit: Machen Sie das Beste aus Ihrer Studienzeit Apr 14, 2025 am 12:02 AM

Um die Effizienz des Lernens von Python in einer begrenzten Zeit zu maximieren, können Sie Pythons DateTime-, Zeit- und Zeitplanmodule verwenden. 1. Das DateTime -Modul wird verwendet, um die Lernzeit aufzuzeichnen und zu planen. 2. Das Zeitmodul hilft, die Studie zu setzen und Zeit zu ruhen. 3. Das Zeitplanmodul arrangiert automatisch wöchentliche Lernaufgaben.

So konfigurieren Sie den HTTPS -Server in Debian OpenSSL So konfigurieren Sie den HTTPS -Server in Debian OpenSSL Apr 13, 2025 am 11:03 AM

Das Konfigurieren eines HTTPS -Servers auf einem Debian -System umfasst mehrere Schritte, einschließlich der Installation der erforderlichen Software, der Generierung eines SSL -Zertifikats und der Konfiguration eines Webservers (z. B. Apache oder NGINX) für die Verwendung eines SSL -Zertifikats. Hier ist eine grundlegende Anleitung unter der Annahme, dass Sie einen Apacheweb -Server verwenden. 1. Installieren Sie zuerst die erforderliche Software, stellen Sie sicher, dass Ihr System auf dem neuesten Stand ist, und installieren Sie Apache und OpenSSL: sudoaptupdatesudoaptupgradesudoaptinsta

Gitlabs Plug-in-Entwicklungshandbuch zu Debian Gitlabs Plug-in-Entwicklungshandbuch zu Debian Apr 13, 2025 am 08:24 AM

Die Entwicklung eines Gitlab -Plugins für Debian erfordert einige spezifische Schritte und Kenntnisse. Hier ist ein grundlegender Leitfaden, mit dem Sie mit diesem Prozess beginnen können. Wenn Sie zuerst GitLab installieren, müssen Sie GitLab in Ihrem Debian -System installieren. Sie können sich auf das offizielle Installationshandbuch von GitLab beziehen. Holen Sie sich API Access Token, bevor Sie die API -Integration durchführen. Öffnen Sie das GitLab -Dashboard, finden Sie die Option "AccessTokens" in den Benutzereinstellungen und generieren Sie ein neues Zugriffs -Token. Wird generiert

Welcher Dienst ist Apache Welcher Dienst ist Apache Apr 13, 2025 pm 12:06 PM

Apache ist der Held hinter dem Internet. Es ist nicht nur ein Webserver, sondern auch eine leistungsstarke Plattform, die enormen Datenverkehr unterstützt und dynamische Inhalte bietet. Es bietet eine extrem hohe Flexibilität durch ein modulares Design und ermöglicht die Ausdehnung verschiedener Funktionen nach Bedarf. Modularität stellt jedoch auch Konfigurations- und Leistungsherausforderungen vor, die ein sorgfältiges Management erfordern. Apache eignet sich für Serverszenarien, die hoch anpassbare und entsprechende komplexe Anforderungen erfordern.

In welcher Sprache wird Apache geschrieben? In welcher Sprache wird Apache geschrieben? Apr 13, 2025 pm 12:42 PM

Apache ist in C geschrieben. Die Sprache bietet Geschwindigkeit, Stabilität, Portabilität und direkten Zugriff auf Hardware, wodurch es für die Entwicklung von Webserver ideal ist.

PHP und Python: Code Beispiele und Vergleich PHP und Python: Code Beispiele und Vergleich Apr 15, 2025 am 12:07 AM

PHP und Python haben ihre eigenen Vor- und Nachteile, und die Wahl hängt von den Projektbedürfnissen und persönlichen Vorlieben ab. 1.PHP eignet sich für eine schnelle Entwicklung und Wartung großer Webanwendungen. 2. Python dominiert das Gebiet der Datenwissenschaft und des maschinellen Lernens.

See all articles