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

Optimizing rav1e

00:00

Formal Metadata

Title
Optimizing rav1e
Subtitle
Effective profiling techniques and optimization strategies
Title of Series
Number of Parts
490
Author
License
CC Attribution 2.0 Belgium:
You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal purpose as long as the work is attributed to the author in the manner specified by the author or licensor.
Identifiers
Publisher
Release Date
Language

Content Metadata

Subject Area
Genre
Abstract
rav1e is a fast AV1 encoder written in rust (and plenty of assembly), released monthly. Since the 0.1.0 release we try to make sure we provide an adequate speed or quality boost compared to the previous. This talk is about what tools are available in the rust ecosystem and what are the practices that worked best for us. The presentation will touch the following topics: - Exploring a codebase and profiling it effectively, both for cpu usage and memory usage. - Which are the optimization strategies that worked for us better (critical path analysis vs peak consumer) - Benchmarking and tracing I'll provide examples on what tools worked well or not so well and what currently I consider the best and most promising tools for each tasks.
Mathematical optimizationSource codeSoftwareFingerprintCodeMultiplicationConstraint (mathematics)Data storage deviceProcess (computing)Mobile WebMetric systemMaxima and minimaRead-only memoryFrame problemMeasurementMathematicsBenchmarkPersonal digital assistantSemiconductor memoryResource allocationExecution unitNumberSoftwareMultiplication signRight angleResultantProxy serverBitInformation securityCASE <Informatik>StapeldateiGoodness of fitOpen sourceAreaVideoconferencingMeasurementFunctional (mathematics)DatabaseSystem callGraph coloringFrame problemVideo gameForcing (mathematics)Run time (program lifecycle phase)TrailGame controllerCodeBenchmarkMaxima and minimaSingle-precision floating-point formatQuicksortExecution unitNormal (geometry)Insertion lossBit rateProjective planeTask (computing)Heegaard splittingNP-hardFingerprintSource codeMixed realityMathematical optimizationSemiconductor memoryAnalytic continuationPerformance appraisalBefehlsprozessorData compressionMobile WebCodierung <Programmierung>Thread (computing)Metric systemLoop (music)Computer animation
Metric systemSemiconductor memoryMaxima and minimaResource allocationNumberExecution unitMathematical optimizationFocus (optics)Read-only memoryPersonal digital assistantRepresentation (politics)VideoconferencingFrame problemLogicPairwise comparisonSample (statistics)Codierung <Programmierung>Sampling (statistics)SubsetInformationFlagBinary fileCompilerDifferent (Kate Ryan album)NumberCASE <Informatik>QuicksortSoftware testingMultiplication signSampling (statistics)Point (geometry)VideoconferencingGoodness of fitInformationRight angleFocus (optics)Mixed realityMeasurementINTEGRALCartesian coordinate systemCore dumpResource allocationPhysical systemSource codeCountingUniform resource locatorNP-hardExecution unitProjective planeOperating systemMultiplicationComputing platformRun time (program lifecycle phase)Line (geometry)Prisoner's dilemmaWebsiteProfil (magazine)Semiconductor memoryVirtual machineSound effectSet (mathematics)ResonatorFunction (mathematics)Graph coloringSystem callEquivalence relationArithmetic meanPlanningForcing (mathematics)Metropolitan area networkProcess (computing)BenchmarkMemory managementFile formatCodeChemical equationResultantMathematical analysisMaxima and minimaComputer animation
Mathematical optimizationMathematicsCodePersonal digital assistantBenchmarkPhysical systemProfil (magazine)BenchmarkINTEGRALNormal (geometry)InformationCASE <Informatik>MereologyCore dumpBitComputer animation
Process (computing)BenchmarkCodeOrder (biology)Order of magnitudeFunctional (mathematics)Goodness of fitBenchmarkData miningMultiplication signSoftware testingRepresentation (politics)Profil (magazine)Execution unitINTEGRALCodeInformationUnit testingCASE <Informatik>Direction (geometry)Uniform resource locatorLevel (video gaming)Cache (computing)Cartesian coordinate systemQuicksortComputer animation
InformationMeasurementArmInteractive televisionVarianceVariety (linguistics)System programmingSimilarity (geometry)Graph (mathematics)Presentation of a groupFunction (mathematics)Maxima and minimaThread (computing)BenchmarkExecution unitParallel portTask (computing)Focus (optics)Duality (mathematics)Functional (mathematics)Thread (computing)MeasurementInformationMultiplication signCountingRight angleGraphical user interfaceRun time (program lifecycle phase)INTEGRALData analysisStatisticsProcess (computing)Graph (mathematics)FlagMereologyExplosionSoftware testingMathematical analysisCausalityGraph coloringPhysical systemVirtual machineProfil (magazine)Position operatorSemiconductor memoryGraph (mathematics)Computer fileOpen sourceHypercubeDataflowForcing (mathematics)TheoryCuboidNoise (electronics)CodeBenchmarkParallel portInstallation artVisualization (computer graphics)Goodness of fitRemote Access ServiceWindowComputer animation
Installation artUsabilityMereologyMultiplication signCodierung <Programmierung>Graphical user interfaceFrame problemCASE <Informatik>TesselationBlock (periodic table)NeuroinformatikDialectSystem callComputer animation
Installation artNormal (geometry)UsabilitySemiconductor memoryMaxima and minimaInformationRead-only memoryResource allocationDefault (computer science)Computing platformGraphical user interfaceLeakPattern languageCache (computing)Uniform resource locatorSymbol tableMenu (computing)Profil (magazine)TrailRight angleChainCountingInformationFunctional (mathematics)Semiconductor memoryBitShared memoryProcess (computing)Multiplication signPhysical systemWeb 2.0Different (Kate Ryan album)Web pageCASE <Informatik>Scripting languageResultantGravitationGraphics tabletPerturbation theoryError messageTable (information)Buffer solutionComputer animation
Scripting languageSample (statistics)Server (computing)Read-only memoryChi-squared distributionSession Initiation ProtocolProfil (magazine)Semiconductor memoryQuicksortGraph (mathematics)Multiplication signComputer animation
FluxSoftware frameworkSoftware testingBenchmarkRead-only memoryStandard deviationBenchmarkSoftware frameworkSoftware testingMathematical analysisCuboidCodeSocial classComputer virusServer (computing)Computer animation
CodeMetric systemSimilarity (geometry)IterationFunction (mathematics)Ideal (ethics)Axiom of choiceAlgorithmExtension (kinesiology)Mathematical optimizationCache (computing)Principle of localityMultiplicationThread (computing)Process (computing)Compilation albumMathematical optimizationStress (mechanics)Insertion lossMultiplication signSemiconductor memoryTable (information)CASE <Informatik>Right angleLatent heatCartesian coordinate systemInteractive televisionLocal ring2 (number)Source codeGoodness of fitBitCompilerAlgorithmBefehlsprozessorStrategy gameThread (computing)Process (computing)Computer animation
DisintegrationCodeCoroutineFormal languageCompilerBefehlsprozessorMultiplicationStandard deviationLibrary (computing)Thread (computing)IterationGoodness of fitCodeCompilerTwin primeINTEGRALSingle-precision floating-point formatLibrary (computing)QuicksortBefehlsprozessorLine (geometry)Projective planeExtension (kinesiology)Covering spaceThread (computing)DebuggerWechselseitiger AusschlussPrimitive (album)Boundary value problemDiffuser (automotive)Special unitary groupMetropolitan area networkConnectivity (graph theory)Alphabet (computer science)Formal languageData structureMultiplicationGraph coloringComputer animation
Block (periodic table)Codierung <Programmierung>MultiplicationLoop (music)CodeConcurrency (computer science)Computer animation
Loop (music)Codierung <Programmierung>Execution unitCodeBlock (periodic table)MultiplicationConstraint (mathematics)Level (video gaming)Parallel computingType theoryVariable (mathematics)Algebraic closureCodierung <Programmierung>TesselationMathematicsComputer animation
Read-only memoryAerodynamicsResource allocationBuffer solutionData structureData storage deviceWorkloadCodeSemiconductor memoryHybrid computerSurvival analysisMultiplication signImplementationUniform resource locatorSemiconductor memoryComplex (psychology)Data storage deviceMemory managementSet (mathematics)Queue (abstract data type)Data structureWorkloadQuicksortResultantNumberBuffer solution40 (number)Address spaceVector spaceCodeIterationFront and back endsKernel (computing)Stack (abstract data type)Computer animation
Resource allocationCodeSemiconductor memoryElectronic data interchangeMetropolitan area networkMultiplication signUniform resource locatorResource allocationComputer animation
Core dumpWechselseitiger AusschlussCodeCache (computing)Thread (computing)Variable (mathematics)WebsiteLine (geometry)Different (Kate Ryan album)Multiplication signSlide ruleComputer animationLecture/Conference
Point cloudFacebookOpen source
Transcript: English(auto-generated)