软件性能与软件优化 PPT

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

二.设计阶段的性来自百度文库设计
设计阶段能有哪些方法提高性能?
二.设计阶段的性能设计
1.系统体系结构的设计: 系统的体系结构从最基础架构上决定着整个系统的性
能,如果这个阶段的设计作不好,对以后的研发影响很 大,其他优化的设计无法弥补架构的缺陷 。
二.设计阶段的性能设计
1.系统体系结构的设计--举例 i. ZXV10 MCU:分组交换和电路交换 基于分组交换的H.323协议,对数据包直接进行处
在我们做优化的时候,一定要分析代码中主要使用的算法,首先考 虑是否有明显更好的算法,如果有,马上放弃现有的算法,避免在 低效算法上进行徒劳的优化。
二.设计阶段的性能设计
好的算法和数据结构: 例子:ZXV10非全交换的实现;
全 交 换 的 处 理 思 路
终端1 广播源
视频接 收数据
UDP接收 RTP,QOS 处理
你必须关注程序中那一部分需要快或慢,对它们 的性能做仔细的测试。还有一个很重要的因素,需要权 衡程序在性能和代码维护难度的比重。
一.需求阶段的性能描述; 二.设计阶段的性能设计; 三.开发阶段的性能实现; 四.测试阶段的性能验证;
一.需求阶段的性能描述
1.列出系统的性能需求; 2.用精确的数据指标来表达,包括最大吞吐量,响应和
二.设计阶段的性能设计
3.CPU的选型 -举例
二.设计阶段的性能设计
4.好的算法和数据结构:
选择一个好的算法和好的数据结构,其影响远远大于选择一个好的 语言和好的编译器;
算法对应用程序执行速度的影响是最显著的。
一个大量使用了排序的程序,使用堆排序的执行速度远大于使用冒
泡排序的程序。

算法没有好的优化的程序,即使把它按照处理器的优化指令做成了 硬件版,它远还是比不上使用了优化算法的纯软件程序。
视频发 送数据
RTP发送处理
终端2 广播源选 看终端
视频接 收数据
UDP接收 RTP,QOS 处理
视频发 送数据
RTP发送处理
终端3
视频接 收数据
UDP接收 RTP,QOS 处理
视频发 送数据
RTP发送处理
终端4
视频接 收数据
UDP接收 RTP,QOS 处理
视频发 送数据
RTP发送处理
. . .
终端n
RTP发送处理
终端3
视频接 收数据
视频发 送数据
RTP发送处理
软件性能的度量
关于软件性能
软件性能与其他质量属性的关系; 软件性能的一些误区;
软件性能与研发阶段
性能,也是设计出来的
大家学习辛苦了,还是要坚持
继续保持安静
软件的优化
优化是一门工艺。 大多数人认为代码优化是放在开发周期的最后一
段,然而,要想真正的设计一个优化的程序,你必须在 开发过程中就要优化,你需要认真考虑算法的选择,权 衡速度和尺寸和其他限制因素。
视频接 收数据
UDP接收 RTP,QOS 处理
视频发 送数据
RTP发送处理
MCUHW发送处理
HW接收处理
HW发送处理 HW接收处理
HW发送处理 HW接收处理
HW发送处理 HW接收处理
. . .
HW发送处理 HW接收处理
HW视频 接收数

HW视频 发送数
据 HW视频 接收数

HW视频 发送数
据 HW视频 接收数

HW视频
发送数


HW视频

接收数
HW

HW视频 发送数

HW视频 接收数

HW视频 发送数

非 全 交 换 的 处 理 思 路
终端1 广播源
视频接 收数据
UDP接收 RTP,QOS 处理
视频发 送数据
RTP发送处理
终端2 广播源选 看终端
视频接 收数据
UDP接收 RTP,QOS 处理
视频发 送数据
理,但是因为继承原有基于时系交换的MCU,仍然采用 时系交换,对于每个数据包都要进行包的拆解,时系拼 凑操作,占用大量的CPU能力,也大大增加了软件复杂 度,后期的性能指标很难达到。
ii.ZXJ10:MP模块 MP模块的设计采用工控机,大量操作的数据处理
在本地硬盘;
二.设计阶段的性能设计
2.软件体系结构的设计:
软件体系结构也非常重要,同样的硬件,不同的软件 架构,最后的系统性能差别非常大,对于各个任务的设 计,任务间通讯的方式,任务优先级的设置,任务同步 的方式等,都要在系统设计阶段好好考虑进来。
二.设计阶段的性能设计
2.软件体系结构的设计-举例
i.时钟节拍的设计,太低的频率导致任务响应时间变大, 太高的频率会让系统开销太高,需要根据系统特点进行 选择,例如MPC8260的时钟节拍可以选择60-100;
ii.对消息队列的操作,是否采用阻塞方式等; 举例:为了获得高精度的定时器,采用更高的系统时钟; 减少不必要的系统调用开销;
二.设计阶段的性能设计
3.硬件的选型 :
不同的处理器,性能不同,适用领域也不同,有的适 用大量的运算,如DSP,有的适用通讯处理,所以,需 要在芯片选型即确定哪些芯片是我们需要的,硬件选型 错误带来的影响也是致命的。
处理时间,资源的使用效率等; 3.必须是系统可达到的数据指标;
一.需求阶段的性能描述
我们目前存在的问题: 项目需求阶段的性能描述是否清晰? 性能的描述除了在需求阶段,还在其他阶段有所描述? 其他?
举例:ZXV10某产品的性能要求
1. 最大32个2M终端接入能力; 2. 单画面会议视频在MCU的视频延时小于200毫秒; 3. 关键DSP,CPU性能留有20%余量。 4. 关键CPU留有30%以上的空闲内存; 5. 单板复位的时间小于6秒; 6. 最多16路的视频混合;
软件性能的定义
软件性能指在指定条件下,相对于资源使用总量,软件 产品提供恰当的执行效果的能力,一般包括如下一些方面: 1. 时间响应:
软件产品执行其功能时,提供恰当的响应和处理时间的 能力; 2. 资源的使用效率:
在指定条件下,软件产品执行其功能时,占用恰当的资 源的能力; 3. 吞吐量:
指单位时间内能处理的事件个数,或单位时间传输的数 据量;
软件性能与软件优化
两个问题
培训之前,你所理解的这次培训的主题; 三天的培训,我们的学习内容是哪些? 如何评估我们的项目质量;
软件性能与软件质量
功能 可测试性
性能 可移植性
安全性 可修改性
易用性 可维护性
可靠性 可重用性
培训目标
软件优化的经验分享; 互动参与; 优化的案例收集; 整理成文,指导以后的软件设计;
相关文档
最新文档