-
Notifications
You must be signed in to change notification settings - Fork 38
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
Ci performance #77
Ci performance #77
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
great, thanks! looks good to me in general, just some comments
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
alright looks good to merge me, thanks! just a minor comment for cleanup
one more thing that could be interesting is to add a benchmark that does rely more on translation performance instead of just performance of the translated code. for example there was an effort to run the linux kernel on etiss, which was heavily limited by the translation performance. it should be possible to build a synthetic benchmark that just contains of a large number of basic blocks that never loop.
i assume the failing ci is because there is nothing to compare to. this should be fixed on any commit after this has been merged?
include/etiss/CPUCore.h
Outdated
@@ -344,7 +344,8 @@ class CPUCore : public VirtualStructSupport, public etiss::ToString | |||
* @brief returns the list of all plugins. | |||
*/ | |||
inline std::list<std::shared_ptr<Plugin>> const *getPlugins() { return &plugins; }; | |||
|
|||
float startTime; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
these no longer need to be members right? they can just be local variables in cpucore.cpp
Correct, as this comparison relies on data tracked in the git repo on a separate branch - which does not exist yet - it does not find any data to compare against. |
it seems this logic is still missing a piece. https://github.com/tum-ei-eda/etiss/runs/3983628320?check_suite_focus=true how about:
|
this works now, the code for this PR was missing its data storage branch. we should discuss about this data branch in #83, maybe we can move this data storage e.g. to the wiki repository to not clutter the main repo. For now, performance will be reported to the wiki: https://github.com/tum-ei-eda/etiss/wiki/Performance_Metrics. i have disabled reporting to a permanent issue, if we want such functionality it can be enabled again. new pull requests should also get some performance metrics commented on them. |
This analyzes the performance regarding the MIPS value for the three JIT engines TCC, GCC and LLVM.
The entire MIPS performance history, along with the respective github commit hash is stored in a json file stats_file.json in a new branch benchmark_results.
For the current workflow run, the performance of the JIT engines are displayed as a comment under an Issue.
For the past workflow runs, the history is showed graphically (MIPS_value vs commit_hash) in the github Wiki under the folder Performance_Metrics.