Skip to content

Re-enable NativeAOT benchmarks that are currently not supported due to missing metadata #2338

@adamsitnik

Description

@adamsitnik

There are currently multiple benchmarks with [AotFilter("Currently not supported due to missing metadata.")] filter applied: https://github.com/dotnet/performance/search?q=AotFilter

With dotnet/BenchmarkDotNet#1973 in theory some of these benchmarks could now work.

The person who is willing to work on that should re-enable these benchmarks (by removing the attribute), see if they work:

py .\scripts\benchmarks_ci.py -f nativeaot7.0 --filter '*ColdStartSerialization*' --bdn-arguments "--keepFiles true"

and if they don't, apply the necessary DynamicallyAccessedMembers attributes (dotnet/runtime#66085 (comment)).

If it's impossible to make it work with DAM, we most probably need to extend BDN to support rd.xml files provided by the user (dotnet/BenchmarkDotNet#1680), also suggested by @hez2010 in
https://github.com/dotnet/performance/pull/2328/files/3be06148aa1529c760deaa63d42cbde96a254152#r834076648

This would require finding the rd.xml file which is just next to project file:

https://github.com/dotnet/BenchmarkDotNet/blob/09d9396a7980dcb65be97169b8611c208af075a2/src/BenchmarkDotNet/Toolchains/NativeAot/Generator.cs#L185

and including it here:

https://github.com/dotnet/BenchmarkDotNet/blob/09d9396a7980dcb65be97169b8611c208af075a2/src/BenchmarkDotNet/Toolchains/NativeAot/Generator.cs#L188

and here:

https://github.com/dotnet/BenchmarkDotNet/blob/09d9396a7980dcb65be97169b8611c208af075a2/src/BenchmarkDotNet/Toolchains/NativeAot/Generator.cs#L153

Metadata

Metadata

Assignees

No one assigned

    Labels

    help wantedExtra attention is needed

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions