Skip to content
This repository was archived by the owner on Aug 18, 2025. It is now read-only.

Commit d7af372

Browse files
committed
新增IO密集型、内存密集型和简化性能基准测试,测试简单类型的性能和内存分配效率,提升整体性能评估能力。
1 parent 45ea545 commit d7af372

File tree

4 files changed

+177
-1
lines changed

4 files changed

+177
-1
lines changed

io_intensive_test.cn

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
// 🚀 v0.6.3 IO密集型基准测试 - 测试整体性能提升
2+
using lib <io>;
3+
using ns std;
4+
5+
fn main() : int {
6+
std::println("🚀 v0.6.3 IO密集型基准测试开始");
7+
8+
// 测试1: 大量简单类型输出(应该受益于快速内存分配)
9+
std::println("测试1: 大量简单类型输出");
10+
11+
i : int = 0;
12+
while (i < 30000) {
13+
// 每次循环都会创建临时变量进行输出
14+
value : int = i * 2;
15+
std::println("数字: " + value);
16+
i = i + 1;
17+
};
18+
19+
std::println("✅ 完成30,000次简单类型输出");
20+
21+
// 测试2: 混合类型输出
22+
std::println("测试2: 混合类型输出");
23+
24+
j : int = 0;
25+
while (j < 10000) {
26+
// 简单类型
27+
int_val : int = j;
28+
float_val : float = 3.14;
29+
bool_val : bool = (j % 2 == 0);
30+
31+
// 输出混合类型
32+
std::println("整数: " + int_val + ", 浮点: " + float_val + ", 布尔: " + bool_val);
33+
j = j + 1;
34+
};
35+
36+
std::println("✅ 完成10,000次混合类型输出");
37+
38+
// 测试3: 计算密集型输出
39+
std::println("测试3: 计算密集型输出");
40+
41+
k : int = 0;
42+
while (k < 20000) {
43+
// 大量临时变量计算
44+
a : int = k;
45+
b : int = a * 2;
46+
c : int = b + 5;
47+
d : int = c * 3;
48+
result : int = d - k;
49+
50+
std::println("k=" + k + ", result=" + result);
51+
k = k + 1;
52+
};
53+
54+
std::println("✅ 完成20,000次计算密集型输出");
55+
56+
std::println("🎉 IO密集型基准测试完成!");
57+
58+
return 0;
59+
};

memory_intensive_test.cn

Lines changed: 75 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
// 🚀 v0.6.3 内存密集型基准测试 - 测试简单类型快速路径优化
2+
using lib <io>;
3+
using ns std;
4+
5+
fn main() : int {
6+
std::println("🚀 v0.6.3 内存密集型基准测试开始");
7+
8+
// 测试1: 大量简单类型变量分配(应该使用快速路径)
9+
std::println("测试1: 大量简单类型变量分配");
10+
11+
i : int = 0;
12+
total_int : int = 0;
13+
while (i < 50000) {
14+
// 分配大量int类型变量(快速路径)
15+
value1 : int = i * 2;
16+
value2 : int = i + 100;
17+
value3 : int = value1 + value2;
18+
19+
// 分配float类型变量(快速路径)
20+
float_val : float = 3.14;
21+
22+
// 分配bool类型变量(快速路径)
23+
bool_val : bool = (i % 2 == 0);
24+
25+
// 分配long类型变量(快速路径)
26+
long_val : long = i * 1000000;
27+
28+
total_int = total_int + value3;
29+
i = i + 1;
30+
};
31+
32+
std::println("✅ 完成50,000次简单类型分配");
33+
std::println("总和:", total_int);
34+
35+
// 测试2: 混合类型分配(简单类型 + 复杂类型)
36+
std::println("测试2: 混合类型分配");
37+
38+
j : int = 0;
39+
while (j < 10000) {
40+
// 简单类型(快速路径)
41+
simple_int : int = j;
42+
simple_float : float = 2.5;
43+
simple_bool : bool = (j % 3 == 0);
44+
45+
// 复杂类型(安全路径)
46+
str_val : string = "test_string";
47+
48+
j = j + 1;
49+
};
50+
51+
std::println("✅ 完成10,000次混合类型分配");
52+
53+
// 测试3: 大量计算操作(测试简单类型的性能)
54+
std::println("测试3: 大量计算操作");
55+
56+
k : int = 0;
57+
result : int = 0;
58+
while (k < 100000) {
59+
// 大量简单类型计算
60+
temp1 : int = k * 2;
61+
temp2 : int = temp1 + 5;
62+
temp3 : int = temp2 * 3;
63+
temp4 : int = temp3 - k;
64+
65+
result = result + temp4;
66+
k = k + 1;
67+
};
68+
69+
std::println("✅ 完成100,000次计算操作");
70+
std::println("计算结果:", result);
71+
72+
std::println("🎉 内存密集型基准测试完成!");
73+
74+
return 0;
75+
};

simple_performance_test.cn

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
// 🚀 v0.6.3 简化性能测试 - 专注测试简单类型快速路径
2+
using lib <io>;
3+
using ns std;
4+
5+
fn main() : int {
6+
std::println("🚀 v0.6.3 简化性能测试开始");
7+
8+
// 测试: 大量简单类型变量分配和计算
9+
std::println("测试: 大量简单类型变量分配和计算");
10+
11+
i : int = 0;
12+
total : int = 0;
13+
14+
while (i < 100000) {
15+
// 大量简单类型分配(应该使用快速路径)
16+
a : int = i;
17+
b : int = i * 2;
18+
c : int = a + b;
19+
d : int = c * 3;
20+
e : int = d - i;
21+
22+
// 浮点数计算
23+
f : float = 3.14;
24+
g : float = 2.71;
25+
26+
// 布尔值
27+
h : bool = (i % 2 == 0);
28+
29+
// 长整型
30+
j : long = 1000000;
31+
32+
total = total + e;
33+
i = i + 1;
34+
};
35+
36+
std::println("✅ 完成100,000次简单类型操作");
37+
std::println("总和:", total);
38+
39+
std::println("🎉 简化性能测试完成!");
40+
41+
return 0;
42+
};

test.cn

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ using lib <io>;
22
using ns std;
33

44
fn main() : int {
5-
for (i : 0..1000000) {
5+
for (i : 0..100000) {
66
std::println(i);
77
};
88
return 0;

0 commit comments

Comments
 (0)