Code Block Performance Testing via Segmentation Markers

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Developers lack efficient tools to accurately and efficiently monitor the performance of software applications throughout the development cycle, leading to costly and difficult identification of performance regressions, especially in larger projects.

Innovation Solution

A software testing tool that allows developers to perform targeted performance tests on specific blocks of code, generating meaningful results and providing a graphical user interface for analyzing performance metrics and baselines, enabling efficient identification and correction of performance issues.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If performance tests are performed on the entire application, then comprehensive performance monitoring is achieved, but resource consumption and cost increase significantly

Engineering Contradiction:
Improveperformance monitoring accuracyVSAvoidresource consumption
Core Design Contradiction:
Measurement precisionVSUse of energy by moving object

Solution Approach 1:

The patent divides the application into discrete blocks of code that can be tested independently. Each block is identified by unique markers (e.g., <!-- PERF_START --> and <!-- PERF_STOP -->) that delimit the code segment to be measured. This segmentation allows developers to test only specific portions of code rather than the entire application, reducing resource consumption while maintaining measurement precision for the targeted blocks.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent extracts the performance measurement functionality from the overall application testing process. By isolating specific code blocks for testing and using a separate testing tool to measure their performance, the system avoids the need to test the entire application. This extraction enables focused performance monitoring with reduced resource requirements.

Inventive Principle:
Principle #2Taking out (Extraction)

2Measurement precision

If performance tests are performed on the entire application, then complete performance data is obtained, but time and cost expenditure increase

Engineering Contradiction:
Improveperformance data completenessVSAvoidtesting time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

By segmenting the application into testable code blocks with markers, the patent enables selective testing of only the portions that need performance evaluation. This eliminates the time required to test unrelated code sections while ensuring complete performance data is captured for the targeted blocks through baseline comparisons and regression detection.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements preliminary action by establishing baseline performance metrics for code blocks before changes are made. These baselines are stored and can be quickly compared against future test results to detect regressions. This preliminary measurement setup eliminates the need for time-consuming analysis of entire application performance in later testing cycles.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If developers use traditional performance monitoring methods, then overall application performance is tracked, but identification of specific performance regression sources becomes difficult

Engineering Contradiction:
Improveperformance tracking accuracyVSAvoidregression source identification
Core Design Contradiction:
ReliabilityVSDifficulty of detecting and measuring

Solution Approach 1:

The patent segments the application code into marked blocks, each independently measurable. When a performance regression is detected, the system can pinpoint the specific marked block causing the issue rather than searching through the entire codebase. This segmentation transforms the difficulty of source identification into a straightforward process of comparing marked block performance against baselines.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements feedback by automatically comparing current performance measurements against stored baselines and providing immediate feedback when regressions are detected. The testing tool generates reports that identify which specific marked blocks have degraded performance, eliminating the need for manual analysis and making regression source detection automated and reliable.

Inventive Principle:
Principle #23Feedback

4Reliability

If developers perform frequent performance tests on large applications, then performance regressions are detected early, but resource and cost expenditure becomes prohibitive

Engineering Contradiction:
Improveregression detection reliabilityVSAvoidtesting resource expenditure
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

By segmenting the application into marked code blocks, the patent enables frequent testing of only critical portions rather than the entire application. Developers can place markers around performance-sensitive sections and test only those areas repeatedly without incurring prohibitive resource costs, while maintaining reliable regression detection for the most important functionality.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies partial action by testing only the necessary portions of code (those with markers) rather than performing exhaustive testing on the entire application. This partial testing approach provides sufficient regression detection reliability for critical paths while avoiding the excessive resource expenditure that would result from complete application testing at every development stage.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS9645916B2Performance testing for blocks of code
Publication Date: 2017.05.09 APPLE INC
  • US9645916B2 patent drawing
  • US9645916B2 patent drawing
  • US9645916B2 patent drawing

AI summary

Systems, methods, and computer-readable storage media for testing performance of blocks of code. A system can first receive a request to run a performance test for a selected portion of code in an application. Next, the system can obtain a baseline performance test result corresponding to the performance test for the selected portion of code in the application, and run the performance test for the selected portion of code in the application. The system can then generate a performance test result based on the performance test and the baseline performance test result. The system can also present the test result and/or the baseline performance test result via a graphical user interface.