Skip to content

Multi-version encoders #81

@RunDevelopment

Description

@RunDevelopment

Previous discussion.


Encoders can benefit a lot from extensions such as AVX, SSE4.1, FMA, and more. Just compiling for these features can yield 5% performance improvements, and potentially more if code is optimized for it.

However, most users compile generic binaries for broad compatibility, which leaves "free" performance on the table. Multi-versioning (compiling multiple versions of the one functions for different instruction sets and selecting the best one at runtime) can reclaim this performance at the cost of increased binary size and compile time. Crates such as multiversion make this easy and safe.

Investigate the costs and benefits of multi-versioning

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions