Application Installation Time Optimization via Subroutine Execution Mode Selection
Find Innovative SolutionsGenerate 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
Engineering 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
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
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
2Reliability
If compilation optimization is increased for each subroutine, then performance score is maximized, but total installation time exceeds the determined period
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
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
Data Source
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.


