We're sorry but this page doesn't work properly without JavaScript enabled. Please enable it to continue.
Feedback

HPy: The Future of Python Native Extensions

00:00

Formale Metadaten

Titel
HPy: The Future of Python Native Extensions
Serientitel
Anzahl der Teile
141
Autor
Lizenz
CC-Namensnennung - keine kommerzielle Nutzung - Weitergabe unter gleichen Bedingungen 4.0 International:
Sie dürfen das Werk bzw. den Inhalt zu jedem legalen und nicht-kommerziellen Zweck nutzen, verändern und in unveränderter oder veränderter Form vervielfältigen, verbreiten und öffentlich zugänglich machen, sofern Sie den Namen des Autors/Rechteinhabers in der von ihm festgelegten Weise nennen und das Werk bzw. diesen Inhalt auch in veränderter Form nur unter den Bedingungen dieser Lizenz weitergeben.
Identifikatoren
Herausgeber
Erscheinungsjahr
Sprache

Inhaltliche Metadaten

Fachgebiet
Genre
Abstract
Updating Python versions often forces us to update native extensions at the same time. But what if you need to update Python because of a security issue, but cannot (yet) move to a newer version of a dependency? Or you are running a proprietary binary extension that cannot easily be recompiled? The HPy project provides a better C extension API for Python. It compiles to binaries that work across all versions of CPython, PyPy, GraalPy. HPy makes porting from the existing C API easy and its design ensures that the binaries we produce today stay binary compatible with future Python versions. NumPy is the single largest direct user of the CPython C API we know of. After over 2 years of work and more than 30k lines of code ported, we can demonstrate NumPy running its tests and benchmarks with HPy. We will show the same NumPy binary run on multiple CPython versions and GraalPy. And we will discuss performance characteristics of this port across CPython, GraalPy, and PyPy.
Orakel <Informatik>SoftwareSpeicherabzugSoftwareentwicklerGruppenkeimMaßerweiterungOffene MengeAbstraktionsebeneImplementierungGüte der AnpassungSpeicherbereinigungPunktMultiplikationsoperatorMaßerweiterungSpeicherverwaltungImplementierungZahlenbereichPunktwolkeKartesische KoordinatenThreadPauli-PrinzipURLGruppenoperationCMM <Software Engineering>Puls <Technik>LaufzeitfehlerSoftwareentwicklerGrenzschichtablösungZeiger <Informatik>Objekt <Kategorie>ComputerspielSpeicheradresseDreiecksfreier GraphCodeKörpererweiterungDatenverwaltungMigration <Informatik>AppletDatenstrukturArithmetisches MittelSpeicherabzugExplosion <Stochastik>DatenfeldE-MailOverhead <Kommunikationstechnik>PhasenumwandlungRechter WinkelÄußere Algebra eines ModulsOffene MengePerfekte GruppeFitnessfunktionGlobale OptimierungBenchmarkEigentliche AbbildungProjektive EbeneEndliche ModelltheorieNumerisches VerfahrenDifferenteCompilerHalbleiterspeicherVersionsverwaltungProgrammiergerätMailing-ListeBitPi <Zahl>InterpretiererSoftware EngineeringZählenFehlermeldungByte-CodeAggregatzustandUnrundheitComputeranimationBesprechung/Interview
Overhead <Kommunikationstechnik>Migration <Informatik>ImplementierungMakrobefehlHydrostatikFunktion <Mathematik>SystemaufrufMaßerweiterungBinärcodeInterpretiererInterpretiererATMUmwandlungsenthalpieSystemaufrufKörpererweiterungFunktionalHybridrechnerTypentheorieBitBenchmarkInteraktives FernsehenVersionsverwaltungBimodulDatenfeldDivisionMigration <Informatik>Gebäude <Mathematik>MakrobefehlParametersystemOverhead <Kommunikationstechnik>Mailing-ListeMathematikAttributierte GrammatikZeichenketteDifferenteKartesische KoordinatenObjekt <Kategorie>OrtsoperatorUmsetzung <Informatik>Kontextbezogenes SystemTabelleSampler <Musikinstrument>PunktKonfiguration <Informatik>EinflussgrößeFehlermeldungDifferenz <Mathematik>Arithmetische FolgeGamecontrollersinc-FunktionCodePhysikalische TheorieGeradeMessfehlerImplementierungProgrammbibliothekMultiplikationMultiplikationsoperatorZahlenbereichLaufzeitfehlerUnicodeSchnittmengeMedianwertComputeranimation
HybridrechnerOrakel <Informatik>EnergiedichteGrundsätze ordnungsmäßiger DatenverarbeitungBinärcodeLaufzeitfehlerLastCodeKörpererweiterungAdditionATMPunktKontextbezogenes SystemLeckGanze ZahlBitAutomatische HandlungsplanungDatenverwaltungFehlermeldungTouchscreenSoftwareentwicklerGraphInterpretiererGruppenoperationWort <Informatik>VersionsverwaltungGeradeMereologieÄquivalenzklasseStrömungsrichtungMeta-TagProjektive EbeneImplementierungSpeicherverwaltungGrenzschichtablösungFunktionalDifferenteFront-End <Software>BeweistheorieArithmetische FolgeKonfiguration <Informatik>Klasse <Mathematik>HybridrechnerAbgeschlossene MengeGlobale OptimierungZahlenbereichDesign by ContractMultiplikationsoperatorBimodulMultiplikationMaßerweiterungTypentheorieEinsPunktwolkesinc-FunktionDemo <Programm>AblaufverfolgungInverser LimesZeiger <Informatik>Keller <Informatik>SoftwaretestComputeranimationVorlesung/Konferenz
CodeWeb SiteSpeicherabzugTaskSystemprogrammierungDesintegration <Mathematik>UmwandlungsenthalpieStrom <Mathematik>Coxeter-GruppeServerSoftwareentwicklerATMSoftwareentwicklerTaskImplementierungFunktionalTranslation <Mathematik>SchnelltasteWebdesignDokumentenserverRechter WinkelKörpererweiterungCompilerFlächeninhaltSchnittmengeDifferenteLanding PageMaßerweiterungComputeranimation
CodeWeb SiteOrakel <Informatik>SpeicherabzugTaskSystemprogrammierungDesintegration <Mathematik>Sukzessive ÜberrelaxationWeb SiteRechenschieberMaßerweiterungKörpererweiterungBimodulComputervirusDifferenteEinfache GenauigkeitLaufzeitfehlerSISPInterpretiererMereologieGrundraumComputeranimationVorlesung/Konferenz
COMInstallation <Informatik>KörpererweiterungVerschlingungBimodulAusnahmebehandlungLaufzeitfehlerDatenkompressionProgrammbibliothekPrimidealVorlesung/KonferenzBesprechung/Interview
COMProjektive EbeneMereologieProzess <Informatik>SoftwaretestRechter WinkelKörpererweiterungBenchmarkAutorisierungBereichsschätzungGüte der AnpassungMAPVorlesung/Konferenz
WasserdampftafelCOMPortabler ObjektadapterGüte der AnpassungMaßerweiterungKörpererweiterungTaskBimodulTypentheorieAutomatische HandlungsplanungUmwandlungsenthalpieTextbausteinVorlesung/Konferenz
EnergiedichteMigration <Informatik>SpeicherverwaltungTypentheorieBimodulInstallation <Informatik>BitKörpererweiterungMultiplikationBesprechung/InterviewVorlesung/Konferenz
Stabilitätstheorie <Logik>SoftwaretestSoftwarewartungMaßerweiterungVorlesung/KonferenzBesprechung/Interview
EnergiedichteFontCOMPunktBereichsschätzungOffene MengeProjektive EbeneComputerspielGenerator <Informatik>Open SourceSystemaufrufTeilbarkeitVorlesung/KonferenzBesprechung/Interview
COMProgrammbibliothekRechter WinkelATMBimodulBitUmsetzung <Informatik>CASE <Informatik>CodeMereologieVorlesung/KonferenzBesprechung/Interview
COMsinc-FunktionPauli-PrinzipElementargeometrieAbstraktionsebeneMaßerweiterungThreadInterpretiererVorlesung/KonferenzBesprechung/Interview
COMWeb SiteObjekt <Kategorie>Zeiger <Informatik>HalbleiterspeicherSpeicherabzugPi <Zahl>AbstraktionsebeneImplementierungVorlesung/KonferenzBesprechung/Interview
COMImplementierungAppletMechanismus-Design-TheorieDatenstrukturObjekt <Kategorie>MultiplikationsoperatorZählenDatenfeldVorlesung/KonferenzBesprechung/Interview
Vorlesung/KonferenzComputeranimation
Transkript: Englisch(automatisch erzeugt)