Skip to content

Conversation

@sakari-malkki
Copy link
Collaborator

No description provided.

@sakari-malkki sakari-malkki requested a review from Copilot January 19, 2026 13:15
Copy link
Contributor

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 introduces binary data read and write benchmarking capabilities to the testing application by adding two new benchmark classes and converting the benchmark setup infrastructure to be asynchronous.

Changes:

  • Converted benchmark setup methods from synchronous to asynchronous across all benchmark classes
  • Added BinaryWriteBenchmark class for benchmarking binary blob file generation from PX files
  • Added BinaryReadBenchmark class for benchmarking binary data reading with multiple read strategies

Reviewed changes

Copilot reviewed 11 out of 11 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
Px.Utils.TestingApp/Commands/PxFileValidationBenchmark.cs Updated setup method signature to async
Px.Utils.TestingApp/Commands/MetadataSyntaxValidationBenchmark.cs Updated setup method signature to async
Px.Utils.TestingApp/Commands/MetadataContentValidationBenchmark.cs Updated setup method signature to async
Px.Utils.TestingApp/Commands/MetadataBuilderBenchmark.cs Updated setup method to async and added using statement for file stream
Px.Utils.TestingApp/Commands/DatabaseValidationBenchmark.cs Updated setup method signature to async
Px.Utils.TestingApp/Commands/DataValidationBenchmark.cs Updated setup method to async and added missing base call
Px.Utils.TestingApp/Commands/DataReadBenchmark.cs Updated setup method signature to async
Px.Utils.TestingApp/Commands/BinaryWriteBenchmark.cs New class implementing binary write benchmarking with parallel blob generation
Px.Utils.TestingApp/Commands/BinaryReadBenchmark.cs New class implementing binary read benchmarking with multiple read strategies
Px.Utils.TestingApp/Commands/BenchmarkRunner.cs Registered new binary benchmark commands
Px.Utils.TestingApp/Commands/Benchmark.cs Converted base setup method to async and updated call site
Comments suppressed due to low confidence (1)

Px.Utils.TestingApp/Commands/BinaryWriteBenchmark.cs:1

  • The selectedValues list is built inside a loop and then passed to DimensionMap constructor. This could be optimized by using collection expression syntax: newDimMaps.Add(new DimensionMap(dimMap.Code, [..Enumerable.Range(0, dimMap.ValueCodes.Count).Where(i => i % 2 == 0).Select(i => dimMap.ValueCodes[i])])).
using Px.Utils.BinaryData.ValueConverters;

@sakari-malkki sakari-malkki marked this pull request as ready for review January 19, 2026 13:31
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