优选软件性能与软件优化Ppt
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
设计阶段能有哪些方法提高性能?
二.设计阶段的性能设计
1.系统体系结构的设计: 系统的体系结构从最基础架构上决定着整个系统的性
能,如果这个阶段的设计作不好,对以后的研发影响很 大,其他优化的设计无法弥补架构的缺陷 。
二.设计阶段的性能设计
1.系统体系结构的设计--举例 i. ZXV10 MCU:分组交换和电路交换 基于分组交换的H.323协议,对数据包直接进行处
软件体系结构也非常重要,同样的硬件,不同的软件 架构,最后的系统性能差别非常大,对于各个任务的设 计,任务间通讯的方式,任务优先级的设置,任务同步 的方式等,都要在系统设计阶段好好考虑进来。
二.设计阶段的性能设计
2.软件体系结构的设计-举例
i.时钟节拍的设计,太低的频率导致任务响应时间变大, 太高的频率会让系统开销太高,需要根据系统特点进行 选择,例如MPC8260的时钟节拍可以选择60-100;
X=A/B; A=有关于内存利用错误的消息数; B=直接与系统调用相关的源代码行数;
数据传递
传递的效率
X=数据量/时间
性能
产品的性能与其他制度,
X=A/B; A=实现了性能的项数;
数据来源 估算 估算
估算 源代码
源代码 内存利用估计
源代码 估算 相关标准和约定; 需求; 设计; 代码;
关于软件性能
二.设计阶段的性能设计
3.CPU的选型 -举例
内核 主频 指令cache 数据cache SDRAM/DDR PCI
片上SRAM MMU GPIO UART DMA 功耗 OS 使用环境
ADI6834 MIPS3000 200m 16k 8k 100M SDRAM 32bit/v2.2, 带arbiter 32kbyte 支持 16bit 2 6 2W vxWorks/linux ADI+linux2.4
软件性能的定义
软件性能指在指定条件下,相对于资源使用总量,软件 产品提供恰当的执行效果的能力,一般包括如下一些方面: 1. 时间响应:
软件产品执行其功能时,提供恰当的响应和处理时间的 能力; 2. 资源的使用效率:
在指定条件下,软件产品执行其功能时,占用恰当的资 源的能力; 3. 吞吐量:
指单位时间内能处理的事件个数,或单位时间传输的数 据量;
软件性能与其他质量属性的关系; 软件性能的一些误区;
软件性能与研发阶段
性能,也是设计出来的
需求分析阶段 性能 确定性能指标
设计阶段
性能设计 并发设计 分布式设计 架构设计
创建阶段
测试阶段
代码级别的 优化
性能测试 压力测试
用户现场 性能采集
软件的优化
优化是一门工艺。 大多数人认为代码优化是放在开发周期的最后一
段,然而,要想真正的设计一个优化的程序,你必须在 开发过程中就要优化,你需要认真考虑算法的选择,权 衡速度和尺寸和其他限制因素。
你必须关注程序中那一部分需要快或慢,对它们 的性能做仔细的测试。还有一个很重要的因素,需要权 衡程序在性能和代码维护难度的比重。
一.需求阶段的性能描述; 二.设计阶段的性能设计; 三.开发阶段的性能实现; 四.测试阶段的性能验证;
优选软件性能与软件优化
Page 1
两个问题
培训之前,你所理解的这次培训的主题; 三天的培训,我们的学习内容是哪些? 如何评估我们的项目质量;
软件性能与软件质量
功能 可测试性
性能 可移植性
安全性 可修改性
易用性 可维护性
可靠性 可重用性
培训目标
软件优化的经验分享; 互动参与; 优化的案例收集; 整理成文,指导以后的软件设计;
IDT32438 MIPS4000 300m 16k 16k DDR150M 32bit/v2.2, 带arbiter 1K*32bit 支持 32 2 10 2.4W vxWorks/linux IDT+linux2.4
Motorola 8260 PowerPC603E 200m 32k 32K 66M(64bit) SDRAM 无
ii.对消息队列的操作,是否采用阻塞方式等; 举例:为了获得高精度的定时器,采用更高的系统时钟; 减少不必要的系统调用开销;
二.设计阶段的性能设计
3.硬件的选型 :
不同的处理器,性能不同,适用领域也不同,有的适 用大量的运算,如DSP,有的适用通讯处理,所以,需 要在芯片选型即确定哪些芯片是我们需要的,硬件选型 错误带来的影响也是致命的。
举例:ZXV10某产品的性能要求
1. 最大32个2M终端接入能力; 2. 单画面会议视频在MCU的视频延时小于200毫秒; 3. 关键DSP,CPU性能留有20%余量。 4. 关键CPU留有30%以上的空闲内存; 5. 单板复位的时间小于6秒; 6. 最多16路的视频混合;
二.设计阶段的性能设计
一.需求阶段的性能描述
1.列出系统的性能需求; 2.用精确的数据指标来表达,包括最大吞吐量,响应和
处理时间,资源的使用效率等; 3.必须是系统可达到的数据指标;
一.需求阶段的性能描述
我们目前存在的问题: 项目需求阶段的性能描述是否清晰? 性能的描述除了在需求阶段,还在其他阶段有所描述? 其他?
理,但是因为继承原有基于时系交换的MCU,仍然采用 时系交换,对于每个数据包都要进行包的拆解,时系拼 凑操作,占用大量的CPU能力,也大大增加了软件复杂 度,后期的性能指标很难达到。
ii.ZXJ10:MP模块 MP模块的设计采用工控机,大量操作的数据处理
在本地硬盘;
二.设计阶段的性能设计
2.软件体系结构的设计:
X=time(计算或模拟的)
完成特定任务预计需要的 IO利用。
X=缓冲的数量(计算或模拟的)
在系统调用中与I/O相关的 消息占源代码的比例
X=A/B; A=有关于I/O错误的消息数; B=直接与系统调用相关的源代码行数;
完成特定任务产品需要占 用的内存数
X=内存大小
在系统调用中与内存利用 相关的消息占源代码的比 例
软件性能的度量
分类 时间 行为性
资源 利用性
度量名称
目标
来自百度文库
定义
响应时间 吞吐时间
周转时间 I/O利用 I/O利用消息密 度 内存利用 内存利用消息 密度
完成特定任务的估计时间 X=time(计算或模拟的)
单位时间内估计可以完成 多少任务
X=单位时间的任务数)
完成一项完整工作(包括 一组相关任务)的估计时 间
二.设计阶段的性能设计
1.系统体系结构的设计: 系统的体系结构从最基础架构上决定着整个系统的性
能,如果这个阶段的设计作不好,对以后的研发影响很 大,其他优化的设计无法弥补架构的缺陷 。
二.设计阶段的性能设计
1.系统体系结构的设计--举例 i. ZXV10 MCU:分组交换和电路交换 基于分组交换的H.323协议,对数据包直接进行处
软件体系结构也非常重要,同样的硬件,不同的软件 架构,最后的系统性能差别非常大,对于各个任务的设 计,任务间通讯的方式,任务优先级的设置,任务同步 的方式等,都要在系统设计阶段好好考虑进来。
二.设计阶段的性能设计
2.软件体系结构的设计-举例
i.时钟节拍的设计,太低的频率导致任务响应时间变大, 太高的频率会让系统开销太高,需要根据系统特点进行 选择,例如MPC8260的时钟节拍可以选择60-100;
X=A/B; A=有关于内存利用错误的消息数; B=直接与系统调用相关的源代码行数;
数据传递
传递的效率
X=数据量/时间
性能
产品的性能与其他制度,
X=A/B; A=实现了性能的项数;
数据来源 估算 估算
估算 源代码
源代码 内存利用估计
源代码 估算 相关标准和约定; 需求; 设计; 代码;
关于软件性能
二.设计阶段的性能设计
3.CPU的选型 -举例
内核 主频 指令cache 数据cache SDRAM/DDR PCI
片上SRAM MMU GPIO UART DMA 功耗 OS 使用环境
ADI6834 MIPS3000 200m 16k 8k 100M SDRAM 32bit/v2.2, 带arbiter 32kbyte 支持 16bit 2 6 2W vxWorks/linux ADI+linux2.4
软件性能的定义
软件性能指在指定条件下,相对于资源使用总量,软件 产品提供恰当的执行效果的能力,一般包括如下一些方面: 1. 时间响应:
软件产品执行其功能时,提供恰当的响应和处理时间的 能力; 2. 资源的使用效率:
在指定条件下,软件产品执行其功能时,占用恰当的资 源的能力; 3. 吞吐量:
指单位时间内能处理的事件个数,或单位时间传输的数 据量;
软件性能与其他质量属性的关系; 软件性能的一些误区;
软件性能与研发阶段
性能,也是设计出来的
需求分析阶段 性能 确定性能指标
设计阶段
性能设计 并发设计 分布式设计 架构设计
创建阶段
测试阶段
代码级别的 优化
性能测试 压力测试
用户现场 性能采集
软件的优化
优化是一门工艺。 大多数人认为代码优化是放在开发周期的最后一
段,然而,要想真正的设计一个优化的程序,你必须在 开发过程中就要优化,你需要认真考虑算法的选择,权 衡速度和尺寸和其他限制因素。
你必须关注程序中那一部分需要快或慢,对它们 的性能做仔细的测试。还有一个很重要的因素,需要权 衡程序在性能和代码维护难度的比重。
一.需求阶段的性能描述; 二.设计阶段的性能设计; 三.开发阶段的性能实现; 四.测试阶段的性能验证;
优选软件性能与软件优化
Page 1
两个问题
培训之前,你所理解的这次培训的主题; 三天的培训,我们的学习内容是哪些? 如何评估我们的项目质量;
软件性能与软件质量
功能 可测试性
性能 可移植性
安全性 可修改性
易用性 可维护性
可靠性 可重用性
培训目标
软件优化的经验分享; 互动参与; 优化的案例收集; 整理成文,指导以后的软件设计;
IDT32438 MIPS4000 300m 16k 16k DDR150M 32bit/v2.2, 带arbiter 1K*32bit 支持 32 2 10 2.4W vxWorks/linux IDT+linux2.4
Motorola 8260 PowerPC603E 200m 32k 32K 66M(64bit) SDRAM 无
ii.对消息队列的操作,是否采用阻塞方式等; 举例:为了获得高精度的定时器,采用更高的系统时钟; 减少不必要的系统调用开销;
二.设计阶段的性能设计
3.硬件的选型 :
不同的处理器,性能不同,适用领域也不同,有的适 用大量的运算,如DSP,有的适用通讯处理,所以,需 要在芯片选型即确定哪些芯片是我们需要的,硬件选型 错误带来的影响也是致命的。
举例:ZXV10某产品的性能要求
1. 最大32个2M终端接入能力; 2. 单画面会议视频在MCU的视频延时小于200毫秒; 3. 关键DSP,CPU性能留有20%余量。 4. 关键CPU留有30%以上的空闲内存; 5. 单板复位的时间小于6秒; 6. 最多16路的视频混合;
二.设计阶段的性能设计
一.需求阶段的性能描述
1.列出系统的性能需求; 2.用精确的数据指标来表达,包括最大吞吐量,响应和
处理时间,资源的使用效率等; 3.必须是系统可达到的数据指标;
一.需求阶段的性能描述
我们目前存在的问题: 项目需求阶段的性能描述是否清晰? 性能的描述除了在需求阶段,还在其他阶段有所描述? 其他?
理,但是因为继承原有基于时系交换的MCU,仍然采用 时系交换,对于每个数据包都要进行包的拆解,时系拼 凑操作,占用大量的CPU能力,也大大增加了软件复杂 度,后期的性能指标很难达到。
ii.ZXJ10:MP模块 MP模块的设计采用工控机,大量操作的数据处理
在本地硬盘;
二.设计阶段的性能设计
2.软件体系结构的设计:
X=time(计算或模拟的)
完成特定任务预计需要的 IO利用。
X=缓冲的数量(计算或模拟的)
在系统调用中与I/O相关的 消息占源代码的比例
X=A/B; A=有关于I/O错误的消息数; B=直接与系统调用相关的源代码行数;
完成特定任务产品需要占 用的内存数
X=内存大小
在系统调用中与内存利用 相关的消息占源代码的比 例
软件性能的度量
分类 时间 行为性
资源 利用性
度量名称
目标
来自百度文库
定义
响应时间 吞吐时间
周转时间 I/O利用 I/O利用消息密 度 内存利用 内存利用消息 密度
完成特定任务的估计时间 X=time(计算或模拟的)
单位时间内估计可以完成 多少任务
X=单位时间的任务数)
完成一项完整工作(包括 一组相关任务)的估计时 间