Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[feature] Implement performance templates for frequently used code paths #3505

Open
kotlarmilos opened this issue Nov 24, 2023 · 2 comments
Open
Assignees
Labels
enhancement New feature or request help wanted Extra attention is needed

Comments

@kotlarmilos
Copy link
Member

Motivation and background

Currently, .NET runtime CI tests run on "any platform/any device," but they do not evaluate the performance of the generated code. When developers make changes to the code, they typically rely on autofilling performance issues to detect performance-related issues. This approach can lead to a delay in identifying the actual cause of the issue and proposing a fix. Additionally, these issues are often reported on a weekly basis, which can further prolong the delay in addressing performance issues.

Proposal

The proposed solution is to introduce performance templates for hot code paths and intrinsics in the form of functional tests. Running microbenchmarks for every PR can be resource-intensive. This is where these templates can be beneficial. We can create a functional application that runs as part of our functional tests and measures frequently used code paths. The local script could help here, but it requires additional manual verification which is sometimes skipped, or not tested on all architectures/OS.

These tests should focus on measuring both code size and execution speed. We should ensure that any changes made to the code do not result in significant performance regressions in the covered code paths. While a local script could assist in this regard, it often requires additional manual verification, which is sometimes skipped or not tested on all architectures and operating systems.

@kotlarmilos kotlarmilos added enhancement New feature or request help wanted Extra attention is needed labels Nov 24, 2023
@kotlarmilos kotlarmilos self-assigned this Nov 24, 2023
@kotlarmilos
Copy link
Member Author

@cincuranet
Copy link
Contributor

Tagging also @sblom.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

2 participants