[发明专利]一种基于协程的计算程序执行效率优化方法及系统有效
申请号: | 202010444905.3 | 申请日: | 2020-05-23 |
公开(公告)号: | CN111694661B | 公开(公告)日: | 2022-07-19 |
发明(设计)人: | 侯纪祥 | 申请(专利权)人: | 苏州浪潮智能科技有限公司 |
主分类号: | G06F9/50 | 分类号: | G06F9/50 |
代理公司: | 济南舜源专利事务所有限公司 37205 | 代理人: | 张营磊 |
地址: | 215100 江苏省苏州市吴*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 计算 程序 执行 效率 优化 方法 系统 | ||
1.一种基于协程的计算程序执行效率优化方法,其特征在于,包括如下步骤:
S 1.启动协程调度器为每个任务分配协程,并启动协程计时任务;
S2.CPU判断是否所有协程任务均进入阻塞;
若是,协程调度器启动计时协程进行阻塞计时;
若否,进入步骤S4;
S3.CPU实时判断是否有协程任务解除阻塞;
若是,停止阻塞计时,统计阻塞时长;
若否,返回步骤S3;
S4.CPU等待协程任务执行完毕;
S5.CPU判断是否协程调度器中只有协程计时任务;
若是,停止协程计时,统计任务总时长,进入步骤S6;
若否,返回步骤S1;
S6.CPU计算运行效率,计算数据吞吐量,再根据运行效率和数据吞吐量调整协程任务数量,实现计算程序执行效率的优化。
2.如权利要求1所述的基于协程的计算程序执行效率优化方法,其特征在于,步骤S1之前还包括如下步骤:
S 1`.CPU判断系统中是否存在多协程;
若否,进入步骤S7;
若是,进入步骤S1;
S7.CPU创建任务,设定各任务并行,并设定单协程计时;
S8.CPU判断各任务是否进入阻塞;
若是,启动单协程计时,直至阻塞结束;进入步骤S9;
若否,进入步骤S9;
S9.CPU等待所有任务执行完毕,输出单协程计时。
3.如权利要求1所述的基于协程的计算程序执行效率优化方法,其特征在于,步骤S6具体步骤如下:
S61.CPU根据统计的阻塞时长及任务总时长,计算运行效率;
S62.CPU判断运行效率是否达到设定效率阈值;
若是,进入步骤S63;
若否,进入步骤S64;
S63.CPU根据协程任务数量及单个协程任务处理数据量,计算数据吞吐量,并判断数据吞吐量是否达到设定数据量阈值;
若是,输出优化后的协程数量方案;结束;
若否,进入步骤S64;
S64.添加协程,返回步骤S1。
4.如权利要求3所述的基于协程的计算程序执行效率优化方法,其特征在于,步骤S61具体步骤如下:
S611.CPU设定统计的阻塞时长为t 1;
S612.CPU设定统计的任务总时长为t;
S613.CPU计算运行效率η=(t-t 1)/t。
5.如权利要求4所述的基于协程的计算程序执行效率优化方法,其特征在于,步骤S63具体步骤如下:
S631.CPU获取协程任务数量n 1,获取单个协程任务处理的数据量B,获取任务总时长t,计算数据吞吐量=n 1*B/t;
S632.CPU判断本次数据吞吐量是否小于上次数据吞吐量;
若是,进入步骤S633;
若否,进入步骤S64;
S633.输出当前任务数量及协程数量方案。
6.如权利要求3所述的基于协程的计算程序执行效率优化方法,其特征在于,步骤S1中还包括如下步骤:
协程调度器判断是否为阻塞后添加的协程分配任务;
若是,为非阻塞任务分配协程;
若否,为每个任务均分配协程。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于苏州浪潮智能科技有限公司,未经苏州浪潮智能科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010444905.3/1.html,转载请声明来源钻瓜专利网。