Application Installation Time Optimization via Subroutine Execution Mode Selection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Optimizing the installation time of applications on computing devices is challenging due to various modes of execution available during application installation, which can lead to unpredictable and prolonged compilation times.

Innovation Solution

A method that generates performance scores for each subroutine based on different modes of execution and selects the optimal mode to maximize performance while limiting the total installation time within a predetermined period, using a fingerprint generation module to assess and adjust compilation settings dynamically.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If multiple modes of execution are available during application installation, then performance optimization is improved, but installation time becomes unpredictable and prolonged

Engineering Contradiction:
Improveperformance optimizationVSAvoidinstallation time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system dynamically changes execution parameters by selecting different modes of execution (e.g., interpretation, compilation, just-in-time compilation) for different subroutines based on their characteristics. This allows the installation process to optimize performance for critical subroutines while using faster execution modes for less critical ones, thereby balancing performance optimization with installation time constraints

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The application installation process is segmented into multiple subroutines, each of which can be independently analyzed and assigned an appropriate execution mode. By dividing the installation process into discrete units, the system can apply different optimization strategies to different segments, maximizing overall performance while maintaining control over total installation time

Inventive Principle:
Principle #1Segmentation

2Reliability

If compilation optimization is increased for each subroutine, then performance score is maximized, but total installation time exceeds the determined period

Engineering Contradiction:
Improveperformance scoreVSAvoidtotal installation time
Core Design Contradiction:
ReliabilityVSDuration of action of moving object

Solution Approach 1:

Different levels of compilation optimization are applied to different subroutines based on their specific characteristics and importance. Critical subroutines receive high-level optimization with aggressive compilation, while less critical subroutines use lighter optimization or interpretation. This localized approach ensures that performance scores are maximized for important functions without allowing total installation time to exceed the determined period

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The system applies partial compilation optimization to subroutines, compiling only the portions that provide the most performance benefit within the time budget. Rather than fully optimizing every subroutine, the system selectively optimizes critical paths and high-impact subroutines, achieving satisfactory performance scores while maintaining installation time within constraints

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS8972975B1Bounded installation time optimization of applications
Publication Date: 2015.03.03 GOOGLE LLC
  • US8972975B1 patent drawing
  • US8972975B1 patent drawing
  • US8972975B1 patent drawing

AI summary

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.