-
-
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
Improve startup time #6057
Comments
Maybe this proposal could be incorporated here as well: As far as I can tell, the calculation of the item count in the groups panel has a massive impact on the performance for large databases. |
Third peak ideas:
|
I am not aware of that any of the above-mentioned suggested changes have been included (there have been performace-related improvements which were very welcome at the time - but I do not think the specific issue mentioned here have been tackled), so I reckon this issue is still present it: JabRef 5.2--2020-12-09--d1fb9e2 |
It would be great to have the method that produced the OP flamegraph in JabRef docs. I googled for a while on call graph / flamegraph analysis stuff for Java apps on Windows / MacOS and came up relatively empty handed. @tobiasdiez can you detail (even in simple step form) how you produced them? That would make it easier for people to analyze performance, make suggestions (or better, produce PR's), and help users to reproduce / report performance issues (I'm trying to do that now for an unrelated performance issue) |
We use YourKit Java Profiler https://www.yourkit.com/java/profiler/download/ (free trial avaiable) |
* check with regex instead of throwing exception * fix NumericFieldComparatorTest * change number validation method * add changes in CHANGELOG.md * fix fails on empty string * add case when only '-' * add NumericFieldComparator for number column only * add case for '+' sign * fix checkstyle * add corner case with '+' * add corner case with '+'
As this is still open, I like to link it to the meta issue – #8906 |
I am now at Upon starting JabRef, it takes regularly 2 to 2.5 minutes to get a responsive JabRef window. Till then my OS (Gnome) asks me whether I want to stop the software. I test this with large libraries open (+10k entries). Without large libraries open, at the least, it is swift. So, when I open JabRef only with a small library, I get fast startup; when I then open a large database, I at least get a visual indicator (turning wheel like thing) that something is happening. |
2-2.5 minutes is definitely way too long. Starting jabref takes my machine 2-2.5 seconds. |
We are planning to reimplement database loading on jabcon in September. This maybe won't speed up the process at first, but should make it more responsive. |
Sorry, I do not want to mess things up, but it may be good to note that this old issue that might be linked or might be closed - #5362 |
Hi there, a brief update on my current experience of staring up JabRef with two libraries opened, one with +10k, one with 1.5k. I am regularly needing round 20 seconds to load these libraries. Currently on JabRef 6.0--2023-01-03--f8c2cf6 but it also was like this before. Though my hard drive is not the fastest. Yet, typically, the system tells me during these 20-25 secs that JabRef is unresponsive. Screencast.from.2023-01-04.11-39-47-b.webm |
Interesting video. If you refrain from clicking the button to "Force quit / wait", will it continue to load? Will the popup freeze loading? |
JabRef will continue to load and work successfully later. |
That I think we can easily switch from WebView to JabRef has some |
Oh wait, what am I saying. We just need to lazy load it. Just when preview is first triggered add a spinner there |
Small talk
Emacs-nerds typically do this: they start Emacs in background as a service/server.
When they need to open Emacs they use |
We went to single-load for preview at #12165. Maybe this a place for you to start working on the spinner. |
Tracking the most expensive operations when starting JabRef yields the following picture:
This shows that the following can be improved:
Group
and not only in theGroupViewModel
which might be re-created a few times.The other peaks correspond to things that need to be there (parse of bib file, init of webview in the preview panel,...).
The text was updated successfully, but these errors were encountered: