代码性能检测方法、装置和电子设备制造方法及图纸

技术编号:33788930 阅读:34 留言:0更新日期:2022-06-12 14:44
本申请提供一种代码性能检测方法、装置和电子设备,该代码性能检测方法应用于服务器,服务器包括第一虚拟机和第二虚拟机,包括:第一虚拟机解析目标服务的源代码,源代码包括:多个函数以及运行的调用栈;在第一线程中运行第一虚拟机对应的源代码的过程中,若接收到第二线程中运行的第二虚拟机发送的调用指示信息,则抓取当前运行函数的调用栈信息,以供第二虚拟机读取调用栈信息生成火焰图。本申请能够给出源代码的每个函数的开销情况,进而能够针对开发人员优化源代码给出准确的指导。另外,本申请陷入死循环的函数的调用栈信息也可以抓取,进而提高了检测源代码性能的准确度。进而提高了检测源代码性能的准确度。进而提高了检测源代码性能的准确度。

【技术实现步骤摘要】
代码性能检测方法、装置和电子设备


[0001]本申请涉及计算机
,尤其涉及一种代码性能检测方法、装置和电子设备。

技术介绍

[0002]在游戏场景中,通常采用lua(一种脚本语言)编写各个游戏服务的代码。其中,开发人员需要对游戏服务的代码性能进行检测,以确定CPU(中央处理器)在运行代码时的开销情况,进而才能根据开销情况对游戏服务的代码进行优化,以提高使用该游戏服务的用户体验感。
[0003]目前,通常是采用内置的DebugConsole(一种监听器)检测整个游戏服务的CPU总体开销情况,但该CPU总体开销情况不能给开发人员优化代码提供准确的指导。

技术实现思路

[0004]本申请的多个方面提供一种代码性能检测方法、装置和电子设备,以检测导致游戏服务的代码出现对应CPU开销的原因,以给开发人员优化代码提供准确的指导。
[0005]本申请实施例第一方面提供一种代码性能检测方法,应用于服务器,服务器包括第一虚拟机和第二虚拟机,代码性能检测方法包括:第一虚拟机解析目标服务的源代码,源代码包括:多个函数以及运行的调本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种代码性能检测方法,其特征在于,应用于服务器,所述服务器包括第一虚拟机和第二虚拟机,所述代码性能检测方法包括:所述第一虚拟机解析目标服务的源代码,所述源代码包括:多个函数,以及运行的调用栈;在第一线程中运行所述第一虚拟机对应的所述源代码的过程中,若接收到第二线程中运行的所述第二虚拟机发送的调用指示信息,则抓取当前运行函数的调用栈信息,以供所述第二虚拟机读取所述调用栈信息生成火焰图。2.根据权利要求1所述的代码性能检测方法,其特征在于,所述抓取当前运行函数的调用栈信息包括:通过所述第一虚拟机中配置的调用栈的专用接口,抓取所述当前运行函数的调用栈信息。3.根据权利要求2所述的代码性能检测方法,其特征在于,所述通过所述第一虚拟机中配置的调用栈的专用接口,抓取所述当前运行函数的调用栈信息之前,还包括:在所述第一虚拟机中配置所述专用接口。4.根据权利要求1至3中任一项所述的代码性能检测方法,其特征在于,所述抓取当前运行函数的调用栈信息之后,还包括:所述第一虚拟机将所述调用栈信息存储在所述第一虚拟机的虚拟机栈中,以供所述第二线程在所述虚拟机栈中读取所述多个函数的调用栈信息。5.根据权利要求1至3中任一项所述的代码性能检测方法,其特征在于,所述抓取当前运行函数的调用栈信息之前,还包括:所述第一虚拟机获取所述当前运行函数的调用栈信息对应的调用规则,和运行所述目标代码的原始运行规则;根据所述调用规则更新所述原始运行规则,得到目标运行规则,所述目标运行规则用于运行所述目标代码和调用所述当前运行函数的调用栈信息。6.一种代码性能检测方法,其特征在于,应用于服务器,所述服务器包括第一虚拟机和第二虚拟机,所述代码性能检测方法包括:在第二线程中运行的所述第二虚拟机根据检测频率向所述第一虚拟机发送调用指示信息,所述调用指示信息用于指示在第一线程中运行的所述第一虚拟机抓取当前运行函数的调用栈信息,目标服务的源代码...

【专利技术属性】
技术研发人员:吕斌
申请(专利权)人:一点灵犀信息技术广州有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1