Skip to content

[00115] Remove Small and Medium benchmark categories#29

Merged
rorychatt merged 1 commit into
mainfrom
plan-00115-Ivy.NativeJsonDiff
Apr 12, 2026
Merged

[00115] Remove Small and Medium benchmark categories#29
rorychatt merged 1 commit into
mainfrom
plan-00115-Ivy.NativeJsonDiff

Conversation

@rorychatt

Copy link
Copy Markdown
Collaborator

Changes

Removed Small (~200B) and Medium (~2KB) benchmark categories from all benchmark classes, the payload generator, README tables, BENCHMARKS.md tables, and tests. These categories produced misleading results where FFI marshalling overhead dominated over actual diff computation time.

API Changes

  • JsonPayloadGenerator.AllCategories reduced from 10 to 8 entries (removed "Small" and "Medium")
  • JsonPayloadGenerator.Generate() no longer accepts "Small" or "Medium" as arguments
  • GenerateSmall() and GenerateMedium() private methods deleted

Files Modified

  • Benchmarks:
    • src/Ivy.NativeJsonDiff.Benchmarks/TestData/JsonPayloadGenerator.cs — removed Small/Medium from AllCategories, switch, and deleted generator methods
    • src/Ivy.NativeJsonDiff.Benchmarks/Benchmarks/EndToEndDiffBenchmarks.cs — removed from [Params]
    • src/Ivy.NativeJsonDiff.Benchmarks/Benchmarks/PreParsedDiffBenchmarks.cs — removed from [Params]
    • src/Ivy.NativeJsonDiff.Benchmarks/Benchmarks/JsonApplyBenchmarks.cs — removed from [Params]
  • Documentation:
    • README.md — removed Small/Medium rows from tables, updated category count
    • BENCHMARKS.md — removed Small/Medium rows from all three tables
  • Tests:
    • src/Ivy.NativeJsonDiff.Tests/JsonPayloadGeneratorTests.cs — removed InlineData, Assert.Contains, updated count assertion

Commits

  • 215c095 [00115] Remove Small and Medium benchmark categories

Small (~200B) and Medium (~2KB) payloads produce misleading results
where FFI marshalling overhead dominates over actual diff computation,
making NativeJsonDiff appear slower than managed alternatives.

- Remove Small/Medium from AllCategories, Generate() switch, and delete
  GenerateSmall()/GenerateMedium() methods
- Remove Small/Medium from [Params] in all three benchmark classes
- Remove Small/Medium rows from README.md and BENCHMARKS.md tables
- Update tests: remove InlineData, Assert.Contains, fix category count

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@rorychatt
rorychatt merged commit 44a166d into main Apr 12, 2026
2 checks passed
@rorychatt
rorychatt deleted the plan-00115-Ivy.NativeJsonDiff branch April 12, 2026 12:15
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