#!/usr/bin/env python3 import time def fibonacci(n): if n <= 1: return n return fibonacci(n - 1) + fibonacci(n - 2) def fibonacci_iterative(n): if n <= 1: return n a, b = 0, 1 for i in range(2, n + 1): a, b = b, a + b return b def count_primes(limit): count = 0 for n in range(2, limit + 1): is_prime = True i = 2 while i * i <= n: if n % i == 0: is_prime = False break i += 1 if is_prime: count += 1 return count def sum_loop(iterations): total = 0 for i in range(iterations): total += i return total def main(): print("=== Python Benchmark Suite ===") start = time.perf_counter_ns() fib30 = fibonacci(30) end = time.perf_counter_ns() fib_time = (end - start) // 1000000 print(f"Fibonacci(30) recursive = {fib30}") print(f"Time: {fib_time} ms") start = time.perf_counter_ns() fib40_iter = fibonacci_iterative(40) end = time.perf_counter_ns() fib_iter_time = (end - start) // 1000000 print(f"Fibonacci(40) iterative = {fib40_iter}") print(f"Time: {fib_iter_time} ms") start = time.perf_counter_ns() primes = count_primes(100000) end = time.perf_counter_ns() prime_time = (end - start) // 1000000 print(f"Primes up to 100000 = {primes}") print(f"Time: {prime_time} ms") start = time.perf_counter_ns() sum_result = sum_loop(10000000) end = time.perf_counter_ns() sum_time = (end - start) // 1000000 print(f"Sum 0..10000000 = {sum_result}") print(f"Time: {sum_time} ms") print("=== Benchmark Complete ===") if __name__ == "__main__": main()