Larry Smith <lsmith(a)cio2000.eds.com> wrote:
I want to make it very clear that this is NOT an FSF NTEmacs vs
NTXemacs issue. It's just that Microsoft's implementation of the stat
system call is very slow. It's worse over a network.
I wasn't making this into an NT Emacs vs XEmacs debate. I'm saying
that *I* don't see a problem with *****XEmacs*****. If you enable the
dired-in-C enhancements in *****XEmacs*****, you should see performance
comparable to "dir". The dired-in-C enhancements bypass the use of
stat() (if you think it's bad under NT, you haven't seen Win95), and use
FindFirstFile()/FindNextFile() directly. It's very fast.
Note, however, that dired in XEmacs is pretty inefficient. With
the current dired, most of the time is spent doing an "indent-region"
(and not obtaining the actual directory contents). To speed things up,
try applying the appended patch to dired.el (I just submitted this to
the dired folks).
-- Darryl Okahata
Internet: darrylo(a)sr.hp.com
DISCLAIMER: this message is the author's personal opinion and does not
constitute the support, opinion, or policy of Hewlett-Packard, or of the
little green men that have been following him all day.
===============================================================================
*** dired.el.~1~ Thu Feb 26 15:33:42 1998
--- dired.el Sun May 24 12:56:38 1998
***************
*** 1773,1779 ****
(widen)
(erase-buffer)
(dired-readin-insert dir-or-list wildcard)
- (dired-indent-listing (point-min) (point-max-marker))
;; We need this to make the root dir have a header line as all
;; other subdirs have:
(goto-char (point-min))
--- 1773,1778 ----
***************
*** 1825,1831 ****
;; insert all files listed in the cdr -- the car is the passed-in directory
;; list.
(let ((opoint (point))
! (insert-directory-program dired-ls-program))
(if (consp dir-or-list)
(mapcar
(function
--- 1824,1830 ----
;; insert all files listed in the cdr -- the car is the passed-in directory
;; list.
(let ((opoint (point))
! (insert-directory-program dired-ls-program) end)
(if (consp dir-or-list)
(mapcar
(function
***************
*** 1833,1839 ****
(insert-directory x switches wildcard)))
(cdr dir-or-list))
(insert-directory dir-or-list switches wildcard full-p))
! (dired-insert-set-properties opoint (point)))
(setq dired-directory dir-or-list))
(defun dired-frob-dir-list (dir-list)
--- 1832,1840 ----
(insert-directory x switches wildcard)))
(cdr dir-or-list))
(insert-directory dir-or-list switches wildcard full-p))
! (setq end (point-marker))
! (dired-indent-listing opoint end)
! (dired-insert-set-properties opoint end))
(setq dired-directory dir-or-list))
(defun dired-frob-dir-list (dir-list)