Skip to content
Snippets Groups Projects
  1. May 12, 2021
    • Yorhel's avatar
      Implement export to file · 231ab103
      Yorhel authored
      The exported file format is fully compatible with ncdu 1.x, but has a
      few minor differences. I've backported these changes in
      ca51d4ed
      231ab103
  2. May 09, 2021
  3. May 07, 2021
  4. May 06, 2021
    • Yorhel's avatar
      More UI stuff + shave off 16 bytes from model.Dir · 27cb599e
      Yorhel authored
      I initially wanted to keep a directory's block count and size as a
      separate field so that exporting an in-memory tree to a JSON dump would
      be easier to do, but that doesn't seem like a common operation to
      optimize for. We'll probably need the algorithms to subtract sub-items
      from directory counts anyway, so such an export can still be
      implemented, albeit slower.
      27cb599e
  5. May 05, 2021
  6. May 03, 2021
    • Yorhel's avatar
      Implement --exclude-kernfs and --exclude-pattern · a28a0788
      Yorhel authored
      Eaiser to implement now that we're linking against libc.
      
      But exclude pattern matching is extremely slow, so that should really be
      rewritten with a custom fnmatch implementation. It's exactly as slow as
      in ncdu 1.x as well, I'm surprised nobody's complained about it yet.
      And while I'm at it, supporting .gitignore-style patterns would be
      pretty neat, too.
      a28a0788
    • Yorhel's avatar
      Link to ncurses + some rudimentary TUI frameworky stuff · 826c2fc0
      Yorhel authored
      I tried playing with zbox (pure Zig termbox-like lib) for a bit, but I
      don't think I want to have to deal with the terminal support issues that
      will inevitably come with it. I already stumbled upon one myself: it
      doesn't properly put the terminal in a sensible state after cleanup in
      tmux. As much as I dislike ncurses, it /is/ ubiquitous and tends to kind
      of work.
      826c2fc0
  7. May 01, 2021
  8. Apr 29, 2021
    • Yorhel's avatar
      Add CLI argument parsing · e2805da0
      Yorhel authored
      e2805da0
    • Yorhel's avatar
      WIP: Experimenting with a rewrite to Zig & a new data model · 0783d357
      Yorhel authored
      The new data model is supposed to solve a few problems with ncdu 1.x's
      'struct dir':
      - Reduce memory overhead,
      - Fix extremely slow counting of hard links in some scenarios
        (issue #121)
      - Add support for counting 'shared' data with other directories
        (issue #36)
      
      Quick memory usage comparison of my root directory with ~3.5 million
      files (normal / extended mode):
      
        ncdu 1.15.1:     379M / 451M
        new (unaligned): 145M / 178M
        new (aligned):   155M / 200M
      
      There's still a /lot/ of to-do's left before this is usable, however,
      and there's a bunch of issues I haven't really decided on yet, such as
      which TUI library to use.
      
      Backporting this data model to the C version of ncdu is also possible,
      but somewhat painful. Let's first see how far I get with Zig.
      0783d357
Loading