-
-
Notifications
You must be signed in to change notification settings - Fork 2.7k
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
Rewrite journal abbrevation repository #12571
Comments
/assign-me |
👋 Hey @marwanemad07, thank you for your interest in this issue! 🎉 We're excited to have you on board. Start by exploring our Contributing guidelines, and don't forget to check out our workspace setup guidelines to get started smoothly. In case you encounter failing tests during development, please check our developer FAQs! Having any questions or issues? Feel free to ask here on GitHub. Need help setting up your local workspace? Join the conversation on JabRef's Gitter chat. And don't hesitate to open a (draft) pull request early on to show the direction it is heading towards. This way, you will receive valuable feedback. Happy coding! 🚀 ⏳ Please note, you will be automatically unassigned if the issue isn't closed within 45 days (by 12 April 2025). A maintainer can also add the "📌 Pinned"" label to prevent automatic unassignment. |
Can you tell me the way u profiled this constructor? I tested my solution using |
You seem to have a pretty nice JRE. Maybe you profiled the wrong main class? Are you sure you benchmarked org.jabref.Launcher#main? Did you also use the YourKit profiler or something else? |
Yes. In addition to rewrite of |
I tried to use the Intellji profiler, but I faced some errors so I used the old way of measuring time and memory for a class but it doesn't seem accurate based on what you are saying. If you can share a resource or guide on properly profiling the project, I’d really appreciate it. |
This is very vague.,,,
See https://www.jetbrains.com/pages/intellij-idea-profiler/ Applied here: |
I made changes that passed tests on my local and tested it manually, but it failed on unit tests of the CI environment it gives me java.lang.OutOfMemoryError. I profiled the JournalListMvGenerator and I found it took 1GB of memory then I changed the cache size of the store and this reduced the memory to 650MB. |
I believe we should focus less on profiling the current solution and instead prioritize designing a more efficient one. Below is a list of performance-related issues I have identified with the current solution:
|
|
@koppor Do you remember why you used a transient name in the Also, should I use the MV store for this issue for now or use a file-based database as recommended above? |
It was conditioned with an |
Currently, we have several maps in memory. We should use MV Store for maps!
Main reasons:
Task
Rewrite the whole
org.jabref.logic.journals.JournalAbbreviationRepository
class. Only maps of MVStore should be used: MVStore has caching itself, no need to build up own data structures.The text was updated successfully, but these errors were encountered: