[Shotwell] shotwell with 100k pics: somewhere between quite fast and too slow

oliver oliver at first.in-berlin.de
Mon Aug 15 00:57:32 UTC 2011


Hello,

I did the proiling with 132324 imported pictures
(not copied to the shotwell "repository").

Used system: Arch-Linux on AMD64 (dual core) notebook/laptop.


General notes:
==============

1)
  Sometimes shotwell seemed to hang, e.g.
  when quitting it.

  I found out that it not really hangs forever, but for a long time.
  E.g. it ended after about 14 minutes, or in one test after 9 minutes...)

  In case it "hangs" (temporarily, as mentioned above), strace gave me the
  following output:


  ======================================================================
  [...]
  clone(child_stack=0, flags=CLONE_PARENT_SETTID|SIGCHLD, parent_tidptr=0x7fffdcc6ac8c) = ? ERESTARTNOINTR (To be restarted)
  --- {si_signo=SIGPROF, si_code=SI_KERNEL, si_value={int=1, ptr=0x1}} (Profiling timer expired) ---
  rt_sigreturn(0x1b)                      = 56
  clone(child_stack=0, flags=CLONE_PARENT_SETTID|SIGCHLD, parent_tidptr=0x7fffdcc6ac8c) = ? ERESTARTNOINTR (To be restarted)
  --- {si_signo=SIGPROF, si_code=SI_KERNEL, si_value={int=1, ptr=0x1}} (Profiling timer expired) ---
  rt_sigreturn(0x1b)                      = 56
  clone(child_stack=0, flags=CLONE_PARENT_SETTID|SIGCHLD, parent_tidptr=0x7fffdcc6ac8c) = ? ERESTARTNOINTR (To be restarted)
  --- {si_signo=SIGPROF, si_code=SI_KERNEL, si_value={int=1, ptr=0x1}} (Profiling timer expired) ---
  rt_sigreturn(0x1b)                      = 56
  clone(child_stack=0, flags=CLONE_PARENT_SETTID|SIGCHLD, parent_tidptr=0x7fffdcc6ac8c) = ? ERESTARTNOINTR (To be restarted)
  --- {si_signo=SIGPROF, si_code=SI_KERNEL, si_value={int=1, ptr=0x1}} (Profiling timer expired) ---
  rt_sigreturn(0x1b)                      = 56
  [...]
  ======================================================================


  But shotwell sometimes finished immediately.

  This seems only to occur, if profiling-switch is enabled.

  I looked up the problem: it seems NOT to be shotwell-specific,
  and so I already mentioned it on the linux kernel mailing list.
  AFAIK, the ERESTARTNOINTR is not intended to pop up in user space.


2)
  The slowness I talked about, also occured without these profiling-related "hanging".
  I hope to have some time to lok at this issue again later.


3)
  When starting shotwell, the progress bar goes up to 49% very fast.
  After that, it stalls for a while, until the program opens.
  When the stalling occurs, a lot of mprotect()/brk() is going on.


Results:
========

Because my last mail was too big for the mailinglist,
I put the results online; they are temporarily available here:

  http://www.first.in-berlin.de/tmp/shotwell-gprof.tgz

Ciao,
   Oliver

P.S.: The moderator of the list can cancel my last big mail,
      because this one is the replacement for that big mail.

P.P.S.: The hanging-problem seems to be very unspecifc.
        Sometimes it occurs, sometimes not, or at least it
        seesm to hang not always the same amount of time.
        I could not find out any regularity here.




More information about the Shotwell-list mailing list