Script Engine Code Preparation Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional script engines face delays in dynamically generating executable code, leading to poor user experience due to inefficient code preparation processes, especially with heavy scripting on web sites and limited network data transfer rates, resulting in unwanted latencies and slow processing on the client side.

Innovation Solution

A method where a script engine determines the level of effort for code preparation phases based on predicted or observed usage, deferring and optimizing code preparation by maintaining multiple versions of native code for common and uncommon cases, and utilizing multiple processing cores to prioritize UI presentation and code optimization separately.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If conventional script engines dynamically generate executable code through complete code preparation processes, then code execution completeness is improved, but processing time and user experience deteriorate due to unwanted latencies

Engineering Contradiction:
Improvecode execution completenessVSAvoidcode preparation time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system performs preliminary actions by identifying and preparing only the most frequently used script code portions (hot spots) before they are actually needed for execution. This allows the system to have critical code ready in advance without completing full code preparation for all scripts, thus reducing latency while maintaining execution completeness for important functions.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system applies partial action by selectively optimizing only certain portions of script code (hot spots) rather than performing complete code preparation on all scripts. This partial optimization approach achieves significant performance improvement (40-150 times speedup) without the overhead of processing entire codebases, resolving the contradiction between completeness and time consumption.

Inventive Principle:
Principle #16Partial or excessive action

2Manufacturing precision

If script engines process all script code equally, then code preparation thoroughness is improved, but processing efficiency deteriorates due to inability to prioritize critical code

Engineering Contradiction:
Improvecode preparation thoroughnessVSAvoidcode processing efficiency
Core Design Contradiction:
Manufacturing precisionVSProductivity

Solution Approach 1:

The system applies local quality by differentiating treatment of script code based on usage characteristics. Frequently used code portions (hot spots) receive optimized preparation and execution resources, while less critical code uses standard processing. This localized quality enhancement maintains thoroughness where needed while improving overall processing efficiency through selective optimization.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The system changes parameters by dynamically adjusting code preparation and execution strategies based on usage frequency and performance metrics. Code portions are reclassified from cold to hot spots based on observed usage patterns, and execution parameters are modified accordingly, enabling the system to adapt thoroughness and efficiency levels to match actual runtime requirements.

Inventive Principle:
Principle #35Parameter changes

3Productivity

If multiple processing cores are used for parallel code preparation, then code generation speed is improved, but system complexity increases due to core coordination requirements

Engineering Contradiction:
Improvecode generation speedVSAvoidmulti-core coordination complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system segments code preparation tasks and assigns them to multiple processing cores based on identified hot spots. Each core independently processes specific code portions, reducing coordination overhead while maintaining parallel processing benefits. This segmentation approach enables scalable performance improvement without proportionally increasing system complexity.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS11288048B2Fast presentation of markup content having script code
Publication Date: 2022.03.29 MICROSOFT TECHNOLOGY LICENSING LLC
  • US11288048B2 patent drawing
  • US11288048B2 patent drawing
  • US11288048B2 patent drawing

AI summary

Dynamic code generation and coordination techniques are provided for display of dynamic markup documents including script code. A code generation process is not only guided by deferral of code preparation stages and sub-stages, but also informed by various information levels possessed concerning the code itself, either through interpretation or observation of execution, to not only generate modified code, but also to generate alternative code for alternative situations (e.g., generating different loop bodies that can thereafter be readily swapped in or out depending on a given function call by the browser application). A multi-core architecture further improves user experience by asymmetrically ensuring web site presentation and functionality is prioritized for the user experience.