- das Beste aus drei Welten -
Dr. Stefan Behnel
(Python-Consultant und Cython Core-Entwickler)
Cython ist die Brücke zwischender Einfachheit von Python undder Performance von C/C++/Fortran.![]()
Cython ist die Brücke zwischender Einfachheit von Python undder Performance von C/C++/Fortran.![]()
Cython ist
Dummes Beispiel:
def find_even_numbers(int n):
cdef int i
for i in range(1, n):
if i % 2 == 0:
yield i
"Wir schreiben C, damit ihr es nicht müsst!"
PyPy ist
PyPy bietet
Beispiel:
cdef char** cstrings = <char**>malloc(...)
for i, name in enumerate(some_list):
cstrings[i] = name
OK in CPython:
Crash in cpyext beim Zugriff auf cstrings
staticmethod / classmethod funktionieren nicht sauber
fehlerhaftes PyType_Ready(), kein PyType_Modified()
=> nachträgliche Änderungen werden nicht erkannt
Notlösung:
hasattr(ext_type, 'method_name')
=> interne Aktualisierung
Danke!