by Victor Huang
我希望你根据下列的项目模块的git commit日志生成一份互联网项目的新功能发布/缺陷修复发布日志。要求:
你不需要要关注执行commit的操作人,更新的时间信息
请过滤所有Merge Branch 的commit信息
请过滤commit信息明显缺失,不够明确的commit
如果前后几次临近的commit内容相似,请将其整合成一个发布内容,再评估“要求3”中是否保留
日志面向对象为使用用户,所以请避免过于专业化的用语
你只需要更改''' ''' 之间的内容,不要更改模版内的其他内容 以下是各模块commit日志
logs发布日志模版如下:v0.1.1##覆盖时间范围🚀版本新功能 '''请参考上面各模块的commit日志生成版本新功能项/缺陷修复项,以markdown列表呈现'''补充内容
🚀版本新功能
更新了SDK引入方式,现在可以通过JavaScript直接引入,简化了集成步骤。
引入了新的wiki模块,增强了知识库的功能和用户体验。
优化了会话接口,统一了会话消息获取的流程,提升了用户交互的连贯性。
更新了OCR结果拼接算法,提高了文本识别的准确性和效率。
改进了权限控制,为外网版本适配了中间产物权限管理,增强了数据的安全性。
fibona外网版本发布,上线fibona文档系统。🐞缺陷修复
修复了登录错误时的报错提示问题,改善了用户完成界面的提示。
修复了在私有分享后提示词会话权限判断的问题,确保了权限的正确判定。
解决了分享路由跳转的体验问题,优化了用户分享内容时的流畅性。
修复了知识库上传记录失败的问题,现在可以正确记录上传情况。
修复了聊天窗口的错误处理问题,避免了不必要的中断。
解决了不携带脱敏信息时获取消息无法生成标题的问题,增强了系统的稳定性。
修复了提示词变量缺失导致的错误,确保了提示词的正确使用。
1
2
3
功能介绍我们可以自动帮你用 Prompt 来输出 Mermaid 格式的内容并渲染成对应的图例。F.A.B 模型分析
Feature (功能)
自动输出 Mermaid 格式内容:用户只需输入相关信息,系统即可自动生成 Mermaid 格式的代码。
渲染成对应图例:生成的 Mermaid 代码会自动渲染成美观的图表。Advantage (优势)
高效便捷:用户无需手动编写复杂的 Mermaid 代码,大大节省时间。
直观易懂:生成的图表清晰直观,便于理解和传达复杂信息。
高度定制化:用户可以根据需求自由调整输入内容,生成符合特定需求的图表。Benefit (价值)
提升工作效率:自动化的流程减少了手动操作的时间和错误,提高了工作效率。
增强信息传达效果:美观的图表能更好地吸引观众注意力,提升信息传达的效果。
灵活适应各种场景:适用于报告、演示、教学等多种场合,满足不同需求。宣传文章标题自动生成Mermaid图表,高效直观传达信息
你作为提示词工程专家,请你帮我生成参考下面格式的生成式AI提示词撰写会遇到的问题的决策树。
"""
# 性能优化决策树
## 资源类性能问题
### CPU
#### 过热降频
#### 算力不足
#### 高缓存未命中率
#### 多核利用不足
#### 上下文切换过多
……
"""
# 生成式AI提示词撰写问题决策树
## 提示词结构问题
### 不清晰
#### 指令模糊
#### 上下文缺失
#### 目标不明确
### 不完整
#### 缺少关键信息
#### 步骤说明不足
#### 约束条件遗漏
### 不连贯
#### 逻辑跳跃
#### 前后矛盾
#### 结构混乱
## 内容质量问题
### 不准确
#### 事实错误
#### 概念混淆
#### 过时信息
### 不相关
#### 偏离主题
#### 无用细节过多
#### 重点不突出
### 不恰当
#### 存在偏见
#### 违反道德伦理
#### 潜在危险内容
## 语言表达问题
### 不简洁
#### 冗长啰嗦
#### 重复信息
#### 不必要的修饰
### 不自然
#### 生硬机械
#### 语法错误
#### 词语使用不当
### 不一致
#### 风格变化
#### 术语混用
#### 人称视角混乱
## 任务适配问题
### 不匹配
#### 难度不适
#### 范围过大或过小
#### 与模型能力不符
### 不灵活
#### 缺乏创意空间
#### 过度限制
#### 无法应对变化
### 不可执行
#### 步骤不可行
#### 资源要求过高
#### 时间估计不合理
## 交互设计问题
### 不友好
#### 缺乏引导
#### 反馈机制不足
#### 用户体验差
### 不安全
#### 隐私保护不足
#### 输出内容未过滤
#### 潜在滥用风险
### 不连续
#### 对话流失自然
#### 上下文保持不足
#### 多轮交互断裂
你作为资深的提示词工程专家,请你帮我 Review并补充下面的生成式AI提示词撰写问题决策树。
第一步,你可以先随机使用短句列出 60 个具体AI提示词撰写的问题案例。
第二步,把第一步的例子尝试放到当前分类中,列出不属于下面分类的案例
第三步,修改当前决策树,让他可以包含第二步输出的无法被当前分类覆盖的案例,并输出完整不被省略的决策树
"""
# 生成式AI提示词撰写问题决策树
## 提示词结构问题
### 不清晰
#### 指令模糊
#### 上下文缺失
#### 目标不明确
### 不完整
#### 缺少关键信息
#### 步骤说明不足
#### 约束条件遗漏
### 不连贯
#### 逻辑跳跃
#### 前后矛盾
#### 结构混乱
## 内容质量问题
.......
## 交互设计问题
.......
### 不连续
#### 对话流失自然
#### 上下文保持不足
#### 多轮交互断裂
“””
# 生成式AI提示词撰写问题决策树
## 提示词结构问题
### 不清晰
#### 指令模糊
1. Chain of Thought (CoT)
- 提示词示例:
"请一步步思考并解决以下问题:[问题描述]
第一步:...
第二步:...
最后,得出结论。"
- 原理:通过引导模型逐步思考,提高指令的清晰度和执行的准确性。
2. Task-specific Instructions
- 提示词示例:
"你现在是一名专业的数据分析师。请分析以下数据集,重点关注销售趋势和客户行为。输出应包含关键发现和可行建议。"
- 原理:通过明确指定任务和期望输出,减少模糊性,提高响应的针对性。
#### 上下文缺失
1. Few-shot Learning
- 提示词示例:
"以下是几个例子:
问:[简单问题1]
答:[相应答案1]
问:[简单问题2]
答:[相应答案2]
现在,请回答这个问题:[目标问题]"
- 原理:通过提供相关的示例,为模型建立上下文,提高理解和生成的准确性。
2. In-context Learning
- 提示词示例:
"我们正在讨论20世纪的文学作品。在这个背景下,请分析[特定作品]的主题和风格。"
- 原理:通过提供广泛的背景信息,帮助模型更好地理解任务的上下文。
#### 目标不明确
1. Outcome-driven Prompting
- 提示词示例:
"请生成一个营销策略,目标是在3个月内将产品X的销量提高20%。策略应包含具体的行动步骤和预期结果。"
- 原理:通过明确指定期望的结果,引导模型生成更有针对性和实用性的输出。
### 不完整
#### 缺少关键信息
1. Prompt Templates
- 提示词示例:
"请回答以下问题:
1. 主题:[填写主题]
2. 背景:[提供背景信息]
3. 具体问题:[详细说明问题]
4. 需要的输出格式:[指定格式]"
- 原理:使用结构化模板确保所有必要信息都被包含在提示中。
2. Information Retrieval Augmented Generation
- 提示词示例:
"基于以下信息:[插入相关检索到的信息],请回答问题:[具体问题]"
- 原理:通过检索和整合相关信息来补充提示,确保模型有足够的上下文来生成准确的回答。
#### 步骤说明不足
1. Chain of Thought (CoT)
- 提示词示例:
"解决这个问题需要以下步骤:
1. [第一步说明]
2. [第二步说明]
...
请按照这些步骤详细解答。"
- 原理:通过明确列出思考或解决问题的步骤,引导模型进行更结构化和全面的回答。
2. Step-by-step Instructions
- 提示词示例:
"请按照以下步骤完成任务:
1. [具体步骤1]
2. [具体步骤2]
...
在每个步骤后,请解释你的做法。"
- 原理:通过提供明确的步骤指导,确保模型完整地执行任务,不遗漏关键环节。
#### 约束条件遗漏
1. Constraint Specification
- 提示词示例:
"在回答问题时,请遵守以下约束:
1. 答案不超过100字
2. 使用通俗易懂的语言
3. 不包含个人观点
问题是:[具体问题]"
- 原理:通过明确指定约束条件,确保模型的输出符合特定的要求和限制。
### 不连贯
#### 逻辑跳跃
1. Chain of Thought (CoT)
- 提示词示例:
"请一步步解释你的思考过程:
1. 首先,我们考虑...
2. 接下来,基于上一步,我们可以推断...
3. 最后,综合以上分析,我们得出结论..."
- 原理:通过要求模型展示完整的思考过程,减少逻辑跳跃,增强推理的连贯性。
2. Tree of Thoughts
- 提示词示例:
"请使用树状思维方式解决问题:
1. 主要问题:[问题描述]
2. 子问题1:[相关子问题]
2.1 可能的解决方案
2.2 潜在的问题
3. 子问题2:[另一个相关子问题]
3.1 ...
最后,综合所有分支,得出最终结论。"
- 原理:通过构建思维树,探索多个可能的思路,减少遗漏,增强逻辑的完整性。
#### 前后矛盾
1. Self-consistency Checking
- 提示词示例:
"请回答以下问题,并在回答后进行自我检查:
1. [具体问题]
2. 检查:你的回答是否存在内部矛盾?如果有,请指出并修正。"
- 原理:通过要求模型进行自我一致性检查,减少前后矛盾的情况出现。
#### 结构混乱
1. Structured Prompting
- 提示词示例:
"请按照以下结构回答问题:
1. 引言:简要说明问题背景
2. 主体:
a) 观点1及其支持论据
b) 观点2及其支持论据
3. 结论:总结主要观点
问题是:[具体问题]"
- 原理:通过提供清晰的结构框架,引导模型生成组织良好、逻辑清晰的回答。
1
2
3
以下是根据 ARM、Intel 和 AMD 各个代次微架构的性能优化手段,结合 Go 和 C/C++ 编程语言整理的代码优化策略。每个策略都尽可能地与特定的微架构和编程语言相关联。
### ARM 架构优化
1. **NEON 优化 (C/C++):**
- `_mm_load_si128`, `_mm_store_si128`, `_mm_add_ps`
- 常用于并行处理多媒体、信号处理和图像处理。
2. **NEON 优化 (Golang):**
- 使用 `golang.org/x/sys/cpu` 包检测 NEON 支持后调用手写汇编或 C 函数。
3. **Cache Line Padding (C/C++):**
- 使用 `__attribute__((aligned(64)))` 将结构体对齐到 cache line 大小,减少 false sharing。
4. **Loop Unrolling (C/C++):**
- `#pragma unroll` 对循环进行展开,减少循环控制开销。
5. **Prefetching (C/C++):**
- `__builtin_prefetch(ptr)` 提前加载数据到缓存,减少内存延迟。
6. **LDRD/STRD 指令优化 (ARM):**
- 使用 `ldr`/`str` 指令做 32 位或 64 位数据的高效加载和存储。
7. **Thumb-2 指令优化 (ARM):**
- 使用 Thumb-2 指令集减少代码大小,提升指令密度。
8. **Vectorization with NEON (Golang):**
- 使用 Golang 汇编直接调用 NEON 指令进行向量化运算。
9. **Branchless Programming (C/C++):**
- 使用`条件运算符` (`?:`) 实现无条件分支,减少分支预测失败的开销。
10. **ARMv8 Crypto Extensions (C/C++):**
- 使用 `_arm_aes_encrypt`, `_arm_sha256_process` 加速加密与哈希运算。
### Intel 架构优化
11. **AVX 优化 (C/C++):**
- `_mm256_store_si256`, `_mm256_loadu_ps`, `_mm256_setzero_ps`
- 大量用于科学计算和数据处理。
12. **SSE 优化 (C/C++):**
- `_mm_store_ps`, `_mm_load_ps`, `_mm_add_ps`
- 适用于较老的 CPU 或资源受限的环境。
13. **AVX-512 优化 (C/C++):**
- `_mm512_load_epi32`, `_mm512_store_epi32`, `_mm512_add_epi32`
- 针对高级科学计算和机器学习模型。
14. **Cache Line Padding (Golang):**
- 使用 `unsafe.Alignof` 和 `unsafe.Sizeof` 来手动对齐数据,减少 false sharing。
15. **Branch Prediction Optimization (C/C++):**
- 使用 `__builtin_expect` 优化分支预测,如 `if (__builtin_expect(x == 0, 0))`。
16. **Cache Blocking (C/C++):**
- 手动控制数据块的大小以适应缓存大小,减少缓存失效。
17. **Prefetching (C/C++):**
- 使用 `_mm_prefetch` 提前加载数据到 L1 或 L2 缓存。
18. **Hyper-Threading 优化 (C/C++):**
- 通过任务并行化和适当的锁管理,充分利用超线程。
19. **Instruction-Level Parallelism (C/C++):**
- 尽量减少指令间的依赖,增加指令级并行性。
20. **Data Prefetching (Golang):**
- 手动控制数据加载顺序,避免不连续内存访问带来的性能问题。
### AMD 架构优化
21. **AVX2 优化 (C/C++):**
- `_mm256_loadu_si256`, `_mm256_storeu_si256`, `_mm256_add_ps`
- 适用于 AMD Ryzen 系列处理器。
22. **FMA3 优化 (C/C++):**
- `_mm256_fmadd_ps`, `_mm256_fnmadd_ps`
- 将乘法和加法合并成一个指令,减少指令数。
23. **Cache Line Optimization (C/C++):**
- 使用 `__attribute__((aligned(64)))` 对齐数据,避免 false sharing。
24. **Memory Alignment (C/C++):**
- 使用 `posix_memalign` 或 `_aligned_malloc` 确保数据对齐到 64 字节边界。
25. **Loop Unrolling (Golang):**
- 在性能关键代码段中手动展开循环,减少循环开销。
26. **NUMA 优化 (C/C++):**
- 通过绑定线程到特定 NUMA 节点,减少跨节点内存访问带来的性能损失。
27. **Software Prefetching (C/C++):**
- 使用 `__builtin_prefetch` 提前加载数据到缓存,减少内存访问延迟。
28. **SSE4a 优化 (C/C++):**
- `_mm_stream_si128`, `_mm_blend_epi16`
- 针对较老的 AMD CPU 进行优化。
29. **Branch Prediction Optimization (Golang):**
- 使用 `if x == 0 {}` 和 `if x != 0 {}` 进行分支预测优化。
30. **Instruction Pipelining (C/C++):**
- 尽量使指令间无依赖关系,提高指令流水线的利用率。
### 通用优化
31. **SIMD 指令集利用 (C/C++):**
- 使用 `#pragma omp simd` 指令启用编译器自动向量化。
32. **L1/L2/L3 Cache Optimization (C/C++):**
- 使用缓存友好型数据结构,例如数组而非链表。
33. **False Sharing 避免 (C/C++):**
- 确保多个线程不会同时访问同一个缓存行中的数据。
34. **Memory Pooling (Golang):**
- 使用 `sync.Pool` 减少频繁的内存分配和回收。
35. **锁优化 (C/C++ & Golang):**
- 使用无锁编程 (lock-free programming) 或减少锁的持有时间。
36. **内存对齐 (C/C++):**
- 使用 `aligned_alloc` 或 `_aligned_malloc` 确保内存对齐。
37. **内联函数 (C/C++ & Golang):**
- 使用 `inline` 关键字或 `go:noinline` 标签来控制函数的内联行为。
38. **使用寄存器变量 (C/C++):**
- 使用 `register` 关键字提示编译器将变量存储在寄存器中。
39. **减少分支 (C/C++ & Golang):**
- 尽量减少条件分支,使用数据表或查找表代替条件判断。
40. **减少内存分配 (Golang):**
- 通过预分配内存或重用对象,减少垃圾收集压力。
41. **内存预取 (C/C++):**
- 使用 `_mm_prefetch` 或 `__builtin_prefetch` 提前加载内存数据。
42. **循环展开 (C/C++ & Golang):**
- 手动展开循环减少循环控制开销。
43. **减少指令间依赖 (C/C++):**
- 通过重新安排指令顺序减少指令间的依赖。
44. **汇编内联 (C/C++):**
- 在性能关键路径使用手写汇编优化。
45. **内存屏障 (C/C++):**
- 使用 `__sync_synchronize` 或 `__asm__ volatile` 插入内存屏障,避免编译器或 CPU 乱序执行。
46. **减少系统调用 (Golang):**
- 通过批量处理或缓存减少系统调用。
47. **内联汇编 (Golang):**
- 使用 `go asm` 编写性能关键的代码段。
48. **减少栈帧大小 (C/C++ & Golang):**
- 减少局部变量的数量和大小,节省栈空间。
49. **减少分支预测失败 (C/C++ & Golang):**
- 减少不可预测的分支,使用条件运算符代替。
50. **数据局部性优化 (C/C++ & Golang):**
- 通过优先访问局部数据减少缓存未命中。
51. **多线程优化 (C/C++ & Golang):**
- 使用 `goroutines` 或 `std::thread` 实现并行计算。
52. **减少内存访问冲突 (C/C++):**
- 使用 `std::atomic` 或 `volatile` 关键字减少内存访问冲突。
53. **使用大页 (C/C++ & Golang):**
- 启用大页支持减少 TLB 缺失。
54. **NUMA 优化 (Golang):**
- 在多 NUMA 节点系统上绑定 `goroutine` 到特定的 NUMA 节点。
55. **使用内存池 (C/C++ & Golang):**
- 使用内存池减少内存分配开销。
56. **减少缓存不命中 (C/C++ & Golang):**
- 优化数据结构以减少缓存不命中。
57. **流水线优化 (C/C++):**
- 减少指令间的依赖性,增加流水线效率。
58. **使用自旋锁 (C/C++):**
- 在短时间内锁持有的情况下使用自旋锁代替互斥锁。
59. **减少上下文切换 (Golang):**
- 通过减少 `goroutines` 的数量或使用 `sync.Mutex` 减少上下文切换。
60. **减少内存碎片 (C/C++ & Golang):**
- 使用 `tcmalloc` 或 `jemalloc` 替代默认的 malloc 实现。
61. **减少栈溢出 (Golang):**
- 通过减少 `goroutine` 的栈帧大小避免栈溢出。
62. **减少系统调用开销 (C/C++ & Golang):**
- 通过批量处理或减少上下文切换减少系统调用开销。
63. **避免内存泄漏 (Golang):**
- 通过合理管理内存,避免内存泄漏。
64. **减少内存拷贝 (C/C++ & Golang):**
- 使用指针或引用减少内存拷贝。
65. **减少锁争用 (C/C++ & Golang):**
- 通过减少临界区的长度和锁的粒度减少锁争用。
66. **减少栈空间使用 (C/C++ & Golang):**
- 通过减少局部变量的使用减少栈空间。
67. **减少动态内存分配 (C/C++ & Golang):**
- 通过预分配内存减少动态内存分配。
68. **减少分支预测失败 (C/C++ & Golang):**
- 通过减少不可预测的分支减少分支预测失败。
69. **减少缓存不命中 (C/C++ & Golang):**
- 通过优化数据结构减少缓存不命中。
70. **减少指令间依赖 (C/C++ & Golang):**
- 通过重新安排指令顺序减少指令间的依赖。
71. **减少内存访问冲突 (C/C++ & Golang):**
- 通过使用 `std::atomic` 或 `sync/atomic` 减少内存访问冲突。
72. **减少栈空间使用 (Golang):**
- 通过减少局部变量和减少栈帧大小来减少栈空间使用。
73. **减少内存碎片 (C/C++ & Golang):**
- 通过使用内存池和减少动态内存分配减少内存碎片。
74. **减少分支预测失败 (C/C++ & Golang):**
- 通过减少不可预测的分支减少分支预测失败。
75. **减少缓存不命中 (C/C++ & Golang):**
- 通过数据局部性优化减少缓存不命中。
76. **减少指令间依赖 (C/C++ & Golang):**
- 通过重新安排指令顺序减少指令间的依赖。
77. **减少内存访问冲突 (C/C++ & Golang):**
- 通过锁优化和内存对齐减少内存访问冲突。
78. **减少栈空间使用 (C/C++ & Golang):**
- 通过减少局部变量和减少函数调用深度减少栈空间使用。
79. **减少动态内存分配 (C/C++ & Golang):**
- 通过预分配内存和使用内存池减少动态内存分配。
80. **减少锁争用 (C/C++ & Golang):**
- 通过减少锁的粒度和锁的持有时间减少锁争用。
81. **减少系统调用开销 (C/C++ & Golang):**
- 通过减少上下文切换和批量处理减少系统调用开销。
82. **减少内存溢出 (C/C++ & Golang):**
- 通过合理管理内存和减少栈帧大小避免内存溢出。
83. **减少上下文切换 (C/C++ & Golang):**
- 通过减少线程和 `goroutine` 的数量减少上下文切换。
84. **减少锁争用 (C/C++ & Golang):**
- 使用无锁编程或减少锁的粒度减少锁争用。
85. **减少栈空间使用 (C/C++ & Golang):**
- 通过减少局部变量和减少函数调用深度减少栈空间使用。
86. **减少动态内存分配 (C/C++ & Golang):**
- 通过预分配内存和使用内存池减少动态内存分配。
87. **减少缓存不命中 (C/C++ & Golang):**
- 通过数据局部性优化减少缓存不命中。
88. **减少指令间依赖 (C/C++ & Golang):**
- 通过重新安排指令顺序减少指令间的依赖。
89. **减少内存访问冲突 (C/C++ & Golang):**
- 通过内存对齐和锁优化减少内存访问冲突。
90. **减少系统调用开销 (C/C++ & Golang):**
- 通过减少上下文切换和批量处理减少系统调用开销。
91. **减少栈空间使用 (C/C++ & Golang):**
- 通过减少局部变量和减少函数调用深度减少栈空间使用。
92. **减少内存碎片 (C/C++ & Golang):**
- 通过使用内存池和减少动态内存分配减少内存碎片。
93. **减少分支预测失败 (C/C++ & Golang):**
- 通过减少不可预测的分支减少分支预测失败。
94. **减少锁争用 (C/C++ & Golang):**
- 通过减少锁的粒度和锁的持有时间减少锁争用。
95. **减少动态内存分配 (C/C++ & Golang):**
- 通过预分配内存和使用内存池减少动态内存分配。
96. **减少系统调用开销 (C/C++ & Golang):**
- 通过减少上下文切换和批量处理减少系统调用开销。
97. **减少内存访问冲突 (C/C++ & Golang):**
- 通过锁优化和内存对齐减少内存访问冲突。
98. **减少缓存不命中 (C/C++ & Golang):**
- 通过数据局部性优化减少缓存不命中。
99. **减少指令间依赖 (C/C++ & Golang):**
- 通过重新安排指令顺序减少指令间的依赖。
100. **减少系统调用开销 (C/C++ & Golang):**
- 通过减少上下文切换和批量处理减少系统调用开销。
以上是基于 ARM、Intel 和 AMD 架构的 CPU 微架构的优化手段,根据不同的架构和编程语言选择合适的优化策略,有助于提高代码的执行效率。
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <emmintrin.h>
#define ARRAY_SIZE (1024 * 1024) // 数组大小(1M 个元素)
#define ITERATIONS 1000 // 迭代次数
void test_with_cldemote(int* array) {
for (int i = 0; i < ARRAY_SIZE; i += 64 / sizeof(int)) {
_mm_cldemote(array + i); // 使用 _cldemote 主动将缓存行降级
array[i] *= 2;
}
}
void test_without_cldemote(int* array) {
for (int i = 0; i < ARRAY_SIZE; i += 64 / sizeof(int)) {
array[i] *= 2;
}
}
int main() {
int* array = (int*)malloc(ARRAY_SIZE * sizeof(int));
// 初始化数组
for (int i = 0; i < ARRAY_SIZE; i++) {
array[i] = i;
}
clock_t start, end;
double time_with_cldemote, time_without_cldemote;
// 使用 _cldemote 的测试
start = clock();
for (int i = 0; i < ITERATIONS; i++) {
test_with_cldemote(array);
}
end = clock();
time_with_cldemote = ((double)(end - start)) / CLOCKS_PER_SEC;
// 不使用 _cldemote 的测试
start = clock();
for (int i = 0; i < ITERATIONS; i++) {
test_without_cldemote(array);
}
end = clock();
time_without_cldemote = ((double)(end - start)) / CLOCKS_PER_SEC;
// 输出结果
printf("Time with _cldemote: %.6f seconds\n", time_with_cldemote);
printf("Time without _cldemote: %.6f seconds\n", time_without_cldemote);
free(array);
return 0;
}
1
2
3
1
2
3
1
2
3
1
2
3
1
2
3
回顾案例: JD撰写
我们希望这个角色能让我们售卖的 GPU 云服务器高质量交付客户,并且能提供性能质量方向的弹药给销售助力成单,获得更多客户更高毛利。 建立和优化 GPU 性能测试流程 "建立和优化流程"增加了"项目管理出现的概率" 项目管理能力,协调团队资源
回顾案例: OKR 评估
降低参与全部推理的概率 减少噪声出现概率 降低出现“不要内容”的概率
1
2
3
4
1
2
3
4