处理JavaScript脚本函数的方法和设备的制作方法

文档序号:6382394阅读:109来源:国知局
专利名称:处理JavaScript脚本函数的方法和设备的制作方法
技术领域
本发明涉及信息技术领域,并且具体地,涉及处理JavaScript脚本函数的方法和设备。
背景技术
互联网(Web)应用程序是依赖浏览器的远程应用,虽然远程服务器承担数据的处理,但终端设备一般对获取的数据进行渲染呈现,渲染过程往往依赖于本地执行的JavaScript脚本来完成,因此,在不考虑远程服务器负载和网络传输因素的情况下,JavaScript脚本的执行效率在一定程度上决定了 Web应用程序的执行效率以及用户体验。目前,在JavaScript脚本的执行过程中,常采用JavaScript脚本函数的优化机制,也就是,通过统计函数调用次数或循环次数,当函数调用次数或循环次数达到一定数目时,将该函数识别为热区函数,然后对热区函数进行优化。可见,将函数识别为热区函数是需要函数的多次调用或大规模循环,因此导致了处理器对JavaScript脚本的执行效率降低,从而影响了处理器的处理性能。

发明内容
本发明实施例提供处理JavaScript脚本函数的方法和设备,能够提高处理器对JavaScript脚本的执行效率,并提升处理器的处理性能。第一方面,提供了一种处理JavaScript脚本函数的方法,包括对JavaScript脚本函数的优化标识进行解析,以生成对应于该优化标识的优化权值,其中该优化标识用于指示是否对该JavaScript脚本函数进行优化;根据该优化权值,确定是否对该JavaScript脚本函数进行优化。结合第一方面,在第一种可能的实现方式中,该根据该优化权值,确定是否对该JavaScript脚本函数进行优化,包括在该优化权值具有第一值时,确定对该JavaScript脚本函数进行优化;在该优化权值具有第二值时,确定不对该JavaScript脚本函数进行优化。结合第一方面,在第二种可能的实现方式中,在该优化标识用于指示对该JavaScript脚本函数进行优化时,该优化标识还用于指示对该JavaScript脚本函数进行优化的条件;根据该优化权值,确定是否对该JavaScript脚本函数进行优化,包括在该优化权值具有第三值并且满足该对该JavaScript脚本函数进行优化的条件时,确定对该JavaScript脚本函数进行优化。结合第一方面的第二种可能的实现方式,在第三种可能的实现方式中,该对该JavaScript脚本函数进行优化的条件包括该JavaScript脚本函数的执行次数或该JavaScript脚本函数的使用频率。结合第一方面或第一方面的第一种可能的实现方式或第一方面的第二种可能的实现方式或第一方面的第三种可能的实现方式,在第四种可能的实现方式中,还包括在确定对该JavaScript脚本函数进行优化时,生成对应于该JavaScript脚本函数的优化JavaScript脚本函数;执行该优化JavaScript脚本函数。结合第一方面或第一方面的第一种可能的实现方式或第一方面的第二种可能的实现方式或第一方面的第三种可能的实现方式,在第五种可能的实现方式中,还包括在确定不对该JavaScript脚本函数进行优化时,执行该JavaScript脚本函数。第二方面,提供了一种处理JavaScript脚本函数的设备,包括解析单元,用于对JavaScript脚本函数的优化标识进行解析,生成对应于该优化标识的优化权值,其中该优化标识用于指示是否对该JavaScript脚本函数进行优化;确定单元,用于根据该优化权值,确定是否对该JavaScript脚本函数进行优化。结合第二方面,在第一种可能的实现方式中,该确定单元具体用于在该优化权值具有第一值时,确定对该JavaScript脚本函数进行优化;在该优化权值具有第二值时,确定不对该JavaScript脚本函数进行优化。结合第二方面,在第二种可能的实现方式中,在该优化标识用于指示对该JavaScript脚本函数进行优化时,该优化标识还用于指示对该JavaScript脚本函数进行优化的条件;该确定单元具体用于在该优化权值具有第三值并且满足该对该JavaScript脚本函数进行优化的条件时,确定对该JavaScript脚本函数进行优化。结合第二方面的第二种可能的实现方式,在第三种可能的实现方式中,该对该JavaScript脚本函数进行优化的条件包括该JavaScript脚本函数的执行次数或该JavaScript脚本函数的使用频率。结合第二方面或第二方面的第一种可能的实现方式或第二方面的第二种可能的实现方式或第二方面的第三种可能的实现方式,在第四种可能的实现方式中,还包括生成单元,用于在该确定单元确定对该JavaScript脚本函数进行优化时,生成对应于该JavaScript脚本函数的优化JavaScript脚本函数;第一执行单元,用于执行该优化JavaScript脚本函数。结合第二方面或第二方面的第一种可能的实现方式或第二方面的第二种可能的实现方式或第二方面的第三种可能的实现方式,在第五种可能的实现方式中,还包括第二执行单元,用于在该确定单元确定不对该JavaScript脚本函数进行优化时,执行该JavaScript脚本函数。本发明实施例中,通过对JavaScript脚本函数的优化标识进行解析,生成对应于优化标识的优化权值,由于优化标识用于指示是否对JavaScript脚本函数进行优化,使得能够根据优化权值确定是否对JavaScript脚本函数进行优化,无需对JavaScript脚本函数是否为热区函数进行识别,从而能够提高处理器对JavaScript脚本的执行效率,并提升处理器的处理性能。


为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍,显而易见地,下面所描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是根据本发明实施例的处理JavaScript脚本函数的方法的示意性流程图。图2是根据本发明实施例的处理JavaScript脚本函数的方法的过程的示意性流程图。图3是根据本发明实施例的处理JavaScript脚本函数的设备的示意框图。图4是根据本发明实施例的处理JavaScript脚本函数的设备的示意性流程图。
具体实施例方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都应属于本发明保护的范围。图1是根据本发明实施例的处理JavaScript脚本函数的方法的示意性流程图。图1的方法由处理JavaScript脚本函数的设备执行。110,对JavaScript脚本函数的优化标识进行解析,以生成对应于优化标识的优化权值,其中优化标识用于指示是否对JavaScript脚本函数进行优化。JavaScript脚本函数可以由处理JavaScript脚本函数的设备内部的JavaScript引擎执行。JavaScript脚本函数的优化标识可以采用符合JavaScript开发语言语法的形式,这样,不会对其它JavaScript引擎造成影响。例如,JavaScript脚本函数的优化标识可以以JavaScript开发语言中注释的形式表示,比如优化标识为“/*opt*/”时,可以用于指示对JavaScript脚本函数进行优化。比如优化标识为“/*non*/时,可以用于指示不对JavaScript脚本函数进行优化。由于在后续执行过程中优化标识并不被识别,因此,需要对优化标识进行解析,生成后续执行过程中可识别的优化权值。优化标识的解析可以在对JavaScript脚本函数进行解析的过程中同时进行,对优化标识解析后,可以生成相应的优化权值。该优化权值可以保存在对JavaScript脚本函数解析后生成的JavaScript对象中。120,根据优化权值,确定是否对JavaScript脚本函数进行优化。可选地,作为一个实施例,在优化权值具有第一值时,可以确定对JavaScript脚本函数进行优化。在优化权值具有第二值时,可以确定不对JavaScript脚本函数进行优化。其中,第一值与第二值不相同。优化权值与优化标识相对应,因此优化权值可以表示是否对JavaScript脚本函数进行优化。在优化权值具有第一值时,例如,优化权值为O时,可以确定对JavaScript脚本函数进行优化。在优化权值具有第二值时,例如,优化权值为-1时,可以确定不对JavaScript脚本函数进行优化。可选地,作为另一实施例,在优化标识用于指示对JavaScript脚本函数进行优化时,优化标识还可以用于指示对JavaScript脚本函数进行优化的条件。在步骤120中,在优化权值具有第三值并且满足对JavaScript脚本函数进行优化的条件时,可以确定对JavaScript脚本函数进行优化。例如,优化标识可以表示为“/*optXXX*/”,其中“opt”可以表示对JavaScript脚本函数进行优化,“XXX”可以表示对JavaScript脚本函数进行优化的条件。优化权值与优化标识相对应,因此优化权值还可以表示JavaScript脚本函数进行优化的条件。这样,在优化权值具有第三值并且满足对JavaScript脚本函数进行优化的条件时,可以确定对JavaScript脚本函数进行优化。可选地,作为另一实施例,对JavaScript脚本函数进行优化的条件可以包括JavaScript脚本函数的执行次数或JavaScript脚本函数的使用频率。对JavaScript脚本函数进行优化的条件可以是指当满足该条件时,执行对JavaScript脚本函数的优化。例如,可以在JavaScript脚本函数的执行次数达到一定数目,比如JavaScript脚本函数的执行次数达到130次时,执行对JavaScript脚本函数的优化。或者,可以在JavaScript脚本函数的使用频率达到某一阈值时,比如JavaScript脚本函数的使用频率达到60%时,执行对JavaScript脚本函数的优化。此外,对JavaScript脚本函数进行优化的条件还可以包括其它条件,例如,类型信息的使用情况等,本发明实施例对此不做限定。例如,优化标识可以指示对JavaScript脚本函数进行立即优化,则在与优化标识相对应的优化权值具有第三值时,比如优化权值为O时,并且在该JavaScript脚本函数首次执行时,可以确定对JavaScript脚本函数进行优化。再例如,优化标识可以指示对JavaScript脚本函数进行优化的条件是JavaScript脚本函数执行130次,则在与该优化标识对应的优化权值具有第三值时,比如优化权值为I时,并且在JavaScript脚本函数执行130次后可以确定对该JavaScript脚本函数进行优化。应注意,上述优化权值的举例只是为了帮助本领域技术人员更好地理解本发明实施例,而非限制本发明实施例的范围。在现有技术中,可能刚对JavaScript脚本函数进行了优化,而因为类型信息的改变需要解优化,再优化;或者,由于过早对JavaScript脚本函数进行优化而导致未能搜集到足够的类型信息,造成优化后的JavaScript脚本函数遇到类型不匹配时需要解优化,从而导致处理器对JavaScript脚本执行效率低下,资源浪费严重。而本发明实施例中,通过优化标识指示对JavaScript脚本函数进行优化的条件,使得可以合理地确定JavaScript脚本函数优化的时机,能够避免浪费资源,并能够提高处理器对JavaScript脚本的执行效率。可选地,作为另一实施例,在确定对JavaScript脚本函数进行优化时,生成对应于JavaScript脚本函数的优化JavaScript脚本函数,执行优化JavaScript脚本函数。可选地,作为另一实施例,在确定不对JavaScript脚本函数进行优化时,执行该JavaScript脚本函数。某些频繁进行优化解优化操作,而又不能用延迟优化来减少开销的JavaScript脚本函数,例如类型信息经常变化而有执行次数不太多的函数,在本发明实施例中,优化标识,比如“/*non*/,可以指示不对JavaScript脚本函数进行优化,处理器直接执行JavaScript脚本函数,能够提升处理器对JavaScript脚本的执行效率。本发明实施例中,通过对JavaScript脚本函数的优化标识进行解析,生成对应于优化标识的优化权值,由于优化标识用于指示是否对JavaScript脚本函数进行优化,使得能够根据优化权值确定是否对JavaScript脚本函数进行优化,无需对JavaScript脚本函数是否为热区函数进行识别,从而能够提高处理器对JavaScript脚本的执行效率,并提升处理器的处理性能。图2是根据本发明实施例的处理JavaScript脚本函数的方法的过程的示意性流程图。201,对JavaScript脚本函数和JavaScript脚本函数的优化标识进行解析,生成JavaScript对象,该JavaScript对象包含对应于优化标识的优化权值,其中优化标识指示是否对该JavaScript脚本函数进行优化。可选地,优化标识还可以用于指示对JavaScript脚本函数进行优化的条件。202,根据优化权值,判断是否对该JavaScript脚本函数进行优化。如果不对该JavaScript脚本函数进行优化,则转到步骤203。例如,在优化权值具有第二值时,比如优化权值为-1时,可以确定不对该JavaScript脚本函数进行优化。如果对该JavaScript脚本函数进行优化,则转到步骤204。例如,在优化权值具有第一值时,比如优化权值为O时,可以确定对JavaScript脚本函数进行优化。如果优化标识用于指示对JavaScript脚本函数进行优化的条件,那么在优化权值具有第三值并且满足对JavaScript脚本函数进行优化的条件时,可以确定对JavaScript脚本函数进行优化。203,如果不对该JavaScript脚本函数进行优化,则执行该JavaScript脚本函数。204,如果对该JavaScript脚本函数进行优化,则生成对应于该JavaScript脚本函数的优化JavaScript脚本函数。205,执行优化JavaScript脚本函数。本发明实施例中,通过对JavaScript脚本函数的优化标识进行解析,生成对应于优化标识的优化权值,由于优化标识用于指示是否对JavaScript脚本函数进行优化,使得能够根据优化权值确定是否对JavaScript脚本函数进行优化,无需对JavaScript脚本函数是否为热区函数进行识别,从而能够提高处理器对JavaScript脚本的执行效率,并提升处理器的处理性能。下面将结合具体例子详细描述本发明实施例。应注意,这些例子只是为了帮助本领域技术人员更好地理解本发明实施例,而非限制本发明实施例的范围。(I)对于JavaScript脚本函数需要进行优化的情况JavaScript脚本函数的例子可以如下
权利要求
1.一种处理JavaScript脚本函数的方法,其特征在于,包括 对JavaScript脚本函数的优化标识进行解析,以生成对应于所述优化标识的优化权值,其中所述优化标识用于指示是否对所述JavaScript脚本函数进行优化; 根据所述优化权值,确定是否对所述JavaScript脚本函数进行优化。
2.根据权利要求1所述的方法,其特征在于,所述根据所述优化权值,确定是否对所述JavaScript脚本函数进行优化,包括 在所述优化权值具有第一值时,确定对所述JavaScript脚本函数进行优化; 在所述优化权值具有第二值时,确定不对所述JavaScript脚本函数进行优化。
3.根据权利要求1所述的方法,其特征在于,在优化标识用于指示对JavaScript脚本函数进行优化时,优化标识还用于指示对JavaScript脚本函数进行优化的条件; 所述根据所述优化权值,确定是否对所述JavaScript脚本函数进行优化,包括 在所述优化权值具有第三值并且满足所述对所述JavaScript脚本函数进行优化的条件时,确定对所述JavaScript脚本函数进行优化。
4.根据权利要求3所述的方法,其特征在于,所述对所述JavaScript脚本函数进行优化的条件包括所述JavaScript脚本函数的执行次数或所述JavaScript脚本函数的使用频率。
5.根据权利要求1至4中任一项所述的方法,其特征在于,还包括 在确定对所述JavaScript脚本函数进行优化时,生成对应于所述JavaScript脚本函数的优化JavaScript脚本函数; 执行所述优化JavaScript脚本函数。
6.根据权利要求1至4中任一项所述的方法,其特征在于,还包括 在确定不对所述JavaScript脚本函数进行优化时,执行所述JavaScript脚本函数。
7.—种处理JavaScript脚本函数的设备,其特征在于,包括 解析单元,用于对JavaScript脚本函数的优化标识进行解析,以生成对应于所述优化标识的优化权值,其中所述优化标识用于指示是否对所述JavaScript脚本函数进行优化; 确定单元,用于根据所述优化权值,确定是否对所述JavaScript脚本函数进行优化。
8.根据权利要求7所述的设备,其特征在于,所述确定单元具体用于在所述优化权值具有第一值时,确定对所述JavaScript脚本函数进行优化;在所述优化权值具有第二值时,确定不对所述JavaScript脚本函数进行优化。
9.根据权利要求7所述的设备,其特征在于,在所述优化标识用于指示对所述JavaScript脚本函数进行优化时,所述优化标识还用于指示对所述JavaScript脚本函数进行优化的条件; 所述确定单元具体用于在所述优化权值具有第三值并且满足所述对所述JavaScript脚本函数进行优化的条件时,确定对所述JavaScript脚本函数进行优化。
10.根据权利要求9所述的设备,其特征在于,所述对所述JavaScript脚本函数进行优化的条件包括所述JavaScript脚本函数的执行次数或所述JavaScript脚本函数的使用频率。
11.根据权利要求7至10中任一项所述的设备,其特征在于,还包括 生成单元,用于在所述确定单元确定对所述JavaScript脚本函数进行优化时,生成对应于所述JavaScript脚本函数的优化JavaScript脚本函数; 第一执行单元,用于执行所述优化JavaScript脚本函数。
12.根据权利要求7至10中任一项所述的设备,其特征在于,还包括 第二执行单元,用于在所述确定单元确定不对所述JavaScript脚本函数进行优化时,执行所述JavaScript脚本函数。
全文摘要
本发明实施例提供了处理JavaScript脚本函数的方法和设备。该方法包括对JavaScript脚本函数的优化标识进行解析,以生成对应于优化标识的优化权值,其中优化标识用于指示是否对JavaScript脚本函数进行优化;根据优化权值,确定是否对JavaScript脚本函数进行优化。本发明实施例能够根据优化权值确定是否对JavaScript脚本函数进行优化,无需对JavaScript脚本函数是否为热区函数进行识别,从而能够提高处理器对JavaScript脚本的执行效率,并提升处理器的处理性能。
文档编号G06F9/45GK103019800SQ201210490890
公开日2013年4月3日 申请日期2012年11月27日 优先权日2012年11月27日
发明者张振龙, 隋鹏飞 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1