Skip to content

Bench v2#98

Merged
roxblnfk merged 9 commits into1.xfrom
bench-v2
Feb 28, 2026
Merged

Bench v2#98
roxblnfk merged 9 commits into1.xfrom
bench-v2

Conversation

@roxblnfk
Copy link
Member

What

This pull request introduces a comprehensive set of new DTOs (Data Transfer Objects) and reporting classes to enhance the benchmarking subsystem. It refactors the benchmark configuration to support more granular control over warmup, iteration, and call counts, and adds detailed result and diagnostic structures for reporting benchmark outcomes and issues. The changes improve the accuracy, flexibility, and clarity of benchmark results and diagnostics.

Benchmark Configuration Refactor

  • The BenchWith constructor now supports separate configuration for warmup, calls, and iterations, replacing the previous iterations and revolutions fields. Input validation is improved for these parameters.

Benchmark Result and Data Structures

  • Added new DTOs: BenchResult, CaseResult, CaseSet, IterationSet, and Line to represent benchmark results, case aggregations, iteration details, and ranking lines. These structures enable detailed and organized reporting of benchmark execution and outcomes. [1] [2] [3] [4] [5]

Diagnostic and Reporting System

  • Introduced a base abstract Report class and multiple specialized report types (e.g., HighVariance, BimodalBehavior, TooManyOutliers, NoisyEnvironment, etc.) to classify and describe benchmark anomalies, warnings, and errors. Each report includes severity, reason, and advice fields for actionable feedback. [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12]

  • Added the Severity enum to classify report levels as Notice, Warning, or Danger.

Minor Code Improvements

  • Updated usages of microtime(true) to use the fully-qualified \microtime(true) for consistency. [1] [2]
  • Cleaned up unused imports in Application.php. was changed

See commit history for details.

image

Checklist

@roxblnfk roxblnfk requested a review from a team as a code owner February 28, 2026 19:43
@roxblnfk roxblnfk merged commit 44a9f75 into 1.x Feb 28, 2026
2 of 12 checks passed
@roxblnfk roxblnfk deleted the bench-v2 branch February 28, 2026 19:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant