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

Remove the backward jump from the T1C condition #414

Merged
merged 1 commit into from
Apr 18, 2024

Conversation

qwe661234
Copy link
Collaborator

@qwe661234 qwe661234 commented Apr 17, 2024

According to our performance analysis, backward jumps notably impact the performance of T1C, particularly in the case of qsort and FP emulation. While backward jumps assist in identifying chained blocks with loops, they also encompass blocks without loops. Upon implementing alternative mechanisms for loop detection, we were able to eliminate the need for backward jumps.

Metric w/ backward w/o backward Speedup
qsort 1.865 1.588 +14.85%
FP emulation 3.622 2.761 +23.77%
bitfield 1.596 1.610 -0.88%

According to our performance analysis, backward jumps notably impact the
performance of T1C, particularly in the case of qsort and FP emulation.
While backward jumps assist in identifying chained blocks with loops,
they also encompass blocks without loops. Upon implementing alternative
mechanisms for loop detection, we were able to eliminate the need for
backward jumps.

|   Metric   | w backward | w/o backward | Speedup |
|------------+------------+--------------+---------|
|qsort       |       1.865|         1.588|  +14.85%|
|FP emulation|       3.622|         2.761|  +23.77%|
|bitfield    |       1.596|         1.610|   -0.88%|
@jserv jserv requested a review from vacantron April 17, 2024 12:43
Copy link
Contributor

@jserv jserv left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Benchmarks

Benchmark suite Current: efd94a4 Previous: 374daeb Ratio
Dhrystone 1759.66 Average DMIPS over 10 runs 1741.44 Average DMIPS over 10 runs 0.99
Coremark 1498.311 Average iterations/sec over 10 runs 1501.415 Average iterations/sec over 10 runs 1.00

This comment was automatically generated by workflow using github-action-benchmark.

@jserv jserv merged commit b8afbd0 into sysprog21:master Apr 18, 2024
8 checks passed
@jserv jserv added this to the release-2024.1 milestone Apr 29, 2024
vestata pushed a commit to vestata/rv32emu that referenced this pull request Jan 24, 2025
Remove the backward jump from the T1C condition
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