Skip to content
This repository was archived by the owner on Oct 31, 2025. It is now read-only.
This repository was archived by the owner on Oct 31, 2025. It is now read-only.

Make BuilderSpirv::has_capability and has_extension O(1) #633

@khyperia

Description

@khyperia

From #630:

We should cache the extensions/capabilities into a hashset or something instead of doing a linear search every time (and string cmp on top of that). There's probably a lot of other inefficiencies like this littered around the codebase, too, but yeah.

(Also we should really look into removing/bypassing rspirv's type deduplication code, it's wasting quite a bit of work double-deduplicating stuff after our deduplication - and their deduplication is a linear scan through all types_global_values, unlike our hash lookup)

Metadata

Metadata

Assignees

No one assigned

    Labels

    t: enhancementA new feature or improvement to an existing one.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions