GoldenGnu / jeveassets

jEveAssets is an out-of-game asset manager for Eve-Online, written in Java
http://eve.nikr.net/jeveasset
GNU General Public License v2.0
147 stars 36 forks source link

Slow startup with big profile #459

Open wiblaa opened 1 month ago

wiblaa commented 1 month ago

jEveassets startup is (very) slow with a big profile (2.6GB)

Load times: CORE: 2 seconds DATA: 4 minutes 34 seconds - spends a lot of time apparently maxing out one core/thread, RAM sits at 15-16GB for a while, then jumps to 18GB GUI: 1 minute 8 seconds

Some part of the data loading process seems to be singlethreaded and it takes quite a while to finish loading.

GoldenGnu commented 1 month ago

Profiles

Option 1: SQLite

Migrate all profile data to SQlite

Option 2: Move profiles into multiple files

profiles/#Default.xml
   #Default (directory)
      assets.xml
      indystry_jobs.xml
      etc.

Compare Options

Super important dev build info: https://wiki.jeveassets.org/devbuild (please read to keep your data safe, it's very short)

Dev Build 1 Profile split up into smaller xml files and loaded/saved in threads https://eve.nikr.net/jeveassets/jeveassets-8.0.0-dev1-xml.zip

Dev Build 2 Profile in SQLite database https://eve.nikr.net/jeveassets/jeveassets-8.0.0-dev2-sqlite.zip

The Details: Note the old single xml file will persist until the profile is saved for the first time. You can trigger that by updating data: Start dev build > Update any account data > Exit dev build > Ready for testing

Please test both builds and report what is best for you. Please also report any bugs you find (do expect bugs), such as missing data etc.

This is very early in the development, but, getting feedback to know if this improve the load time is important before investing time in hardening the code.

Settings

452

GUI

451