microsoft / microsoft/SizeBench
Column sorting should be done using stable sort implementation
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
- Open a binary for inspection
- Select "Start Exploring By Compilands"
- Sort results by specific column, e.g. Size on Disk
- 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
verat 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
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- 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