Skip to content

Commit 06550c5

Browse files
committed
benchmark(feat): Add logging, default benchmarks for all algos.
1 parent 9231cb2 commit 06550c5

File tree

17 files changed

+483
-75
lines changed

17 files changed

+483
-75
lines changed

benchmark.sh

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,5 +16,5 @@ SCRIPT_DIR=$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" &> /dev/null && pwd)
1616

1717
# Run the benchmarks.
1818
cd $SCRIPT_DIR
19-
cargo build --manifest-path="$SCRIPT_DIR/crates/bench/Cargo.toml"
20-
cargo run --manifest-path="$SCRIPT_DIR/crates/bench/Cargo.toml" -- $@
19+
cargo build --manifest-path="$SCRIPT_DIR/crates/bench/Cargo.toml" --release
20+
cargo run --manifest-path="$SCRIPT_DIR/crates/bench/Cargo.toml" --release -- $@

benchmarks/fibonacci.toml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
name = "Fibonacci"
2+
source_file = "./examples/algorithms/fibonacci.cobol"
3+
# The 93rd fibonacci number is the largest that can fit within a 64-bit integer.
4+
stdin = "93\n"
5+
iterations = 1000

benchmarks/fizzbuzz.toml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
name = "FizzBuzz"
2+
source_file = "./examples/algorithms/fizzbuzz.cobol"
3+
stdin = "100000\n"
4+
iterations = 100

benchmarks/questionmarks.toml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
name = "QuestionMarks"
2+
source_file = "./examples/algorithms/questionmarks.cobol"
3+
stdin = "THIS2??IS?8A?TEST?STRING?2????3TO??TEST!CONFORMANCY?7??\n"
4+
iterations = 1000

benchmarks/rot13.toml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
name = "ROT13"
2+
source_file = "./examples/algorithms/rot13.cobol"
3+
stdin = "LOREM IPSUM DOLOR SIT AMET, CONSECTETUR ADIPISCING ELIT. SUSPENDISSE SED NULLA A DIAM DAPIBUS PLACERAT. AENEAN ET MOLLIS FELIS, ET LAOREET SAPIEN. FUSCE A VULPUTATE ODIO. PROIN NON PULVINAR SAPIEN. PROIN MALESUADA IMPERDIET LACINIA. PELLENTESQUE AC ERAT ULTRICIES, PELLENTESQUE ENIM DICTUM, CONSECTETUR ELIT. VESTIBULUM ID EROS PORTA, LOBORTIS EROS AC, CONSEQUAT AUGUE. CRAS BIBENDUM, TURPIS QUIS CURSUS VESTIBULUM, NUNC ELIT DAPIBUS SEM, AT PRETIUM URNA MASSA IMPERDIET DOLOR. SUSPENDISSE SAPIEN METUS, ELEIFEND ACCUMSAN ANTE VEL, LOBORTIS IMPERDIET FELIS. ETIAM PORTTITOR SED URNA QUIS CONGUE. PELLENTESQUE LACINIA, LEO AT CONDIMENTUM RUTRUM, QUAM NULLA PORTA ELIT, EGET BLANDIT LIGULA MAURIS NON ARCU. NULLAM VENENATIS LIBERO MAGNA, AT VESTIBULUM EST EFFICITUR SED. SED TRISTIQUE SOLLICITUDIN ARCU QUIS PHARETRA. MORBI AC EROS ERAT. INTEGER ALIQUET ALIQUET FEUGIAT. NULLAM IACULIS QUIS SAPIEN VENENATIS MOLESTIE. MAECENAS NISI MASSA, SUSCIPIT QUIS INTERDUM TINCIDUNT, GRAVIDA UT EST. NUNC VULPUTATE EST ID MAURIS ULLAMCORPER VARIUS. CRAS IN TORTOR BLANDIT LOREM MATTIS EFFICITUR QUIS QUIS LIBERO. CURABITUR MAGNA MAGNA, PELLENTESQUE VEL ACCUMSAN NEC, LUCTUS SED ELIT. DONEC DICTUM EFFICITUR PURUS ULLAMCORPER MALESUADA. FUSCE ET URNA SAPIEN. NAM NON VOLUTPAT ENIM, CONSEQUAT LOBORTIS MAURIS. DUIS TEMPUS NEQUE AC TINCIDUNT MALESUADA. DUIS GRAVIDA, LOREM QUIS PELLENTESQUE LACINIA, MI MAURIS EGESTAS ARCU, NON PULVINAR DUI NEQUE AT MAURIS. PHASELLUS LOBORTIS, IPSUM UT BIBENDUM ACCUMSAN, NIBH SAPIEN PORTA LIBERO, FACILISIS TRISTIQUE FELIS JUSTO VEL ERAT. DUIS COMMODO, LOREM QUIS TEMPUS MOLESTIE, ORCI LECTUS MATTIS TORTOR, NON DAPIBUS LEO SEM A DOLOR. MAURIS EGET NISL DAPIBUS, FERMENTUM PURUS VITAE, ULTRICES NULLA. MAECENAS TINCIDUNT MI LIBERO, VITAE PLACERAT DUI ELEIFEND NEC. DUIS NON INTERDUM SEM, PORTA BLANDIT LIGULA. NUNC VEHICULA AT LEO AC IMPERDIET. ETIAM GRAVIDA LOREM LEO, PHARETRA FACILISIS EROS VESTIBULUM UT. MORBI VULPUTATE LIGULA MAURIS, AC ULTRICIES MAGNA POSUERE UT. DONEC ACCUMSAN TELLUS IN MAGNA VARIUS POSUERE. FUSCE ID LOBORTIS MASSA. QUISQUE ENIM DOLOR, SCELERISQUE POSUERE TRISTIQUE EGET, CONVALLIS VITAE ORCI. FUSCE NUNC LACUS, INTERDUM SIT AMET TELLUS QUIS, ALIQUAM PRETIUM NISL. NULLA NON JUSTO CONGUE, VESTIBULUM DOLOR NON, IACULIS SAPIEN. SED VOLUTPAT VULPUTATE DIAM AC ACCUMSAN. NULLA INTERDUM LACUS EROS, ID FACILISIS LIGULA HENDRERIT A. CURABITUR ID ALIQUAM ARCU. VESTIBULUM ID LACINIA TELLUS, VEL VARIUS LOREM. DUIS EU NULLA CONGUE, SOLLICITUDIN SEM SED, TEMPOR NISL. UT VITAE DAPIBUS JUSTO. PHASELLUS VENENATIS CONSEQUAT AUCTOR. SED EFFICITUR BIBENDUM DICTUM. VIVAMUS UT LAOREET URNA, NON DIGNISSIM LACUS. DONEC TELLUS ENIM, ULTRICES AC DIGNISSIM ID, GRAVIDA UT NISL. ETIAM VOLUTPAT MAGNA AC URNA SEMPER ULLAMCORPER. SED ALIQUAM LIGULA MAGNA, VITAE TINCIDUNT METUS FAUCIBUS EGET. MORBI POSUERE URNA ORNARE ERAT FINIBUS, SED POSUERE MAURIS PHARETRA. PHASELLUS ET MI DAPIBUS, EFFICITUR MASSA SED, POSUERE TORTOR. ALIQUAM FEUGIAT JUSTO NON CURSUS POSUERE. PROIN EGET DIGNISSIM METUS, VITAE LACINIA NUNC. CURABITUR LUCTUS, EROS AT CONSEQUAT FINIBUS, EROS AUGUE LUCTUS RISUS, ID ACCUMSAN ANTE FELIS UT FELIS. PROIN MATTIS RISUS LACINIA MAGNA RUTRUM, AT EFFICITUR SEM SCELERISQUE. INTEGER VEL HENDRERIT FELIS. UT FAUCIBUS NON SEM NON EFFICITUR. IN HAC HABITASSE PLATEA DICTUMST. MAECENAS CURSUS EFFICITUR ORNARE. NAM EGET SODALES MAURIS. NAM CONVALLIS LAOREET EUISMOD. MORBI SODALES DUI CURSUS ELIT EUISMOD AUCTOR.\n"
4+
iterations = 1000

clean.sh

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,10 +46,20 @@ echo -e "${CYAN}Cleaning intrinsics library artifacts...${NC}"
4646
cd "${SCRIPT_DIR}/crates/intrinsics/"
4747
cargo clean $BUILD_PROFILE_ARG
4848

49+
echo -e "${CYAN}Cleaning benchmark testbench artifacts...${NC}"
50+
cd "${SCRIPT_DIR}/crates/bench/"
51+
cargo clean $BUILD_PROFILE_ARG
52+
4953
# Clean copied build artifacts in ./build.
5054
echo -e "${CYAN}Cleaning copied build artifacts...${NC}"
5155
BUILD_DIR="${SCRIPT_DIR}/build"
5256
rm -rf "$BUILD_DIR"
5357

58+
# Clean generated benchmark artifacts in ./bench_out.
59+
echo -e "${CYAN}Cleaning generated benchmark artifacts...${NC}"
60+
BENCH_OUT_DIR="${SCRIPT_DIR}/bench_out"
61+
rm -rf $BENCH_OUT_DIR/*.o
62+
rm -rf $BENCH_OUT_DIR/bench_bin
63+
5464
# Done!
5565
echo -e "${GREEN}Clean complete.${NC}"

0 commit comments

Comments
 (0)