Skip to content

[mono] Implement cuckoo filter for attribute retrieval #83974

Open
@kotlarmilos

Description

@kotlarmilos

Description

This PR tracks progress on implementation of cuckoo filter for attribute retrieval with possibly higher execution speed performance path if attribute doesn't exist, as outlined in dotnet/coreclr#24498.

The runtime has a list of "well known" attributes and their names. During the AOT compilation, if a class or method is annotated with the attribute, a cuckoo filter entry could be created that combines the hash code of the known attribute name and the metadata token of the item as a hash key.

At the runtime, if the AOT image is available, it could first lookup if a particular item has the attribute by computing the hash again and retrieving probability from the filter. If there is a non-zero probability for the attribute, the runtime could perform a slow check (false positives are possible). Otherwise (common case), it is known that the member doesn't have the attribute.

Metadata

Metadata

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions