https://bugs.kde.org/show_bug.cgi?id=400604
Bug ID: 400604 Summary: excessive stat() syscalls Product: digikam Version: 5.9.0 Platform: Other OS: Linux Status: REPORTED Severity: normal Priority: NOR Component: FilesIO-Engine Assignee: digikam-bugs-n...@kde.org Reporter: johan...@sipsolutions.net Target Milestone: --- Created attachment 116057 --> https://bugs.kde.org/attachment.cgi?id=116057&action=edit (postprocessed) strace -e stat log SUMMARY STEPS TO REPRODUCE 1. add an album containing PNG files OBSERVED RESULT *far* too many stat() calls, to the point where this is becomes the bottleneck (though admittedly that might in part also be because this is on NFS for me) EXPECTED RESULT Not limited by stat() calls as the result is not expected to change within milliseconds. SOFTWARE VERSIONS (available in About System) KDE Plasma Version: unknown (mostly gnome system) KDE Frameworks Version: unknown (mostly gnome system) Qt Version: unknown (mostly gnome system) ADDITIONAL INFORMATION I suspect that somehow there's a read() routine in or for the PNG decompressor that does a stat() call for each 8k block being read. When doing the strace fully without limiting to stat() [which I did in the attached file] I also see the following pattern (over and over again): stat("/path/to/picture.png", {st_mode=S_IFREG|0644, st_size=112550827, ...}) = 0 stat("/path/to/picture.png", {st_mode=S_IFREG|0644, st_size=112550827, ...}) = 0 lseek(36, 29933568, SEEK_SET) = 29933568 lseek(36, 29958144, SEEK_SET) = 29958144 read(36, "<snip>"..., 8192) = 8192 stat("/path/to/picture.png", {st_mode=S_IFREG|0644, st_size=112550827, ...}) = 0 stat("/path/to/picture.png", {st_mode=S_IFREG|0644, st_size=112550827, ...}) = 0 lseek(36, 29966336, SEEK_SET) = 29966336 lseek(36, 29990912, SEEK_SET) = 29990912 read(36, "<snip>"..., 8192) = 8192 for ever 8k in the file. -- You are receiving this mail because: You are watching all bug changes.