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

Formal Metadata

Title
HPy: The Future of Python Native Extensions
Title of Series
Number of Parts
141
Author
License
CC Attribution - NonCommercial - ShareAlike 4.0 International:
You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal and non-commercial purpose as long as the work is attributed to the author in the manner specified by the author or licensor and the work or content is shared also in adapted form only under the conditions of this
Identifiers
Publisher
Release Date
Language

Content Metadata

Subject Area
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.
OracleSoftwareCore dumpSoftware developerLocal GroupExtension (kinesiology)Open setAbstractionImplementationGoodness of fitSpeicherbereinigungPoint (geometry)Multiplication signExtension (kinesiology)Memory managementImplementationNumberPoint cloudCartesian coordinate systemThread (computing)Pauli exclusion principleUniform resource locatorGroup actionCapability Maturity ModelPulse (signal processing)Run time (program lifecycle phase)Software developerFlow separationPointer (computer programming)Object (grammar)Video gameSpeicheradresseCycle (graph theory)CodeField extensionData managementHuman migrationJava appletData structureArithmetic meanCore dumpExplosionField (computer science)EmailOverhead (computing)Phase transitionRight angleExterior algebraOpen setPerfect groupFitness functionMathematical optimizationBenchmarkProper mapProjective planeEndliche ModelltheorieNumerical analysisDifferent (Kate Ryan album)CompilerSemiconductor memoryRevision controlProgrammer (hardware)Electronic mailing listBitPiInterpreter (computing)Software engineeringCountingError messageBytecodeState of matterRoundness (object)Computer animationMeeting/Interview
Overhead (computing)Human migrationImplementationMacro (computer science)Fluid staticsFunction (mathematics)System callExtension (kinesiology)Binary codeInterpreter (computing)Interpreter (computing)Asynchronous Transfer ModeLatent heatSystem callField extensionFunctional (mathematics)Hybrid computerType theoryBitBenchmarkInteractive televisionRevision controlModule (mathematics)Field (computer science)Division (mathematics)Human migrationBuildingMacro (computer science)Parameter (computer programming)Overhead (computing)Electronic mailing listMathematicsAttribute grammarString (computer science)Different (Kate Ryan album)Cartesian coordinate systemObject (grammar)Position operatorData conversionContext awarenessTable (information)Compilation albumPoint (geometry)Computer configurationMeasurementError messageDifferenz <Mathematik>Arithmetic progressionGame controllerSinc functionCodeTheoryLine (geometry)Observational errorImplementationLibrary (computing)MultiplicationMultiplication signNumberRun time (program lifecycle phase)UnicodeSet (mathematics)MedianComputer animation
Hybrid computerOracleFood energyGodBinary codeRun time (program lifecycle phase)Structural loadCodeField extensionAdditionAsynchronous Transfer ModePoint (geometry)Context awarenessLeakIntegerBitPlanningData managementError messageTouchscreenSoftware developerGraph (mathematics)Interpreter (computing)Group actionWordRevision controlLine (geometry)MereologyEquivalence relationOcean currentMeta elementProjective planeImplementationMemory managementFlow separationFunctional (mathematics)Different (Kate Ryan album)Front and back endsProof theoryArithmetic progressionComputer configurationSocial classHybrid computerClosed setMathematical optimizationNumberDesign by contractMultiplication signModule (mathematics)MultiplicationExtension (kinesiology)Type theory1 (number)Point cloudSinc functionDemo (music)Tracing (software)Limit (category theory)Pointer (computer programming)Stack (abstract data type)Software testingComputer animationLecture/Conference
CodeWebsiteCore dumpTask (computing)System programmingDisintegrationLatent heatElectric currentPresentation of a groupServer (computing)Software developerAsynchronous Transfer ModeSoftware developerTask (computing)ImplementationFunctional (mathematics)Translation (relic)Keyboard shortcutWebdesignRepository (publishing)Right angleField extensionCompilerAreaSet (mathematics)Different (Kate Ryan album)Landing pageExtension (kinesiology)Computer animation
CodeWebsiteOracleCore dumpTask (computing)System programmingDisintegrationSuccessive over-relaxationWebsiteSlide ruleExtension (kinesiology)Field extensionModule (mathematics)Computer virusDifferent (Kate Ryan album)Single-precision floating-point formatRun time (program lifecycle phase)Session Initiation ProtocolInterpreter (computing)MereologyUniverse (mathematics)Computer animationLecture/Conference
Coma BerenicesInstallation artField extensionLink (knot theory)Module (mathematics)Exception handlingRun time (program lifecycle phase)Data compressionLibrary (computing)Prime idealLecture/ConferenceMeeting/Interview
Coma BerenicesProjective planeMereologyProcess (computing)Software testingRight angleField extensionBenchmarkAuthorizationConfidence intervalGoodness of fitLevel (video gaming)Lecture/Conference
Water vaporComa BerenicesPortable Object AdapterGoodness of fitExtension (kinesiology)Field extensionTask (computing)Module (mathematics)Type theoryPlanningLatent heatBoilerplate (text)Lecture/Conference
Food energyHuman migrationMemory managementType theoryModule (mathematics)Installation artBitField extensionMultiplicationMeeting/InterviewLecture/Conference
Stability theorySoftware testingSoftware maintenanceExtension (kinesiology)Lecture/ConferenceMeeting/Interview
Food energyComputer fontComa BerenicesPoint (geometry)Confidence intervalOpen setProjective planeVideo gameElectric generatorOpen sourceSystem callDivisorLecture/ConferenceMeeting/Interview
Coma BerenicesLibrary (computing)Right angleAsynchronous Transfer ModeModule (mathematics)BitData conversionCASE <Informatik>CodeMereologyLecture/ConferenceMeeting/Interview
Coma BerenicesSinc functionPauli exclusion principleGeometryAbstractionExtension (kinesiology)Thread (computing)Interpreter (computing)Lecture/ConferenceMeeting/Interview
Coma BerenicesWebsiteObject (grammar)Pointer (computer programming)Semiconductor memoryCore dumpPiAbstractionImplementationLecture/ConferenceMeeting/Interview
Coma BerenicesImplementationJava appletMechanism designData structureObject (grammar)Multiplication signCountingField (computer science)Lecture/ConferenceMeeting/Interview
Lecture/ConferenceComputer animation
Transcript: English(auto-generated)