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

Pre-compile metrics at build time. #172

Open
coleramos425 opened this issue Aug 25, 2023 · 0 comments
Open

Pre-compile metrics at build time. #172

coleramos425 opened this issue Aug 25, 2023 · 0 comments
Labels
Omniperf Revamp Ticket related to the redesign of Omniperf
Milestone

Comments

@coleramos425
Copy link
Collaborator

Describe the suggestion
Pre-compile metrics at build time.

Justification
Metric compilation leads to a huge overhead in the analyze step (both on the CLI and standalone GUI). Further, the metrics themselves typically are unchanging for a given version after install (e.g., it's an experts-only thing to do). Therefore, we would greatly benefit from the ability to 'compile' the metrics are build/install time, such that they we can swap many, many calls to eval for loading a pre-compiled python module (say).

Implementation
I'm sure Fei has better ideas than me here, but one option would be to simply parse the metric and generate a corresponding python function to evaluate it (e.g., everything inside of the 'AVG', 'MAX', 'MIN', etc.). This can then be applied row-wise to a data-frame using apply. If needed, we could put all counter values into e.g., a row['<counter name>'] or some other uniform name for the row that can be passed to the function.

Additional Notes

Also, we should drop the separate metrics for 'AVG' v 'MIN' v 'MAX', etc., and just rely on pandas functions for these to cut down on unnecessary function calls / evals.

cc: @feizheng10

Originally posted by @arghdos in #153 (comment)

@coleramos425 coleramos425 added the Omniperf Revamp Ticket related to the redesign of Omniperf label Aug 25, 2023
@coleramos425 coleramos425 modified the milestones: v1.2.0, v1.3.0 Aug 25, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Omniperf Revamp Ticket related to the redesign of Omniperf
Projects
None yet
Development

No branches or pull requests

1 participant