发明名称 Bounded installation time optimization of applications
摘要 A disclosed method may include, in a computing device including at least one processor, a memory, and an operating system with a plurality of modes of execution, accessing instructions received by the computing device for installation and optimization use at least one of the plurality of modes of execution. The instructions may include a plurality of subroutines. A fingerprint for each of the subroutines may be generated. Each fingerprint may be associated with a number of instructions in a corresponding subroutine. The subroutine may also include determining, for each of the plurality of subroutines and based on the fingerprint, performance score and estimated compilation time associated with each of the plurality of modes of execution, for compiling the corresponding subroutine. One of the plurality of modes of execution may be selected based on maximizing a total performance score for the plurality of subroutines, and limiting total compilation and installation time.
申请公布号 US8972975(B1) 申请公布日期 2015.03.03
申请号 US201313854207 申请日期 2013.04.01
申请人 Google Inc. 发明人 Rogers Ian Andrew
分类号 G06F9/445;G06F9/45 主分类号 G06F9/445
代理机构 McDonnell Boehnen Hulbert & Berghoff LLP 代理人 McDonnell Boehnen Hulbert & Berghoff LLP
主权项 1. A method, comprising: in a computing device comprising at least one processor, a memory, and an operating system with a plurality of modes of execution, accessing instructions received by the computing device for compilation using at least one of the plurality of modes of execution, wherein the plurality of modes of execution utilize a different level of code optimization during compilation and a quality of compiled code increases using modes of execution with increasing optimization levels, and the instructions comprising a plurality of subroutines; generating a fingerprint for each of the plurality of subroutines, wherein the fingerprint identifies a plurality of performance scores associated with the plurality of modes of execution of a subroutine on the computing device for corresponding quality of compiled code using the plurality of modes of execution; determining, for each of the plurality of subroutines and based on the fingerprint, performance score and estimated compilation time associated with each of the plurality of modes of execution, for compiling the corresponding one of the plurality of subroutines, wherein the estimated compilation time depends on hardware characteristics of the computing device as well as a number of the plurality of subroutines in the instructions and the level of code optimization for the mode of execution; and selecting one of the plurality of modes of execution for compiling each of the plurality of subroutines, based on: maximizing a total performance score for the plurality of subroutines; andlimiting a total compilation time of the plurality of subroutines to remain within a determined period of time.
地址 Mountain View CA US