microsoft / microsoft/SizeBench

Column sorting should be done using stable sort implementation

Open
#11 0 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
C#
Stars
175
Forks
20
PR merge metrics
No merged PRs in 30d

Description

Describe the bug
I cannot compose column sorting in SizeBench, because it uses unstable sorting for sorting by column.

What you are doing

  1. Open a binary for inspection
  2. Select "Start Exploring By Compilands"
  3. Sort results by specific column, e.g. Size on Disk
  4. Sort results by different column, e.g. Lib Name

Expected behavior
I want the rows to be sorted by Lib Name and within single lib, by their size on disk.

What actually happens is that I get rows sorted by Lib Name and otherwise jumbled, so I can't go after largest obj files in given lib, which is what I want to do.

Environment Details

  • OS: [type ver at the Windows Command Prompt]: [Version 10.0.19044.1889]
  • SizeBench version number [Go to Help > About SizeBench]: 2.2204.1800.0 (git commit b5c2b2ea)

Additional context
While my original use case is specifically grouping by lib, sort by size on disk, using stable sort when sorting by column will allow users to compose their own sorting orders arbitrarily.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Reproduce the issue through Start Exploring By Compilands by sorting first on Size on Disk and then on Lib Name. Locate the column-sorting implementation and make the composed order preserve the earlier sort within equal later-sort values; done means the rows remain ordered by size within each library.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp
Domain
desktop
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.