Closed david-pace closed 6 years ago
Could you tell me which version you had installed for the above performance measurements. The recent release should already contains improvements for refactoring performance (see #118). This does not mean that I won't consider this ticket when going over the refactoring code once more.
Thank you for the feedback. The measurements were made with Elysium 0.5.2.201508091006
. I will try to update (this did not work for me so far due to #135) and will report whether the operation performs faster.
I did not comment on #135 because I could not reproduce the update problem. Both with a regular installation and an Eclipse market place installation the Elysium update site was present... Please try a separate new installation with 0.5.3 (note that it has a Score view performance issue, we are currently working on).
I just tested with version 0.5.3.201802071711
and the precondition checks are performed considerably faster. The deletion of the same folder in the same workspace now starts nearly instantly. From the usability perspective, this issue could therefore be closed. It is up to you if you want to leave it open for refactoring logics optimization. Thanks!
I included a reminder in the refactoring ticket and will close this one.
I have a workspace with 31 projects, some of which contain LilyPond files. When I try to delete folders inside my projects recursively, the UI shows the message "Checking Preconditions..." and it takes a long time until the deletion is initiated. For example, I deleted a folder containing 47 files and three subfolders containing 8 files each (71 files total), which took about 1 minute to check the preconditions before the actual deletion started.
I discovered that the corresponding thread tries to resolve LilyPond imports, which seems to be quite expensive. Apparently this is done for each pair of LilyPond file in my workspace and file to be deleted. The stack looks similar to this one when the thread is suspended:
The crucial aspect is that this is also performed if the folders to be deleted contain no LilyPond files at all. In the above example, my folders containied 47 CSV files, 24 DOT files and 24 PDF files.
Things to be checked:
I am aware that the include logics and parser performance are currently optimized, however I think that in this case additional performance can be achieved by logical skipping of unnecessary include checks.