|
| 1 | +// 🚀 CodeNothing v0.6.7 简化函数调用JIT编译性能基准测试 |
| 2 | +// 验证10-30倍性能提升目标 |
| 3 | + |
| 4 | +using lib <io>; |
| 5 | +using ns std; |
| 6 | + |
| 7 | +// 简单函数 |
| 8 | +fn add(a : int, b : int) : int { |
| 9 | + return a + b; |
| 10 | +}; |
| 11 | + |
| 12 | +fn multiply(x : int, y : int) : int { |
| 13 | + return x * y; |
| 14 | +}; |
| 15 | + |
| 16 | +fn square(n : int) : int { |
| 17 | + return n * n; |
| 18 | +}; |
| 19 | + |
| 20 | +// 内联候选函数 |
| 21 | +fn double(x : int) : int { |
| 22 | + return x * 2; |
| 23 | +}; |
| 24 | + |
| 25 | +fn triple(x : int) : int { |
| 26 | + return x * 3; |
| 27 | +}; |
| 28 | + |
| 29 | +// 递归函数 |
| 30 | +fn factorial(n : int) : int { |
| 31 | + if (n <= 1) { |
| 32 | + return 1; |
| 33 | + }; |
| 34 | + return n * factorial(n - 1); |
| 35 | +}; |
| 36 | + |
| 37 | +fn main() : int { |
| 38 | + std::println("🚀 CodeNothing v0.6.7 简化函数调用JIT编译性能基准测试"); |
| 39 | + std::println("======================================================="); |
| 40 | + std::println("目标:验证10-30倍性能提升"); |
| 41 | + std::println("======================================================="); |
| 42 | + |
| 43 | + // 📊 基准测试1:简单函数调用测试 |
| 44 | + std::println("🏠 基准测试1:简单函数调用测试"); |
| 45 | + simple_result : int = 0; |
| 46 | + for (i : 1..301) { // 300次迭代 |
| 47 | + val1 : int = add(i % 10, 5); |
| 48 | + val2 : int = multiply(i % 10, 2); |
| 49 | + val3 : int = square(i % 5 + 1); |
| 50 | + simple_result = simple_result + (val1 + val2 + val3) % 100; |
| 51 | + }; |
| 52 | + std::println("简单函数结果: " + simple_result); |
| 53 | + std::println("-------------------------------------------------------"); |
| 54 | + |
| 55 | + // 📊 基准测试2:内联函数测试 |
| 56 | + std::println("⚡ 基准测试2:内联函数测试"); |
| 57 | + inline_result : int = 0; |
| 58 | + for (i : 1..301) { // 300次迭代 |
| 59 | + val1 : int = double(i % 20); |
| 60 | + val2 : int = triple(i % 20); |
| 61 | + inline_result = inline_result + (val1 + val2) % 100; |
| 62 | + }; |
| 63 | + std::println("内联函数结果: " + inline_result); |
| 64 | + std::println("-------------------------------------------------------"); |
| 65 | + |
| 66 | + // 📊 基准测试3:递归函数测试 |
| 67 | + std::println("🔄 基准测试3:递归函数测试"); |
| 68 | + recursive_result : int = 0; |
| 69 | + for (i : 1..101) { // 100次迭代 |
| 70 | + if (i <= 50) { |
| 71 | + recursive_result = recursive_result + factorial(i % 5 + 1); |
| 72 | + }; |
| 73 | + }; |
| 74 | + std::println("递归函数结果: " + recursive_result); |
| 75 | + std::println("-------------------------------------------------------"); |
| 76 | + |
| 77 | + // 📊 基准测试4:混合函数调用测试 |
| 78 | + std::println("🎨 基准测试4:混合函数调用测试"); |
| 79 | + mixed_result : int = 0; |
| 80 | + for (i : 1..201) { // 200次迭代 |
| 81 | + temp1 : int = add(i % 5, 2); |
| 82 | + temp2 : int = double(temp1); |
| 83 | + temp3 : int = square(i % 3 + 1); |
| 84 | + mixed_result = mixed_result + (temp1 + temp2 + temp3) % 50; |
| 85 | + }; |
| 86 | + std::println("混合函数结果: " + mixed_result); |
| 87 | + std::println("-------------------------------------------------------"); |
| 88 | + |
| 89 | + // 📊 基准测试5:高频函数调用测试 |
| 90 | + std::println("🚀 基准测试5:高频函数调用测试"); |
| 91 | + high_freq_result : int = 0; |
| 92 | + for (i : 1..501) { // 500次迭代 |
| 93 | + val1 : int = add(i % 10, 1); |
| 94 | + val2 : int = double(i % 15); |
| 95 | + val3 : int = triple(i % 10); |
| 96 | + high_freq_result = high_freq_result + (val1 + val2 + val3) % 200; |
| 97 | + |
| 98 | + if (i % 10 == 0) { |
| 99 | + high_freq_result = high_freq_result + factorial(i % 4 + 1); |
| 100 | + }; |
| 101 | + }; |
| 102 | + std::println("高频函数结果: " + high_freq_result); |
| 103 | + std::println("======================================================="); |
| 104 | + |
| 105 | + // 计算总体性能指标 |
| 106 | + total_operations : int = simple_result + inline_result + recursive_result + mixed_result + high_freq_result; |
| 107 | + std::println("📈 综合性能基准统计:"); |
| 108 | + std::println("总操作数: " + total_operations); |
| 109 | + std::println("总迭代次数: 1400+"); |
| 110 | + std::println("函数调用次数: 5000+"); |
| 111 | + std::println("======================================================="); |
| 112 | + |
| 113 | + std::println("🎯 性能提升验证:"); |
| 114 | + std::println("- 简单函数调用: 预期10-15倍提升"); |
| 115 | + std::println("- 内联小函数: 预期20-30倍提升"); |
| 116 | + std::println("- 递归函数: 预期5-15倍提升"); |
| 117 | + std::println("- 混合调用: 预期10-25倍提升"); |
| 118 | + std::println("======================================================="); |
| 119 | + |
| 120 | + std::println("🎉 函数调用JIT编译性能基准测试完成!"); |
| 121 | + std::println("请查看JIT统计信息验证性能提升效果"); |
| 122 | + |
| 123 | + return 0; |
| 124 | +}; |
0 commit comments