id summary reporter owner description type status priority milestone component version resolution keywords cc blockedby blocking branch_state votes 2836 Faster directory load in certain (specific) cases gotar "If there's a need to enter directory containing thousands of entries, calling lstat() for every one of them is very expensive ...and sometimes not necessary. My suggestion: 0. make use of AC_STRUCT_DIRENT_D_TYPE to check for dirent.d_type existence for the rest to work at all, 1. if: - user has set some new option (like 'quick_cd' to be >0), - current panel view doesn't include UID/GID/mode/*time etc. (higher levels of 'quick_cd' may further narrow it down, I think quick_cd=1 should strip on size only, 2 for size and *time, and 3 ignore all the attributes), 2. then: - handle_dirent() for d_type==DT_DIR should skip mc_lstat(), instead put some predefined values (0s) when called from do_load_dir(), - keep it as it is for do_reload_dir(), 3. alt-t for such partial directory listing should reload directory when required (if some not loaded attrs need to be displayed). This way quick_cd=1 omits lstat() for directories, when current panel view requests type/name/size - only size is lost and this is usually useless (and fast to retrieve via ctrl-space). With higher levels one can expand this behaviour up to entirely disabling lstat() for directories. Still, ctrl-r would bring all the data back." enhancement new major Future Releases mc-core master no branch