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

Ci performance #77

Merged
merged 9 commits into from
Oct 23, 2021
Merged

Ci performance #77

merged 9 commits into from
Oct 23, 2021

Conversation

Samanti-Das
Copy link

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.

Copy link
Member

@rafzi rafzi left a 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

Copy link
Member

@rafzi rafzi left a 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?

@@ -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;
Copy link
Member

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

@wysiwyng
Copy link
Contributor

wysiwyng commented Oct 7, 2021

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?

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.

@rafzi rafzi merged commit 5c88f85 into tum-ei-eda:master Oct 23, 2021
@rafzi
Copy link
Member

rafzi commented Oct 23, 2021

it seems this logic is still missing a piece. https://github.com/tum-ei-eda/etiss/runs/3983628320?check_suite_focus=true

how about:

  • try to get results and compare. if there are no previous results, remember failed status, but return success in this ci step
  • store results regardless of failed status
  • if failed before, return failure in ci

@wysiwyng
Copy link
Contributor

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants