本公开涉及一种代码性能数据的交互方法、装置、介质及电子设备,包括:根据源代码运行时的代码性能数据生成可视图;若接收到用户对源代码中的第一函数进行的第一操作,根据预设关联关系,确定第一函数在可视图中对应的性能框作为目标性能框,并在可视图中对目标性能框进行突出显示;若接收到用户对可视图中的第一性能框进行的第二操作,根据预设关联关系,确定第一性能框对应的目标函数,并在源代码中对目标函数进行突出显示。这样,开发人员无需再分别在代码性能数据中和源代码中查找相对应位置的数据,方便了用户快速查看代码性能数据,提高了用户根据该代码性能数据对代码进行定向调试、定向优化的效率。定向优化的效率。定向优化的效率。
【技术实现步骤摘要】
代码性能数据的交互方法、装置、介质及电子设备
[0001]本公开涉及软件开发
,具体地,涉及一种代码性能数据的交互方法、装置、介质及电子设备。
技术介绍
[0002]目前的诸多代码编辑器中,有各种能够展示代码在运行时的代码性能数据的方式,如火焰图(The Flame Graph),能够对代码运行时的堆栈跟踪数据进行可视化,以便于开发者更加直接快速准确地识别最常用的代码路径。开发者可以通过分析火焰图发现具有调用耗时等性能问题的函数,定向优化,从而取得良好的性能优化成果。但是,无论是何种对代码性能数据进行展示的方法,其对代码性能数据的展示往往与源代码之间是相互独立的,开发者只能分别对源代码和代码性能数据进行浏览,然后自行在源代码数据中找到在代码性能数据中显示具有性能问题的函数,或者自行在代码性能数据中查找开发者想要着重分析的函数对应的数据。
技术实现思路
[0003]提供该
技术实现思路
部分以便以简要的形式介绍构思,这些构思将在后面的具体实施方式部分被详细描述。该
技术实现思路
部分并不旨在标识要求保护的技术方案的关键特征或必要特征,也不旨在用于限制所要求的保护的技术方案的范围。
[0004]第一方面,本公开提供一种代码性能数据的交互方法,所述方法包括:
[0005]根据源代码运行时的代码性能数据生成可视图,所述可视图中包括所述源代码中的各函数分别对应的性能框,所述性能框用于显示所述函数对应代码性能数据,并与所述函数一一对应;
[0006]若接收到用户对源代码中的第一函数进行的第一操作,根据预设关联关系,确定所述第一函数在所述可视图中对应的性能框作为目标性能框,并在所述可视图中对所述目标性能框进行突出显示;
[0007]若接收到用户对所述可视图中的第一性能框进行的第二操作,根据所述预设关联关系,确定所述第一性能框对应的目标函数,并在所述源代码中对所述目标函数进行突出显示。
[0008]第二方面,本公开提供一种代码性能数据的交互装置,所述装置包括:
[0009]可视图生成模块,用于根据源代码运行时的代码性能数据生成可视图,所述可视图中包括所述源代码中的各函数分别对应的性能框,所述性能框用于显示所述函数对应代码性能数据,并与所述函数一一对应;
[0010]第一交互模块,用于若接收到用户对源代码中的第一函数进行的第一操作,根据预设关联关系,确定所述第一函数在所述可视图中对应的性能框作为目标性能框,并在所述可视图中对所述目标性能框进行突出显示;
[0011]第二交互模块,用于若接收到用户对所述可视图中的第一性能框进行的第二操
作,根据所述预设关联关系,确定所述第一性能框对应的目标函数,并在所述源代码中对所述目标函数进行突出显示。
[0012]第三方面,本公开提供一种计算机可读介质,其上存储有计算机程序,该程序被处理装置执行时实现第一方面中实施例所述方法的步骤。
[0013]第四方面,本公开提供一种电子设备,包括:
[0014]存储装置,其上存储有计算机程序;
[0015]处理装置,用于执行所述存储装置中的所述计算机程序,以实现第一方面中实施例所述方法的步骤。
[0016]通过上述技术方案,能够在对代码性能数据进行展示的可视图与源代码之间提供一种交互方式,开发人员等用户能够简单通过点击的方式实现从可视图中跳转至源代码中的对应位置,或者从源代码中的对应函数跳转至可视图中对应的性能数据位置,用户无需再分别在代码性能数据中和源代码中查找相对应位置的数据,方便了用户快速查看代码性能数据,提高了用户根据该代码性能数据对代码进行定向调试、定向优化的效率。本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
[0017]结合附图并参考以下具体实施方式,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。贯穿附图中,相同或相似的附图标记表示相同或相似的元素。应当理解附图是示意性的,原件和元素不一定按照比例绘制。在附图中:
[0018]图1是根据本公开一示例性实施例示出的一种代码性能数据的交互方法的流程图。
[0019]图2是根据本公开又一示例性实施例示出的一种代码性能数据的交互方法的流程图。
[0020]图3是根据本公开又一示例性实施例示出的一种代码性能数据的交互方法的流程图。
[0021]图4是根据本公开又一示例性实施例示出的一种代码性能数据的交互方法的流程图。
[0022]图5是根据本公开一示例性实施例示出的一种代码性能数据的交互装置的结构框图。
[0023]图6是根据本公开又一示例性实施例示出的一种代码性能数据的交互装置的结构框图。
[0024]图7示出了适于用来实现本公开实施例的电子设备的结构示意图。
具体实施方式
[0025]下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
[0026]应当理解,本公开的方法实施方式中记载的各个步骤可以按照不同的顺序执行,
和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本公开的范围在此方面不受限制。
[0027]本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。
[0028]需要注意,本公开中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。
[0029]需要注意,本公开中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
[0030]本公开实施方式中的多个装置之间所交互的消息或者信息的名称仅用于说明性的目的,而并不是用于对这些消息或信息的范围进行限制。
[0031]图1是根据本公开一示例性实施例示出的一种代码性能数据的交互方法的流程图。如图1所示,所述方法包括步骤101至步骤103。
[0032]在步骤101中,根据源代码运行时的代码性能数据生成可视图,所述可视图中包括所述源代码中的各函数分别对应的性能框,所述性能框用于显示所述函数对应代码性能数据,并与所述函数一一对应。
[0033]该可视图可以是以火焰图(The Flame Graph)的形式来进行展示,例如,可视图中的每一列性能框表示一个堆栈跟踪(stack trace),其中的每一个性能框都表示一个栈帧(stack 本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.一种代码性能数据的交互方法,其特征在于,所述方法包括:根据源代码运行时的代码性能数据生成可视图,所述可视图中包括所述源代码中的各函数分别对应的性能框,所述性能框用于显示所述函数对应的代码性能数据,并与所述函数一一对应;若接收到用户对源代码中的第一函数进行的第一操作,根据预设关联关系,确定所述第一函数在所述可视图中对应的性能框作为目标性能框,并在所述可视图中对所述目标性能框进行突出显示;若接收到用户对所述可视图中的第一性能框进行的第二操作,根据所述预设关联关系,确定所述第一性能框对应的目标函数,并在所述源代码中对所述目标函数进行突出显示。2.根据权利要求1所述的方法,其特征在于,若接收到用户对所述源代码中的第一函数进行的第一操作,所述方法还包括:确定所述目标性能框在所述可视图中的显示区域;若所述显示区域的水平宽度小于预设宽度,则将所述显示区域水平缩放至所述水平宽度不小于所述预设宽度。3.根据权利要求1所述的方法,其特征在于,所述确定所述第一性能框对应的目标函数包括:将所述第一性能框对应的函数确定为所述目标函数。4.根据权利要求1所述的方法,其特征在于,所述确定所述第一性能框对应的目标函数包括:确定所述第一性能框对应的函数为第二函数;将所述源代码中与所述第二函数之间具有调用关系的函数确定为第三函数;将所述第二函数和所述第三函数显示在所述可视图中的预设函数信息显示区域中;若接收到用户对所述预设函数信息显示区域中的函数进行的第三操作,则将被执行所述第三操作的函数确定为所述目标函数。5.根据权利要求4所述的方法,其特征在于,所述第三操作包括:对所述预设函数信息显示区域中的...
【专利技术属性】
技术研发人员:华柯玮,刘义,龙逸楠,
申请(专利权)人:北京字节跳动网络技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。