Skip to content

Commit

Permalink
Add IsDecreasing benchmark
Browse files Browse the repository at this point in the history
  • Loading branch information
NgaiJustin committed Aug 31, 2023
1 parent 111d864 commit 61e4344
Show file tree
Hide file tree
Showing 4 changed files with 50 additions and 0 deletions.
47 changes: 47 additions & 0 deletions benchmarks/core/is-decreasing.bril
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
# Input: an array of length 6
# Output: if an number contains digits in strictly decreasing order
# ARGS: 954320
@main(x: int) {
tmp0: bool = call @is_decreasing x;
tmp: bool = id tmp0;
print tmp;
}
@is_decreasing(x: int): bool {
tmp: int = id x;
tmp1: int = const 1;
tmp2: int = const -1;
tmp3: int = mul tmp1 tmp2;
prev: int = id tmp3;
.label4:
tmp7: int = const 0;
tmp8: bool = gt tmp tmp7;
br tmp8 .label5 .label6;
.label5:
tmp9: int = call @last_digit tmp;
digit: int = id tmp9;
tmp10: bool = lt digit prev;
br tmp10 .label11 .label12;
.label11:
tmp14: bool = const false;
ret tmp14;
jmp .label13;
.label12:
jmp .label13;
.label13:
prev: int = id digit;
tmp15: int = const 10;
tmp16: int = div tmp tmp15;
tmp: int = id tmp16;
jmp .label4;
.label6:
tmp17: bool = const true;
ret tmp17;
}
@last_digit(x: int): int {
tmp18: int = const 10;
tmp19: int = div x tmp18;
tmp20: int = const 10;
tmp21: int = mul tmp19 tmp20;
tmp22: int = sub x tmp21;
ret tmp22;
}
1 change: 1 addition & 0 deletions benchmarks/core/is-decreasing.out
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
true
1 change: 1 addition & 0 deletions benchmarks/core/is-decreasing.prof
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
total_dyn_inst: 127
1 change: 1 addition & 0 deletions docs/tools/bench.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@ The current benchmarks are:
* `function_call`: For benchmarking the overhead of simple function calls.
* `gcd`: Calculate Greatest Common Divisor (GCD) of two input positive integer using [Euclidean algorithm][euclidean_into].
* `hanoi`: Print the solution to the *n*-disk [Tower of Hanoi][hanoi] puzzle.
* `is-decreasing`: Print if a number contains strictly decreasing digits.
* `loopfact`: Compute *n!* imperatively using a loop.
* `mandelbrot`: Generates a really low resolution, ascii, [mandelbrot set][mandelbrot].
* `mat-inv` : Calculates the inverse of a 3x3 matrix and prints it out.
Expand Down

0 comments on commit 61e4344

Please sign in to comment.