Skip to content

Commit cebf89b

Browse files
committed
v4.4.2026.0310
1 parent 47ad6ee commit cebf89b

File tree

3 files changed

+3
-78
lines changed

3 files changed

+3
-78
lines changed

.github/instructions/benchmark.instructions.md

Lines changed: 1 addition & 76 deletions
Original file line numberDiff line numberDiff line change
@@ -74,79 +74,4 @@ public Int32 ThreadCount { get; set; }
7474
4. **对比分析**
7575
- 纵向:同场景不同并发趋势,找出最优并发点
7676
- 横向:不同方案同并发差异百分比
77-
5. 性能瓶颈定位(按重要程度排序)→ 优化建议(含预期收益与内存节省预估)
78-
79-
## 8. 性能瓶颈定位规范
80-
81-
性能瓶颈定位章节是报告的核心价值输出,必须遵循以下规范:
82-
83-
### 8.1 瓶颈点结构(每个瓶颈必须包含)
84-
85-
每个瓶颈点必须包含以下要素,缺一不可:
86-
87-
| 要素 | 说明 | 示例 |
88-
|------|------|------|
89-
| **优先级标签** | P0/P1/P2/P3,按影响程度降序 | P0 |
90-
| **瓶颈名称** | 一句话准确描述瓶颈 | VisitTime 写入触发 MESI 缓存行争用 |
91-
| **优化收益占比** | 该瓶颈在总体可优化空间中的占比 | ~35% |
92-
| **现象与数据** | 用 BDN 实测数据量化问题严重程度 | 4T→8T 扩展仅 1.3x,低于预期 2.0x |
93-
| **根因分析** | 从代码执行路径分析到底层硬件行为 | Get 每次写 VisitTime → 缓存行 Modified → 多核 MESI 失效 |
94-
| **开销占比估算** | 在单次操作总耗时中的占比 | 占 Get 总耗时 30%~40% |
95-
| **内存影响** | 每次操作的额外内存分配或 GC 压力 | 48 B/次装箱分配,32 线程累计 3 MB |
96-
| **优化方向** | 具体可落地的优化方案 | 时间窗口内跳过更新(如 1s 内不重复写) |
97-
| **预期收益** | 速度提升倍数 + 内存节省比例 | 多线程吞吐 +20-30%,消除缓存行争用 |
98-
99-
### 8.2 瓶颈分级标准
100-
101-
| 级别 | 定义 | 优化收益占比 | 行动 |
102-
|------|------|------------|------|
103-
| **P0** | 影响核心吞吐或造成 >30% 性能损失 | ≥25% | 必须优化 |
104-
| **P1** | 影响多线程扩展性或造成显著内存压力 | 15%~25% | 建议优化 |
105-
| **P2** | 特定场景下的次要瓶颈 | 5%~15% | 可选优化 |
106-
| **P3** | 微小开销,仅在极端场景有影响 | <5% | 记录备查 |
107-
108-
### 8.3 瓶颈定位表格模板
109-
110-
性能瓶颈定位章节使用以下统一表格格式:
111-
112-
```markdown
113-
### 核心瓶颈点总览
114-
115-
| 优先级 | 瓶颈 | 优化收益占比 | 当前开销 | 优化后预估 | 内存节省 |
116-
|--------|------|------------|---------|-----------|---------|
117-
| P0 | {瓶颈名称} | ~{X}% | {耗时/分配} | {目标值} | {节省比例} |
118-
| P1 | {瓶颈名称} | ~{X}% | {耗时/分配} | {目标值} | {节省比例} |
119-
| ... | ... | ... | ... | ... | ... |
120-
```
121-
122-
### 8.4 内存优化方向表格模板
123-
124-
紧跟瓶颈总览表之后,补充内存优化方向:
125-
126-
```markdown
127-
### 关键内存优化方向
128-
129-
| 优先级 | 优化方向 | 当前分配 | 优化后预估 | 节省比例 | 实施方案 |
130-
|--------|---------|---------|-----------|---------|---------|
131-
| P0 | {方向} | {X} B/op | {Y} B/op | {Z}% | {方案} |
132-
| ... | ... | ... | ... | ... | ... |
133-
```
134-
135-
### 8.5 开销拆解要求
136-
137-
对每个核心操作,必须给出开销来源拆解表:
138-
139-
```markdown
140-
| 开销来源 | 占比估算 | 耗时估算 | 说明 |
141-
|---------|---------|---------|------|
142-
| {来源1} | ~{X}% | ~{N} ns | {原因} |
143-
| {来源2} | ~{X}% | ~{N} ns | {原因} |
144-
```
145-
146-
### 8.6 撰写原则
147-
148-
- **数据驱动**:所有结论必须有 BDN 实测数据支撑,禁止无数据臆测
149-
- **量化优先**:用"快 X 倍"、"省 Y%"、"降 Z B/op"表达,避免"显著"、"明显"等模糊词
150-
- **根因到底**:从应用层代码 → 运行时机制 → CPU 微架构逐层分析
151-
- **可操作**:每个优化建议必须指明具体修改位置和实施方案,而非泛泛建议
152-
- **排序严格**:P0 在前,P3 在后,同级按收益占比降序
77+
5. 性能瓶颈定位 → 优化建议(按优先级排序,含预期收益)

AntJob.Web/AntJob.Web.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<Project Sdk="Microsoft.NET.Sdk.Web">
22
<PropertyGroup>
33
<AssemblyName>AntWeb</AssemblyName>
4-
<TargetFramework>net10.0</TargetFramework>
4+
<TargetFrameworks>net8.0;net10.0</TargetFrameworks>
55
<AssemblyTitle>蚂蚁调度管理</AssemblyTitle>
66
<Description>AntJob 可视化管理平台,提供任务调度、监控、日志查询和集群管理功能。</Description>
77
<Company>新生命开发团队</Company>

AntJob/AntJob.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@
4949
</ItemGroup>
5050

5151
<ItemGroup>
52-
<PackageReference Include="NewLife.Core" Version="11.13.2026.308" />
52+
<PackageReference Include="NewLife.Core" Version="11.13.2026.301" />
5353
<PackageReference Include="NewLife.Remoting" Version="3.7.2026.302" />
5454
<PackageReference Include="NewLife.Stardust" Version="3.7.2026.307" />
5555
</ItemGroup>

0 commit comments

Comments
 (0)