Package: bsc
Version: 2.21-1
Severity: wishlist

On a big 'ext3' file system, running 'Operations>Tree of Directories'
from the '/' dir can take minutes.  (For 'inode' based file
systems, fetching complete directory trees is expensive.)

If 'bsc' fetches a tree of '/' and (minutes later) the user selects a
dir, 'bsc' changes to that dir, then forgets the tree.  If the user
wants to use the tree again, 'bsc' spends minutes re-fetching it.  It
would be better if such hard-earned data were cached, perhaps with a
config option to turn off caching.

The 'bsc' method of listing directories in real-time is inefficient.  
It seems to work like this:

    1) Internally get a list of dirs 'L' in the start directory.
    2) n=1
    3) let n=n+1
    4) Does 'L(n)' have subdirs?
        a) No, so display 'L(n)' as a branch, and goto step #3.
        b) Yes, display 'L(n)' as a branch with a plus sign,
           and start from step #1 for its dirs.

So if user wants an overview one branch deep, they have to wait for the
deepest levels to be found.

It would be better if 'bsc' had a config option to set how deep to
search.  A default depth of 1 seems reasonable.  So when a plus sign is
clicked it would list just that dir.

If it matters, some background on my system:

    # approximately how many files?
    % locate '*'| wc -l
    359933

    # ...how many dirs? (slow.)
    % locate '*'| while read x ; do [ -d "$x" ] && echo "$x" ; done | wc -l
    26150

    # how many levels deep? (slow.)
    % locate '*' | while read x ; do IFS=/ ; set $x ; echo $# ; done | sort -gu 
| tail -n 1
    15

Hope this helps...


-- System Information:
Debian Release: testing/unstable
  APT prefers unstable
  APT policy: (500, 'unstable'), (1, 'experimental')
Architecture: i386 (i686)
Shell:  /bin/sh linked to /bin/dash
Kernel: Linux 2.6.16-2-686
Locale: LANG=C, LC_CTYPE=C (charmap=ANSI_X3.4-1968) (ignored: LC_ALL set to C)

Versions of packages bsc depends on:
ii  libc6                         2.3.6-15   GNU C Library: Shared libraries
ii  libgcc1                       1:4.1.1-5  GCC support library
ii  libqt3-mt                     3:3.3.6-2  Qt GUI Library (Threaded runtime v
ii  libstdc++6                    4.1.1-5    The GNU Standard C++ Library v3
ii  libx11-6                      2:1.0.0-6  X11 client-side library
ii  libxext6                      1:1.0.0-4  X11 miscellaneous extension librar

bsc recommends no packages.

-- no debconf information


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to