-
-
Notifications
You must be signed in to change notification settings - Fork 2.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Performance issues with version 5.0 (example videos) #5071
Comments
@AEgit the most recent developement version now includes the latest performance improvements. Could you please check what still needs improvement. Thanks! |
@tobiasdiez Due to the issues with the current Windows installer (see #5580 (comment)) and since the snap package on Linux also does not seem to work yet (see #5417) I cannot test the current developer version, I am afraid. |
The snap can be installed from |
JabRef 5.0.0-dev--2019-11-17----151a216a2 @tobiasdiez Tried the current dev version. This one is much improved in terms of performance. Switching between different groups and articles is now much smoother. Well done! The following performance issues remain:
These are the performance issues I have observed so far. Nevertheless, again a big thanks to @tobiasdiez for the major performance improvements that the current version offers now - this is definitely a major step into the right direction. |
Thanks for the feedback. I'll try to have a look at the remaining performance issues in the next days. |
JabRef 5.0.0-dev--2019-11-24----8780a5632 Note also, that it appears, as if the search has become slower again. Not as bad as it was in the past (#2852), but it seems, that the latest versions have seen a performance decrease there as well. Entering a search term using a large database results in lagged input (similar to a low frame rate in a video game). |
@tobiasdiez related to the add tab threading? |
@AEgit We implemented some performance improvements recently. Can you please see if they might have fixed some of the issues you described in #5071 (comment). Moreover, it would be good which of the remaining issues are critical, i.e. need to be fixed before we release 5.0. Thanks |
JabRef 5.0-beta.354--2020-01-18--2612e22 The new versions brings some improvements, but the problems are still too big for a release version. I will explain this in detail below (based on the issues reported in #5071 (comment)):
I wonder whether some of these performance issues could be solved by a simple workaround: Make it possible to switch off the calculation of the number of items in the groups. In version 3.8.2 this was possible and was also suggested to do, when having performance problems. Indeed, I switched it off for my database, since otherwise it would not be possible to work with the database due to performance problems. |
I have 10500ish entries; simply sorting the entry table by a column, e.g. title, takes typically several seconds. JabRef 5.0--2020-03-08--93de138 |
Ok, today under |
JabRef 5.3--2021-01-24--ae43548 When starting up, JabRef needs 60-70% of CPU. It then goes down to 0% If I don't do anything. When selecting an entry it goes up to 2-3%. Switching a library goes up to 7%. Well, this might be normal operations. Adding a few lines in some entries. And then CPU use goes up to 60, 70, >80%! Closing JabRef then does not stop the process. |
Thanks for the report. Do you remember the last version were you didn't experienced these problem? |
Unfortunately, not exactly. If it helps, I would say last week. (If there was a repository with all the last 2 week's master builds, I would be happy to test these; but I don't think this exists.) |
JabRef 5.3--2021-03-15--b068ce7 have not done anything with JabRef for a few minutes, and it uses 50% of CPU. |
JabRef 5.3--2021-03-19--049acb9 I am sorry to say that JabRef over the last versions reliably crashes and often crashes the system, requiring a cold restart of the computer. |
@ilippert could you provide your |
Could we test it with that fix #7486 |
JabRef 5.3--2021-03-29--2948e6d Over the last two days I experienced no issues. |
JabRef 5.3--2021-03-29--2948e6d The issue mentioned in #5071 (comment) persists. |
JabRef 5.7--2022-06-12--e3b2ab2 I am quite happy with the performance, however,
|
meta-issue: #8906 |
JabRef 5.7--2022-06-15--cb5fe60 Tried to reproduce #5071 (comment) Took me ca. 1-4 minutes to even select 7360 entries from my 100 000 entries database (15,5 mb) with Shift+PageUp. This was a lot faster than Shift+Up by the way. I don't want to know how long it will take to select 7000 entries with CTRL+Shift+Up.... Then i tried to delete 7360 entries: Used my stop watch to count: 1 hour, 37 minutes ... + X. Did a force close, because I don't want this PC to run at max capacity for hours. Just to delete a simple text in a text-file this seems a little bit over the top. CPU was pretty high. RAM was normal and stable. This was done with an old laptop from 2013: Aspire E13 (ES1-311-P87D), the HDD was replaced with a SSD at one point. |
Instead of reporting your findings with regard to performance here directly, in future I would ask you to create separate issues for issues that have previously been mentioned in this thread, but still have not been solved and then link to this issue here. With this workflow, we can more easily ignore issues that have already been solved and it saves us all the time to re-read walls of text over and over again :)) Thaaanks in advance :) |
IMHO, the main issue that our main table is tightly coupled with the data of the BibDatabase: We load all data into memory and work in the in memory representation with Java and JavaFX data structures. "Fix" in the medium way:
"Good architecture" fix: Use an embedded database to provide pre-calculated views, indexing, search, ... |
JabRef 3.8.2
windows 10 10.0 amd64
Java 1.8.0_211
VS
JabRef 5.0-dev--snapshot--2019-06-20--master--6265e2460
Windows 10 10.0 amd64
Java 1.8.0_211
As announced previously (#4430 (comment)), here I add some videos that showcase the performance difference between JabRef 3.8.2 vs. JabRef 5.0 when working with a large database (> 18,000 entries) and several thousand static groups.
These issues have been reported previously, but I thought it would be better to create a new bug report instead of adding the videos to just one of these previous reports (they should apply to all of them, I reckon). Previous reports of issues with the performance include (among others), the following:
#4430
#4756
#4526
Note, that I had to run these tests on a virtual machine, since I do not have a full license for YourKit Java Profiler and had to use a test license (since the test license I had on my actual machine is no longer valid). So the performance on an actual machine should be slightly better (the virtual machine is running on a SSD, and I assigned two cores of a Core i7 Hexacore and 8 GB of 32 GB of RAM to the virtual machine), but the relative performance difference between version 3.8.2 and version 5.0 should be comparable. In fact, my impression is that this setup favours version 5.0 because 3.8.2 appears slower in the virtual machine than in a non-virtualized setting. Version 5.0 on the other hand, is equally slow in a virtual machine and when running on the actual hardware.
Note, that I use the same database when comparing the two versions. The only difference is, that the database in version 5.0 has been saved using version 5.0 (while the other one is still using a database in 3.8.2 format). This allows for better comparison, since version 5.0 stores groups differently.
3.8.2:
https://app.box.com/s/7agrhreojpk85itl9dvsz7mx8ueaydcl
5.0:
https://app.box.com/s/79dqowjer214qdi0wiceh03x9g4iuexi
Note, that version 5.0 sometimes seems to have crashed. Furthermore, I did not immediately click onto 3.8.2 when it was actually already ready.
Comparison of JabRef search feature:
3.8.2:
https://app.box.com/s/fgr84sgpsz6dscbnku91m5o2hhbf6rwt
5.0:
https://app.box.com/s/fxwcska8dm5rlilv6a9mqswelkrqkh0t
Comparison of working with JabRef groups:
3.8.2:
https://app.box.com/s/fc5ku29f39o9r7h86hj309tao4uifo8o
5.0:
https://app.box.com/s/cubdi2vvmzjnj5i7rtn57lfxp24kvzb9
Note, how JabRef freezes several times in version 5.0 when using certain groups features (e.g., assigning an item to a group, assigning a group as a new subgroup, ....). Sometimes it appears as if nothing is happening in the video, but it is actually just JabRef freezing from time to time.
Note, the big differences in the time that JabRef spents on some actions (see YourKit Java Profiler). For certain actions, JabRef 5.0 will take much much longer than 3.8.2 (which translates into higher CPU demands).
The text was updated successfully, but these errors were encountered: