AltWinDirStat

2022-03-3120:3313874github.com

An unofficial modification of WinDirStat. Contribute to ariccio/altWinDirStat development by creating an account on GitHub.

An unofficial modification of WinDirStat. Tremendous performance improvements.

This repository used to be an ugly, hacky, bundle of crap - but now it's just a bundle of crap.

I've been working on some interesting static analysis stuff lately, so development has slowed down :(

In the mean time, I'm planning to cut out some of the MFC code (replaced with the raw Windows API that MFC poorly wraps) ...and then switch over to VS 2015.

A quick guide to the structure of this repository:

  • Reference Code
    • Code that I referenced/studied early in development
    • None of it compiles as part of altWinDirStat
  • WinDirStat
    • My branch, this contains the Visual Studio 2013 .sln file
    • This is where the source code is!
    • Has it's own, more detailed README.md
  • Development Screenshots
    • Interesting things I saw while working on altWinDirStat
  • filesystem-docs-n-stuff
    • All sorts of information on NTFS and NTFS internals
    • LOADS of good stuff in here!
    • Also has mirrors of any documentation that I mention in the source code
  • stress-progs
    • A native application that I've built to stress test WinDirStat by creating an arbitrary number of randomly named files
    • Has it's own .sln file, and is developed concurrently (albeit sporadically)
  • stress-scripts
    • A naive version of the aforementioned stress testing utility, written in Python
    • Turned out to be extremely slow, caused by a massive text-encoding bottleneck in Python
  • (many other files, not yet sorted)

Page 2

An unofficial modification of WinDirStat. Tremendous performance improvements.

This repository used to be an ugly, hacky, bundle of crap - but now it's just a bundle of crap.

I've been working on some interesting static analysis stuff lately, so development has slowed down :(

In the mean time, I'm planning to cut out some of the MFC code (replaced with the raw Windows API that MFC poorly wraps) ...and then switch over to VS 2015.

A quick guide to the structure of this repository:

  • Reference Code
    • Code that I referenced/studied early in development
    • None of it compiles as part of altWinDirStat
  • WinDirStat
    • My branch, this contains the Visual Studio 2013 .sln file
    • This is where the source code is!
    • Has it's own, more detailed README.md
  • Development Screenshots
    • Interesting things I saw while working on altWinDirStat
  • filesystem-docs-n-stuff
    • All sorts of information on NTFS and NTFS internals
    • LOADS of good stuff in here!
    • Also has mirrors of any documentation that I mention in the source code
  • stress-progs
    • A native application that I've built to stress test WinDirStat by creating an arbitrary number of randomly named files
    • Has it's own .sln file, and is developed concurrently (albeit sporadically)
  • stress-scripts
    • A naive version of the aforementioned stress testing utility, written in Python
    • Turned out to be extremely slow, caused by a massive text-encoding bottleneck in Python
  • (many other files, not yet sorted)

Read the original article

Comments

  • By IE6 2022-03-3121:004 reply

    • By Arainach 2022-04-017:42

      The author's views on code seem rather opinionated in general. Their thoughts on internationalization in particular go against all best practices in the pursuit of clean code dogma: https://github.com/ariccio/altWinDirStat/tree/master/WinDirS...

      I'm amused that the author rants about the importance of being able to easily analyze code and then wants to produce (presumably) a different binary per language to analyze all over.

      Their commit messages are also rather colorful. This is an interesting project, but seemingly not someone I'd enjoy working with.

    • By humbleharbinger 2022-04-012:291 reply

      A fun read indeed. I wonder about the insistence on keeping it less than 20k loc?

      Is that the developer basically saying "this problem can and should be solved in less than 20k lines?"

      • By Cthulhu_ 2022-04-018:361 reply

        Looks like it; the author also says he sticks to certain paradigms like an indentation style I've not seen in the wild before and making as many things as possible 'const'.

        I don't mind, I can respect people having Strong Opinions, it's an improvement over having too weak opinions which lead to inconsistencies in a codebase.

        • By chris37879 2022-04-0113:48

          I'm guilty of the const / final thing... it really does help in the language I use for work all the time, but that's because its compiler and analyzer are built around using those hints to do static analysis in my editor.

    • By zombittack 2022-04-0110:31

      fwiw, we went from in-memory to sqlite and had massive performance gains for a language model trie we were working with in an app. Best part: cross-platform! I just find this so odd, the gall of the forker who literally started with someone else's code then, after asking about a collab, told them "sorry, I think better." So weird. Ah well, 7 years old, I'm sure they've both gotten over it.

    • By xeromal 2022-03-3122:45

      Thanks for sharing! What a fun read!

  • By chaxor 2022-03-3121:264 reply

    I always liked diskonaut, since I can use it anywhere (remote computer ssh is mostly where I live). https://github.com/imsnif/diskonaut

    It's in Rust, which I don't code, but it is if anyone cares about such things.

    It works fast, is easy to use, and looks pretty.

    • By dijit 2022-03-3122:221 reply

      I’m going to guess that AltWinDirStat is much faster as the readme references several windows specific performance improvements.

      Commenting though to thank you for bringing Diskonaught into my life.

      FWIW I have been using ncdu for this purpose for many years, I like it, but diskonaught looks like a solid improvement.

      • By R0b0t1 2022-03-3123:51

        Where's the improvements list? I can't see it.

    • By bravetraveler 2022-03-3122:27

      I like it, reminds me a lot of something I used to use with Windows -- SpaceSniffer

      This might get me to finally stop writing so many loops, but getting this on servers at work might be questionable :D

    • By julianh95 2022-03-3123:27

      How are you using it over SSH? :)

    • By alanbernstein 2022-04-011:32

      Looks great, thanks for sharing.

  • By smusamashah 2022-04-016:341 reply

    Old SpaceMonger[0] and now SpaceSniffer[1] present a much better visualization of folders while also letting you adjust the granularity of how deep you want to see through.

    [0]: https://web.archive.org/web/20121126062443/http://www.sixty-...

    [1]: http://www.uderzo.it/main_products/space_sniffer/index.html

    • By aquir 2022-04-0117:44

      I second SpaceSniffer...it's not actively developed any more :(

HackerNews