- 1、本文档共14页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于移动平台的应用软件性能优化技术研究.doc
基于移动平台的应用软件性能优化技术研究
摘 要:面对日益复杂的智能移动应用,多核处理器已成为高性能移动计算的一个有效解决方案。对于多核系统中的应用软件性能优化也是其中的研究重点。本文研究了并行程序设计算法和并行程序性能优化技术。通过对程序进行优化,可以使它充分的发挥多核的计算能力,其方法包括增加任务数量改善负载均衡,选择最优的线程与处理核之间关联策略,从而能够大幅提高系统的整体性能。
关键词:移动智能多核系统;多线程;并行计算;分治法;GPA
中图分类号:TP311.52
由于移动智能系统是一个资源受限的系统,它对程序的运行空间和时间要求比桌面系统更为苛刻,因此,应用软件的优化对移动智能系统来说尤显必要和紧迫[1]。
本文主要研究的性能优化是主要指运行速度的优化。应用软件对其运行速度进行优化是指在充分掌握软、硬件特征的基础上,通过应用程序结构调整等手段来缩短完成指定任务所需的运行时间,主要应用在对实时性要求比较高的场合。
目前,移动智能系统的处理器在物理上也支持多线程的并发执行,采用适当数量的并发线程可以获得比单一线程高的运行速度[2]。对于多核系统中的应用软件性能优化,本文研究了基于Android系统的并行程序设计算法和并行程序性能优化技术。
1 我们通过一个实际应用来分析、研究基于移动平台的应用软件优化的技术
包括并行处理技术、多线程优化技术以及利用GPA(Graphics Performance Analyzers)工具辅助分析技术。
本例是一个求圆周率π的应用。有如下数学公式:
将积分公式表示为极限:
实际上Δx不可能做到无穷小,只能让Δx尽可能小,这样求出的结果越接近π。我们用step表示一个Δx,则num_step=1/step尽量地大。考虑到f(x)=1/(x2+1)是一个凸函数,这里取一个中值来求和,即使用f[(i+0.5)/(num_steps)]来代替f[i/(num_steps)]求和,这样求出的和不会总是比实际值偏小。最后可以得出编写程序依据的公式为:
根据上面公式我们编写出相应的计算程序。
2 原始应用(未经优化)研究与分析
我们首先根据上述公式直接推导出应用的计算代码,此代码是没有经过优化的,我们称其为“原始应用”,将其命名为SerialPi。
该应用设计思路是:让计算π的任务放在辅助线程(这里称为任务线程)中运行,主活动上设置按钮来控制线程的运行,并用一个TextView来显示任务线程的结果。应用运行的界面如图1所示。
应用启动后的界面如图1(a)所示。当我们点击“开始计算”按钮后,界面所有的按钮都变成灰色,直到计算π的线程运算完成。这时,界面显示π的计算结果以及线程运行的总时间,如图1(b)所示。
从上述运行界面可知,此应用计算π的时间大约为22秒多。多次运行此应用,其显示的计算时间也大约为此时长。
图1 SerialPi应用运行的界面
2.1 在原始应用 中 新 建 线 程 类MyTaskThread,让其计算π的值。编辑源文件
MyTaskThread.java,主要代码如下:
1 package com.example.serialpi;
2 public class MyTaskThread extends Thread {
3 private Handler mainHandler;
4 public static final int MSG_FINISHED = 1; //定义表示计算结束的消息类型
5 private static final long num_steps = 200000000;//公式中的 num_steps 变量,总步数
6 private static final double step = 1.0 / num_steps;//公式中的step变量,步长
7 public static double pi = 0.0; //π的计算结果
……
20 public void r u n ()
21 {
22 double x ,sum=0.0;
23 long i;
24 for ( i=0; i num_steps; i++){
25 x = ( i+ 0. 5) * s t e p ;
26 sum=sum+ 4. 0 /(1.0 + x*x );
27 }
28 pI=step*sum;
29 Messagemsg=new Message();
30 msg.what=MSG _FINISHED;//定义消息类型
您可能关注的文档
- 基于嵌入式系统的电力电子系统集成方法的探讨.doc
- 基于工业PLC技术的生产管控系统应用.doc
- 基于工业以太网的煤矿井下胶带输送机监控系统的应用研究.doc
- 基于工作室的软件专业实践教学方法研究.doc
- 基于工作流的教学管理系统的设计与实现.doc
- 基于工作过程的“可编程控制器”教学内容的重构.doc
- 基于工作过程的“可编程控制器技术及应用”课程建设研究.doc
- 基于工作过程的“网络设备的安全配置和管理”课程教学改革与实践.doc
- 基于工作过程的《数字电子技术》课程改革研究与实践.doc
- 基于工作过程的中技商务礼仪课程教学设计.doc
- 黑龙江省哈尔滨师范大学附属中学2022-2023学年高三1月份线上英语试题.docx
- 辽宁省辽河油田第二高级中学2022-2023学年高三上学期期末考试英语试题.docx
- 辽宁省丹东市2022-2023学年高三上学期期末教学质量监测英语试题.docx
- 福建省福州市第八中学2022-2023学年高三上学期期末质检模拟考英语试卷.docx
- 内蒙古呼和浩特市实验中学察哈尔校区2022-2023学年高三上学期期末考试英语试题.docx
- Unit 3 Reading and Thinking 课后培优分级(学生版).docx
- Unit 3 Reading and Thinking 分层作业(解析版).docx
- 云南省保山市2022-2023学年高三上学期期末考试英语试题.docx
- 吉林省辽源市友好学校2022-2023学年高三上学期期末联考英语试题.docx
- 医疗保险对预检分诊流程的影响.docx
最近下载
- 人教版八下英语语法.doc VIP
- 七年级历史下期末试卷2012.doc VIP
- 2024年上半年教师资格证考试《教育教学知识与能力》(小学)真题.docx
- 2022-2023年八年级会考一模生物试卷(山东省青岛市市北区).docx VIP
- 恒生PB系统介绍.pptx VIP
- U盘盖注塑模模具设计.doc VIP
- 2024年中考语文复习【整本书阅读之12部名著内容勾连题】精练附答案解析.docx VIP
- 2025年安全月主题宣贯课件ppt65页.pptx VIP
- 小型水库雨水情测报和大坝安全监测设施建设与运行技术指南.pdf VIP
- 2024年上半年教师资格证考试《教育教学知识与能力》(小学)真题.pdf
文档评论(0)