Real-Time Code Performance Evaluation via Segmented Execution

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Developing a method to measure performance characteristics of program code in real-time during execution or editing, allowing users to identify and improve problematic code portions without waiting for the entire program to finish executing.

Innovation Solution

A technical computing environment that enables users to interactively evaluate program code performance by partitioning code into portions, executing them, and providing real-time feedback on execution time and resource consumption, with options to adjust execution speed and display performance indicators.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If the entire program is executed to measure performance characteristics, then complete program performance can be evaluated, but the user must wait for the entire program to finish executing before identifying problematic code portions

Engineering Contradiction:
Improveperformance measurement completenessVSAvoidwaiting time for performance feedback
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent divides the program code into multiple code portions and executes them separately using a code executor. This segmentation allows the system to measure performance characteristics of individual code portions rather than waiting for complete program execution, thereby reducing waiting time while maintaining measurement accuracy for each segment.

Inventive Principle:
Principle #1Segmentation

2Productivity

If code is partitioned and executed separately for real-time performance evaluation, then feedback time is reduced, but the system complexity increases due to code partitioning and execution control mechanisms

Engineering Contradiction:
Improveperformance evaluation speedVSAvoidsystem complexity for code partitioning
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements a feedback mechanism where a performance evaluator receives performance characteristics from executed code portions and provides real-time feedback to the user. This automated feedback loop enables rapid performance evaluation of code portions without requiring complex manual analysis, balancing the increased system complexity with improved productivity.

Inventive Principle:
Principle #23Feedback

3Loss of time

If performance characteristics are measured for each code portion separately, then problematic code can be identified quickly, but the number of measurements and data processing increases

Engineering Contradiction:
Improvetime to identify problematic codeVSAvoiddata processing complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The patent introduces a performance evaluator as an intermediary component that receives performance characteristics from multiple code portions, processes the data, and presents results to the user. This intermediary handles the complexity of aggregating and analyzing performance data from multiple measurements, reducing the burden on the user while enabling quick identification of problematic code portions.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS9336115B1User interface driven real-time performance evaluation of program code
Publication Date: 2016.05.10 MATHWORKS INC
  • US9336115B1 patent drawing
  • US9336115B1 patent drawing
  • US9336115B1 patent drawing

AI summary

A device may receive an indication to perform a performance evaluation on program code. The device may partition the program code into multiple program code portions based on receiving the indication to perform the performance evaluation. The device may execute a first program code portion of the multiple program code portions. The device may determine that the first program code portion has finished executing, and may determine a performance characteristic associated with execution of the first program code portion based on determining that the first program code portion has finished executing. The device may execute a second program code portion, of the multiple program code portions, and may provide information that identifies the performance characteristic while the second program code portion is being executed.