Skip to content
Snippets Groups Projects
  1. Apr 29, 2021
    • 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