-
Notifications
You must be signed in to change notification settings - Fork 22
Too slow #18
Comments
I've been able to compare i.e. emacs source trees without significant problems. Full compare time comparable to the one in Beyond Compare. Have you tried to run it with -Q ? |
I'll try to address it by ignoring differences in ignored files and directories, like .git, see issue #19 . |
very slow for me as well, even for very small directory trees. I do everything ever tramp, I wonder how bad that could be for extra slowness. |
Have you tried to do comparison without .git directory? Just to verify if it is any better. |
After almost six months, I'm coming back and give it another go. However, it's still slow. In fact, it's fast only if the directories are very small without .git directory. For my C++ source tree at work, it literally takes forever! I've also tried emacs -Q, but no difference at all! |
Ok, I'm trying to understand what is the difference between different configurations.
|
Sorry I should have written a bit more of the details.
Linux Mint 17.1
24.5.1
2G, 22,000 files
Local
I don't think I would have survived without having diff in my system.
I've never used Beyond, is it a Linux application? Hope this helps. |
Thanks, Beyond Compare is a cross-platform commercial tool I tried to replace with this Emacs extension(this functionality - the convenient comparison of the directory trees) was what I've missed from the closed source world and decided to replicate in Emacs, to have this as a portable and window/terminal agnostic solution. |
@YorkZ could you please test again? |
Slow here, I tried twice. Once for two different versions of tmux source code directories which contains Once for two versions of fish-shell source code directories which contains I also tested them in both meld or bcompare, they are both loaded for only 1 or 2 seconds. |
No, it still took forever!
I'm not sure why you have to diff all the files up front? What about "lazy diffing". Also, I think because for many files, just looking at their size would tell whether they are different or not, can you only diff the files with the same size? |
If we do not diff files upfront we cannot show the status of the directory. |
UPDATE: previous version: ztree-20160925.719 Same tests: Two different versions of tmux source code directories which contains Two versions of fish-shell source code directories which contains For a smaller directory, it takes more time, for the bigger directory, it takes basically the same time as the previous version of ztree. And I notice another difference, the previous ztree will create no ztree buffer until the whole diff process completes (at least I cannot see it from the current window), the updated ztree buffer will create the ztree buffer instantly after executing the ztree-diff for two dirs, but the buffer only contains the header, the complete result of the diff will be filled into the buffer after the time as I mentioned(50s and 3m50s). Maybe you should profiler the package and get the key point the poor performance. |
It's too slow to be useful. In fact, I've never been able to see the user interface because it takes forever. I guess the reason is because it always try to compare two trees recursively? If so, maybe it should just compare one level, and compares sub directories "on demand".
The text was updated successfully, but these errors were encountered: