Skip to content

MstatDiffer

Namespace: Dotsider.Core.Analysis

Assembly: Dotsider.Core.dll

Compares two ILC size reports and explains where the bytes went: a hierarchical delta tree (assembly → namespace → type → method, beside the binary’s data categories), flat top contributors, and per-assembly / per-namespace aggregate deltas. Entries are matched by the build-stable identity keys of MstatSizeIndex, so overloads, folded MethodTables, and owner-grouped frozen objects compare correctly across builds.

public static class MstatDiffer

ObjectMstatDiffer

Compares two decoded reports under a shared detail-section policy (MstatData)), so mixed format versions degrade to blob fidelity together and no byte is counted differently on the two sides.

Parameters:

  • left (MstatData): The baseline report. Use Empty when there is none.
  • right (MstatData): The report under comparison.

Returns: MstatDiffResult

The size difference.

public static MstatDiffResult Compare(MstatData left, MstatData right)

Compares two normalized indexes. Both must have been created under the same MstatSectionPolicy — otherwise the same bytes sit in different sections on the two sides and the comparison is meaningless.

Parameters:

Returns: MstatDiffResult

The size difference.

public static MstatDiffResult Compare(MstatSizeIndex left, MstatSizeIndex right)