Was ist Kython? Eine Einführung in eine aufgeladene Version von Python

Haben Sie es satt, wie langsam Python ist? Wenn Sie nach einer Möglichkeit suchen, Python-Code zu optimieren, insbesondere für den Umgang mit Big Data, sollten Sie vielleicht etwas Zeit in Cython investieren.

Wie Tiere oder Pflanzen leben und sterben Sprachen. Eine Sprache wird von ihren Sprechern am Leben erhalten und kann aussterben, wenn diese Sprecher selbst sterben. Nehmen Sie zum Beispiel Latein, das die Grundlage vieler moderner westlicher Sprachen bildete, aber seit Jahrhunderten nicht weit verbreitet ist. Es ist die gleiche Geschichte für Programmiersprachen.

Programmiersprachen steigen und fallen mit den Wellen der Innovation. Codierung durchläuft Trends; Jede Art von Sprache entwickelt sich und baut sich auf, und das Gleiche gilt für Programmiersprachen, die immer beliebter werden, bevor sie schließlich verdrängt werden und in den Annalen vergessener Festplatten landen.

Ein Teil des Codes, den Entwickler in den frühen Tagen der Software verwendeten, ist im Vergleich zu dem Code, den wir heute verwenden, nur Hieroglyphen an einer Höhlenwand. Auch ziemlich berühmte Sprachen sind auf der Strecke geblieben, wurden weiterentwickelt oder sind einfach an Popularität eingebüßt. Pascal führte zu Delphi, Objective C wurde durch ein viel cooleres Swift ersetzt und Perl befindet sich seit Jahren im Grenzzustand, regelmäßig in und aus der Mode.

Python darauf aufgebaut und kommt Datenwissenschaftlern und KI-Programmierern zugute.

Was ist Kython?

Python ist eine allgemeine Programmiersprache auf hohem Niveau, die 1991 vom Niederländer Guido van Rossum entwickelt und nach der exzentrischen britischen Comedy-Truppe Monty Python benannt wurde. Cython ist ein Kunstwort aus Python und C/C++, nicht zu verwechseln mit CPython.

Cython hat eine benutzerfreundliche Oberfläche, die es Python ermöglicht, mit C/C++-Code zu interagieren. Cython kann die Rechenzeit massiv verkürzen: Das ist der Hauptgrund, warum es einen Hype ausgelöst hat, da Cython im Gegensatz zu Python verlangt, dass Code „ausführbar“ ist.

Cython erfordert etwas mehr Codierung, kann aber eine größere Belohnung haben. / Kredit: Kardinalspitze

Ein Compiler analysiert den Quellcode und kann eine niedrigere Maschinensprache des von Ihnen geschriebenen Codes erzeugen. Im Allgemeinen macht dies die Maschinensprache schneller und für Ihren Computer leichter lesbar. Python ist eine hohe Maschinensprache. Cython nimmt komplizierte Anweisungen, die von Menschen nicht gelesen werden können, und kompiliert sie effizient, damit ein Computer sie lesen kann.

Python ist für Menschen fast lesbar. Es ist eher ein Interpreter als ein Compiler, was bedeutet, dass es Code Zeile für Zeile in Anweisungen für einen Computer umwandelt. Die Übersetzung braucht Zeit. Python scannt durch, bis es einen Fehler erreicht, und dies kann ein langsamer Prozess sein.

Die Geschwindigkeit von Cython im Vergleich zu Python hängt vom Code selbst ab. Rechenlastige Loops können von Cython schnell und einfach bewältigt werden.

Wie könnte Cython verwendet werden?

Python wird häufig in Verbindung mit künstlicher Intelligenz verwendet. Für viele Entwickler ist Python das Rückgrat des maschinellen Lernens und Entwickler verwenden Bibliotheken wie Keras, Scikit-learn und TensorFlow. Python ist auch verwendet für Natural Language Processing (NLP) da es einfache Syntax- und Rich-Text-Verarbeitungstools verwendet.

Die Fähigkeit von Cython, Ihre Python-Workflows zu beschleunigen, macht es äußerst attraktiv. Nehmen Sie zum Beispiel eine NLP-Aufgabe: Stellen Sie sich vor, Sie möchten zählen, wie oft ein bestimmtes Wort in einem Datensatz auftaucht. Eine Python-Schleife kann die Antwort finden, aber wenn man annimmt, dass ein Datensatz Tausende von Dokumenten enthält, kann es lange dauern, bis man ein Ergebnis erhält.

In Python gibt es etwas, das als globale Interpreter-Sperre (GIL) bezeichnet wird. Dies ist im Wesentlichen eine Sperre, die den Zugriff auf Python-Objekte schützt und verhindert, dass mehrere Threads Python-Bytecodes gleichzeitig ausführen. Die Speicherverwaltung von CPython ist nicht Thread-sicher, aber diese Sperre stabilisiert Python.

Mit Cython wird diese GIL-Sperre aufgehoben.


Cython ist die Programmiersprache der Zukunft, wenn es um NLP geht


Cython-Code ist etwas länger – ein Entwickler muss die C-Strukturen deklarieren und füllen – aber letztendlich läuft er viel schneller. Cython-Code kann bis zu 2300-mal schneller sein als die Python-Implementierung; Obwohl die traditionelle Annahme bei KI ist, dass sie in Labors von Wissenschaftlern auf Superquantencomputern durchgeführt wird, ist die Wahrheit, dass Sie Python auf Mac, Windows und Linux ausführen können. Dieses Geschwindigkeitsupdate ist für jeden Programmierer sehr willkommen.

Wenn es bei Cython einen wesentlichen Nachteil gibt, dann den, dass einige Entwickler es vorziehen, den Code nicht sozusagen zu „kontaminieren“. Manche bevorzugen, dass Python Python bleibt: Den Code mit C-Elementen zu verwechseln, kann die Dinge verkomplizieren.

Langfristig gesehen dient Cython jedoch lediglich dazu, Python einfacher zu machen, und nicht, um es komplexer zu machen. Python-Programme können Cython ohne Add-ons oder Erweiterungen ausführen. Wenn Sie einen großen Datensatz vorverarbeiten oder Analysen durchführen, ist Cython eine relativ einfache Möglichkeit, Ihren Arbeitsablauf zu beschleunigen.

Sprachen kommen und gehen. Erst 2012 starb der in Nordschottland vorkommende Cromarty-Dialekt mit dem Tod seines letzten einzigen Überlebenden aus. Programmiersprachen sollten ähnlich betrachtet werden: Die gesprochene Sprache entwickelt sich jeden Tag weiter und verzweigt sich in verschiedene Richtungen, wenn Wörter und andere Sprachen hinzugefügt werden.

Eine Entwicklung wie Cython hat sogar ihren Namen so bekommen, wie beispielsweise Frenglish – die Kombination englischer und französischer Elemente in einer Sprache – zu ihrem Titel kam. Cython ist die Programmiersprache der Zukunft, wenn es um NLP geht. Welche Art von Sprache werden wir am Ende darauf aufbauen?

Lukas Konrad

Technologie- und Marketing-Enthusiast

Ab Initio arbeitet mit der BT Group zusammen, um Big Data bereitzustellen

Lukas Konrad • 24. Oktober 2022

KI wird zu einem immer wichtigeren Element der digitalen Transformation vieler Unternehmen. Neben der Einführung neuer Möglichkeiten stellt dies auch eine Reihe von Herausforderungen für IT-Teams und die sie unterstützenden Datenteams dar. Ab Initio hat eine Partnerschaft mit der BT Group angekündigt, um seine Big-Data-Management-Lösungen auf BTs internem...

WAICF – Tauchen Sie ein in die KI und besuchen Sie eines der ...

Delia Salinas • 10. März 2022

Cannes veranstaltet jedes Jahr eine internationale Technologieveranstaltung namens World Artificial Intelligence Cannes Festival, besser bekannt unter dem Akronym WAICF. Eine der luxuriösesten Städte der Welt, an der französischen Riviera gelegen und Gastgeber der jährlichen Filmfestspiele von Cannes, der Midem und des Cannes Lions International Festival of Creativity. 

Resilienz von einer Naturkatastrophe erholen

Amber Donovan-Stevens • 16. Dezember 2021

In den letzten zehn Jahren haben wir einige der extremsten Wetterereignisse seit Beginn der Aufzeichnungen erlebt, die alle durch unseren menschlichen Einfluss auf die Anlage verursacht wurden. Unternehmen versuchen schnell, neue umweltfreundliche Richtlinien umzusetzen, um ihren Beitrag zu leisten, aber der Klimawandel hat Unternehmen auch gezwungen, ihren Ansatz zur Wiederherstellung nach Katastrophen anzupassen und neu zu definieren. Curtis Preston...