Releases: aras-p/sizer
v0.6.0: better object file size tracking
- When multiple object files have the same filename, disambiguate them (output their folder name in that case too).
- Object file sizes are counted better, in the case where some of their contributions are without symbols.
- Sizer output now also lists object files by data size.
- Slightly improve performance.
v0.5.1: multi-platform and cmake
- Sizer now builds on Windows, Mac and Linux. Note that it still only analyzes the Windows executables/PDBs, but can do that while running on Mac/Linux.
- The build system was changed to CMake.
- Github Actions was added, which also builds the Sizer executable across all of Windows/Mac/Linux platforms.
v0.5.0: large speedup, no more DIA SDK
Large speedup and removed dependency on msdia*.dll
, by switching to MolecularMatters/raw_pdb library for PDB file parsing. Sizer no longer uses MS DIA SDK, so maybe someday it will be able to run on Mac or Linux too!
The speedup example of analyzing current Blender build: time goes from 9.6sec down to 2.1sec (only some of that is raw_pdb library being faster, other speedups are within Sizer itself).
Overall sensible things that were reported before still seem to be sensible, but some "strange" things have changed. For example, previous versions used to report a massive .text$mn
function attributed to one object file; that no longer happens. Previous versions used to not report some functions coming from linked static libraries, depending on how these were built.
- Sizer no longer uses MS DIA SDK, and thus no longer needs
msdia_*.dll
being present anywhere. - Generally much faster now (4x-20x faster in my tests).
- Command line accepts either executable/dll (as before), or directly path to PDB file.
- Change: some "strange" functions (e.g. massive
.text$mn
) are no longer reported. - Fix: previously some symbols from linked static libraries were not included, depending on how the libraries are built and how their debug symbols are being generated.
- Emits warning when analyzing a partially stripped (
/PDBSTRIPPED
) debug information.
v0.4.0: now 64 bit
- Sizer itself is now 64 bit executable (aras)
- Fixed template report in some cases stopping too early (sagamusix)
- Convert project files to VS2022 (aras)
v0.3.0: command line options
Previously, minimum symbol sizes were hardcoded (only symbols larger than 512 bytes printed, etc.). Now they are configurable via command line options! See --help
for full list of arguments.
- Control report symbol sizes, e.g.
--all
,--min=0.1
etc. - Optionally filter report to only include symbols with given substring in name/file:
--name=str
- Tweaked output to be more readable in general (column widths, etc.)
v0.2.0: now faster
- Massively sped up execution time for large & 64 bit binaries, by changing the symbol processing loop (thanks Lionel Fuentes).
- Improved progress update indicator.