Download performance in quantal
I use Rapid Photo Downloader for a while now but since i upgraded to quantal the performance is kind of terrible.
I import via a card reader and not directly from the camera. The fs in use the is FAT32 and the download speed was great with the last release but now it takes 15 minutes to import 50 NEFs (~20MB per file) which is just strange. There is as good as no IO or CPU load while importing.
I doubt that it's a bug so i wanted to ask if anybody else had this problem and maybe a solution.
Question information
- Language:
- English Edit question
- Status:
- Solved
- Assignee:
- No assignee Edit question
- Solved by:
- Sledge Sulaweyo
- Solved:
- Last query:
- Last reply:
Related bugs
Related FAQ:
None Link to a FAQ
Revision history for this message
|
#1 |
The bug i linked is not the exact same behavior but close ... in my case RPD does not freeze but is just terrible slow on import.
Revision history for this message
|
#2 |
Let me add some more info.
I tried the import from disk and to other devices to rule out problems with IO. The Log i attach here is an import of 3 Images from Disk (SSD, ext4) to ramdisk (tmpfs) so there should be no IO issue whatsoever. There is no error that i see, it's just slow. Neither CPU nor IO showed any strong usage during the whole import.
If i can do anything to help just give me a note - i have some idea of coding but did not dive into the source yet.
Sam Nov 3 10:00:02 CET 2012
sledge@hyperion:~$ rapid-photo-
[INFO/MainProcess] Rapid Photo Downloader 0.4.5
[INFO/MainProcess] Using pyexiv2 0.3.2
[INFO/MainProcess] Using exiv2 0.23.0
[INFO/MainProcess] Using exiftool 8.60
[INFO/MainProcess] Using hachoir 1.3.3
[INFO/MainProcess] Downloads that have occurred so far today: 3
[INFO/MainProcess] allocating a new mmap of length 4096
[DEBUG/MainProcess] created semlock with handle 139849963560960
[DEBUG/MainProcess] created semlock with handle 139849963556864
[DEBUG/MainProcess] created semlock with handle 139849963552768
[DEBUG/MainProcess] created semlock with handle 139849963548672
[DEBUG/MainProcess] created semlock with handle 139849963544576
[DEBUG/MainProcess] created semlock with handle 139849963540480
[DEBUG/MainProcess] created semlock with handle 139849963536384
[DEBUG/MainProcess] created semlock with handle 139849963532288
[DEBUG/MainProcess] _set_from_
[INFO/GetPrevie
[DEBUG/MainProcess] Start of day is set to 3:0
[DEBUG/MainProcess] SubfolderFile PID: 6063
[INFO/MainProcess] Using manually specified path /home/sledge/
[INFO/MainProcess] # photo backup devices: 0; # video backup devices: 0
[INFO/Subfolder
[DEBUG/
[DEBUG/MainProcess] created semlock with handle 139849963499520
[DEBUG/MainProcess] created semlock with handle 139849961549824
[DEBUG/MainProcess] created semlock with handle 139849938448384
[DEBUG/MainProcess] Queue._after_fork()
[DEBUG/MainProcess] created semlock with handle 139849938444288
[DEBUG/MainProcess] created semlock with handle 139849938440192
[DEBUG/MainProcess] created semlock with handle 139849938436096
[DEBUG/MainProcess] created semlock with handle 139849938432000
[DEBUG/MainProcess] created semlock with handle 139849938427904
[DEBUG/Scan-3] Queue._after_fork()
[INFO/Scan-3] child process calling self.run()
[DEBUG/MainProcess] TaskManager PID: 6064
[INFO/Scan-3] process shutting down
[DEBUG/Scan-3] running all "atexit" finalizers with priority >= 0
[DEBUG/Scan-3] running the remaining "atexit" finalizers
[INFO/Scan-3] process exiting with exitcode 0
[DEBUG/MainProcess] on_from_
[INFO/MainProcess] Found 3 photos
[INFO/MainProcess] Files total 51.3MB
[DEBUG/MainProcess] created semlock with handle 139849938423808
[DEBUG/MainProcess] created semlock with handle 139849938419712
[DEBUG/MainProcess] created semlock with handle 139849938415616
[DEBUG/MainProcess] Queue._after_fork()
[DEBUG/MainProcess] created semlock with handle 139849938411520
[DEBUG/MainProcess] created semlock with handle 139849938407424
[DEBUG/MainProcess] created semlock with handle 139849938403328
[DEBUG/MainProcess] created semlock with handle 139849938399232
[DEBUG/MainProcess] created semlock with handle 139849938395136
[DEBUG/MainProcess] TaskManager PID: 6066
[DEBUG/MainProcess] Turning on display of thumbnails
[DEBUG/
[DEBUG/
[INFO/GenerateT
[DEBUG/
[DEBUG/
[DEBUG/
[DEBUG/MainProcess] on_from_
[DEBUG/
[DEBUG/
[DEBUG/
[DEBUG/
[DEBUG/
[DEBUG/
[DEBUG/
[DEBUG/
[DEBUG/
[DEBUG/
[DEBUG/MainProcess] on_from_
[DEBUG/
[DEBUG/
[DEBUG/
[DEBUG/
[DEBUG/
[DEBUG/
[DEBUG/
[DEBUG/
[DEBUG/
[DEBUG/
[DEBUG/
[DEBUG/
[DEBUG/
[DEBUG/
[DEBUG/
[DEBUG/
[DEBUG/
[DEBUG/
[DEBUG/
[DEBUG/
[DEBUG/
[DEBUG/
[DEBUG/
[DEBUG/
[DEBUG/
[DEBUG/
[DEBUG/
[DEBUG/
[DEBUG/
[DEBUG/
[DEBUG/
[DEBUG/
[DEBUG/
[DEBUG/
[DEBUG/
[DEBUG/
[DEBUG/
[DEBUG/
[DEBUG/
[DEBUG/
[DEBUG/
[DEBUG/
[DEBUG/
[DEBUG/
[DEBUG/
[DEBUG/
[DEBUG/
[DEBUG/
[DEBUG/
[DEBUG/
[DEBUG/
[DEBUG/
[DEBUG/
[INFO/GenerateT
[DEBUG/
[DEBUG/
[INFO/GenerateT
[DEBUG/MainProcess] Download activated
[DEBUG/MainProcess] Prompting for Job Code
[DEBUG/MainProcess] Job Code entered
[DEBUG/MainProcess] Preference change detected: job_codes
[DEBUG/MainProcess] Job Code temp entered
[DEBUG/MainProcess] Photo download folder is valid: /tmp
[DEBUG/MainProcess] created semlock with handle 139849932169216
[DEBUG/MainProcess] created semlock with handle 139849932165120
[DEBUG/MainProcess] created semlock with handle 139849932161024
[DEBUG/MainProcess] Queue._after_fork()
[DEBUG/MainProcess] created semlock with handle 139849932156928
[DEBUG/MainProcess] created semlock with handle 139849932152832
[DEBUG/MainProcess] created semlock with handle 139849932148736
[DEBUG/MainProcess] created semlock with handle 139849932144640
[DEBUG/MainProcess] created semlock with handle 139849932140544
[DEBUG/MainProcess] TaskManager PID: 6074
[DEBUG/CopyFiles-5] Queue._after_fork()
[DEBUG/CopyFiles-5] Queue._after_fork()
[DEBUG/CopyFiles-5] Queue._after_fork()
[INFO/CopyFiles-5] child process calling self.run()
[DEBUG/MainProcess] Using temp dir /tmp/rpd-tmp-4c9vXF (photos)
[DEBUG/MainProcess] Download count: 1.
[INFO/CopyFiles-5] process shutting down
[DEBUG/CopyFiles-5] running all "atexit" finalizers with priority >= 0
[DEBUG/CopyFiles-5] running the remaining "atexit" finalizers
[INFO/CopyFiles-5] process exiting with exitcode 0
[DEBUG/MainProcess] Download count: 2.
[DEBUG/MainProcess] Download count: 3.
[DEBUG/
[DEBUG/
[DEBUG/
[DEBUG/
[DEBUG/
[DEBUG/
[DEBUG/MainProcess] Purging temp directories
[DEBUG/MainProcess] Deleted directory /tmp/rpd-tmp-4c9vXF
[DEBUG/MainProcess] Download completed
[DEBUG/MainProcess] Preference change detected: downloads_today
[INFO/MainProcess] Terminating all processes...
[INFO/MainProcess] process shutting down
[DEBUG/MainProcess] running all "atexit" finalizers with priority >= 0
[INFO/MainProcess] calling terminate() for daemon GetPreviewImage-1
[INFO/MainProcess] calling terminate() for daemon SubfolderFile-2
[INFO/MainProcess] calling join() for process GetPreviewImage-1
[INFO/MainProcess] calling join() for process SubfolderFile-2
[DEBUG/MainProcess] running the remaining "atexit" finalizers
sledge@hyperion:~$ date
Sam Nov 3 10:01:37 CET 2012
Revision history for this message
|
#3 |
Hi, thanks for your further testing. If you have programming experience, especially when using multiple processes, you are always welcome to take a look at the code and try to figure what is going on. Obviously something changed between Ubuntu 12.04 and 12.10 that triggered the extreme slowdown.
Unfortunately due to critical academic committments I have been unable to dedicate any time to the problem, and will not be able to for several weeks at the earliest.
Revision history for this message
|
#4 |
Hi Damon and thanks for your answer. I'll have a look at the code and maybe i find something. Time to get the dust off my python skills :)
Currently i'm downloading 400 shots - the download is at 96 after about 40 minutes and the GUI is frozen. As i started in debug mode i see it's still working so i let it run but as is it's unbearable.
Revision history for this message
|
#5 |
I suspect there is a problem occurring in the interprocess communication.
The code relies heavily on the Python multiprocessing module. From memory,
most interprocess communication in the program occurs using pipes, but
there might be one or two queues in there as well. I have no idea why it
would suddenly perform badly after working without apparent problems in
previous Ubuntu releases.
The problem may lie elsewhere, however. Perhaps some profiling might detect
the root cause of the problem.
Revision history for this message
|
#6 |
Status accidentally set to "answered" when replying via email
Revision history for this message
|
#7 |
Hi Damon,
thank you very much - 0.4.6.beta1 solved this issue!
So closed for good in my book :)