unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#9559: 23.2; diff mode refining creates many temporary files causing busy hard disk
@ 2011-09-20 12:31 Trevor Spiteri
  2011-09-20 21:59 ` Stefan Monnier
  0 siblings, 1 reply; 2+ messages in thread
From: Trevor Spiteri @ 2011-09-20 12:31 UTC (permalink / raw)
  To: 9559

When I open a diff file, and one hunk has a lot of changes, I noticed 
that the hard disk becomes busy for quite a bit of time until the 
refinements in the hunk are highlighted. I am including a simple diff 
file a.diff  below which causes the problem to me. The diff file has 40 
changes in one hunk.

I tried to track down what was causing this, and found that the function 
smerge-refine-subst was creating two temporary files and deleting them 
for each part of the hunk, so for the example below it creates and 
deletes 80 temporary files, and the hard disk is a bit busy for about 3 
seconds on my system, just to refine one hunk.

If I modify smerge-refine-subst by changing the lines
          (file1 (make-temp-file "diff1"))
          (file2 (make-temp-file "diff2")))
to
          (file1 "/dev/shm/diff1")
          (file2 "/dev/shm/diff2"))
the hard disk remains quiet and I do not have to wait for 3 seconds, 
presumably because /dev/shm is in RAM, not on the hard disk.

This reminds me of something that nags me a bit, although it is not 
really a problem. Whenever I'm using ediff, moving to the next hunk 
always makes the hard disk work, so I hear a short hard disk sound for 
each hunk I move to. I don't know if this is related.

a.diff:
--- a    2011-09-20 13:08:11.760491820 +0100
+++ b    2011-09-20 13:08:17.891515308 +0100
@@ -2,85 +2,85 @@
  x
  x
  x
-a
+b
  x
-a
+b
  x
-a
+b
  x
-a
+b
  x
-a
+b
  x
-a
+b
  x
-a
+b
  x
-a
+b
  x
-a
+b
  x
-a
+b
  x
-a
+b
  x
-a
+b
  x
-a
+b
  x
-a
+b
  x
-a
+b
  x
-a
+b
  x
-a
+b
  x
-a
+b
  x
-a
+b
  x
-a
+b
  x
-a
+b
  x
-a
+b
  x
-a
+b
  x
-a
+b
  x
-a
+b
  x
-a
+b
  x
-a
+b
  x
-a
+b
  x
-a
+b
  x
-a
+b
  x
-a
+b
  x
-a
+b
  x
-a
+b
  x
-a
+b
  x
-a
+b
  x
-a
+b
  x
-a
+b
  x
-a
+b
  x
-a
+b
  x
-a
+b
  x
  x
  x




In GNU Emacs 23.2.1 (x86_64-redhat-linux-gnu, GTK+ Version 2.24.4)
  of 2011-05-23 on x86-12.phx2.fedoraproject.org
Windowing system distributor `Fedora Project', version 11.0.11003000
configured using `configure  '--build=x86_64-redhat-linux-gnu' 
'--host=x86_64-redhat-linux-gnu' '--program-prefix=' 
'--disable-dependency-tracking' '--prefix=/usr' '--exec-prefix=/usr' 
'--bindir=/usr/bin' '--sbindir=/usr/sbin' '--sysconfdir=/etc' 
'--datadir=/usr/share' '--includedir=/usr/include' '--libdir=/usr/lib64' 
'--libexecdir=/usr/libexec' '--localstatedir=/var' 
'--sharedstatedir=/var/lib' '--mandir=/usr/share/man' 
'--infodir=/usr/share/info' '--with-dbus' '--with-gif' '--with-jpeg' 
'--with-png' '--with-rsvg' '--with-tiff' '--with-xft' '--with-xpm' 
'--with-x-toolkit=gtk' 'build_alias=x86_64-redhat-linux-gnu' 
'host_alias=x86_64-redhat-linux-gnu' 'CFLAGS=-DMAIL_USE_LOCKF -O2 -g 
-pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector 
--param=ssp-buffer-size=4 -m64 -mtune=generic''

Important settings:
   value of $LC_ALL: nil
   value of $LC_COLLATE: nil
   value of $LC_CTYPE: nil
   value of $LC_MESSAGES: nil
   value of $LC_MONETARY: nil
   value of $LC_NUMERIC: nil
   value of $LC_TIME: nil
   value of $LANG: en_GB.utf8
   value of $XMODIFIERS: @im=none
   locale-coding-system: utf-8-unix
   default enable-multibyte-characters: t

Major mode: Lisp Interaction

Minor modes in effect:
   tooltip-mode: t
   mouse-wheel-mode: t
   tool-bar-mode: t
   menu-bar-mode: t
   file-name-shadow-mode: t
   global-font-lock-mode: t
   font-lock-mode: t
   blink-cursor-mode: t
   auto-encryption-mode: t
   auto-compression-mode: t
   line-number-mode: t
   transient-mark-mode: t

Recent input:
<help-echo> <help-echo> <help-echo> <help-echo> M-x
r e p o r t - e m a c s - b u g <return>

Recent messages:
For information about GNU Emacs and the GNU system, type C-h C-a.

Load-path shadows:
None found.

Features:
(shadow sort mail-extr message idna sendmail regexp-opt ecomplete rfc822
mml easymenu mml-sec password-cache mm-decode mm-bodies mm-encode
mailcap mail-parse rfc2231 rfc2047 rfc2045 qp ietf-drums mailabbrev
nnheader gnus-util netrc time-date mm-util mail-prsvr gmm-utils wid-edit
mailheader canlock sha1 hex-util hashcash mail-utils emacsbug tooltip
ediff-hook vc-hooks lisp-float-type mwheel x-win x-dnd font-setting
tool-bar dnd fontset image fringe lisp-mode register page menu-bar
rfn-eshadow timer select scroll-bar mldrag mouse jit-lock font-lock
syntax facemenu font-core frame cham georgian utf-8-lang misc-lang
vietnamese tibetan thai tai-viet lao korean japanese hebrew greek
romanian slovak czech european ethiopic indian cyrillic chinese
case-table epa-hook jka-cmpr-hook help simple abbrev loaddefs button
minibuffer faces cus-face files text-properties overlay md5 base64
format env code-pages mule custom widget hashtable-print-readable
backquote make-network-process dbusbind system-font-setting
font-render-setting gtk x-toolkit x multi-tty emacs)






^ permalink raw reply	[flat|nested] 2+ messages in thread

* bug#9559: 23.2; diff mode refining creates many temporary files causing busy hard disk
  2011-09-20 12:31 bug#9559: 23.2; diff mode refining creates many temporary files causing busy hard disk Trevor Spiteri
@ 2011-09-20 21:59 ` Stefan Monnier
  0 siblings, 0 replies; 2+ messages in thread
From: Stefan Monnier @ 2011-09-20 21:59 UTC (permalink / raw)
  To: Trevor Spiteri; +Cc: 9559

> This reminds me of something that nags me a bit, although it is not
> really a problem. Whenever I'm using ediff, moving to the next hunk always
> makes the hard disk work, so I hear a short hard disk sound for each hunk
> I move to. I don't know if this is related.

I'd think the answer for you is to use tmpfs for /tmp rather than only
for /dev/shm.


        Stefan





^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2011-09-20 21:59 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-09-20 12:31 bug#9559: 23.2; diff mode refining creates many temporary files causing busy hard disk Trevor Spiteri
2011-09-20 21:59 ` Stefan Monnier

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).