Skip to content

Conversation

Gezi-lzq
Copy link
Contributor

No description provided.

Copy link
Contributor

@Copilot Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR enhances the BenchmarkResult class to track duration in nanoseconds instead of milliseconds and adds comprehensive field count metrics to support more granular performance analysis of data processing operations.

  • Upgrades timing precision from milliseconds to nanoseconds for better accuracy
  • Adds field count tracking to measure processing cost per field
  • Updates field count calculation algorithms with new cost models for strings and binary data

Reviewed Changes

Copilot reviewed 10 out of 10 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
AvroRecordBinderTest.java Updates test expectations to match new field counting algorithm
DebeziumUnwrapTransform.java Improves schema caching with proper key-based lookup and thread-safe fingerprint computation
RecordAssembler.java Minor optimization caching field count to avoid repeated schema field size lookups
PerfTestCase.java Modifies benchmark to return field counts and use nanosecond precision timing
FieldsPerformanceTest.java Updates output formatting to display new field count metrics and removes logging dependency
FieldProfileRunner.java New comprehensive field profiling tool for detailed per-field-type performance analysis
BenchmarkResult.java Core changes adding nanosecond duration tracking and field count metrics with derived calculations
FieldMetric.java Completely redesigned field counting algorithm with new cost models for different data types
RecordBinder.java Fixes map field counting logic and removes redundant field existence checks
AvroValueAdapter.java Refactors map conversion logic with better error handling and code deduplication

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

@Gezi-lzq Gezi-lzq merged commit 0482afb into main Sep 26, 2025
6 checks passed
@Gezi-lzq Gezi-lzq deleted the perf/fps branch September 26, 2025 11:59
Gezi-lzq added a commit that referenced this pull request Sep 26, 2025
…onds and add field count metrics (#2898)

* feat(benchmark): enhance BenchmarkResult to track duration in nanoseconds and add field count metrics

* feat(adapter): improve map conversion handling and enhance field counting logic

* feat(transform): refactor enriched schema cache to use SchemaKey for improved uniqueness handling

* feat(metric): reduce granularity for binary buffers to optimize performance

* feat(metric): reduce granularity for binary buffers to optimize performance

* feat(binder): optimize map field count calculation in RecordBinder

* feat(transform): simplify fingerprint computation in DebeziumUnwrapTransform
Gezi-lzq added a commit that referenced this pull request Sep 28, 2025
…onds and add field count metrics (#2898) (#2901)

* feat(benchmark): enhance BenchmarkResult to track duration in nanoseconds and add field count metrics

* feat(adapter): improve map conversion handling and enhance field counting logic

* feat(transform): refactor enriched schema cache to use SchemaKey for improved uniqueness handling

* feat(metric): reduce granularity for binary buffers to optimize performance

* feat(metric): reduce granularity for binary buffers to optimize performance

* feat(binder): optimize map field count calculation in RecordBinder

* feat(transform): simplify fingerprint computation in DebeziumUnwrapTransform
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.

2 participants