You can customize the write delay in Settings->Advanced Settings, search for
LinkCollector.minimumsavedelay
LinkCollector.maximumsavedelay
and
DownloadController.minimumsavedelay
DownloadController.maximumsavedelay
Quote:
Originally Posted by TomArrow
Edit: With SQLite you also wouldn't have to keep absolutely everything in memory. You could reduce RAM usage to the current list view and active/unfinished items.
|
I'm sorry but without knowing the internal of an application you cannot simply do such an assumption.
1.) databases also need memory to hold at least the index to find information fast. without index in memory, access will be very slow!
2.) databases create a (huge) dependency, right now JDownloader can run perfectly fine on nearly any platform/system/environment,see
https://support.jdownloader.org/Know...bedded-devices
3.) the application still needs to hold some (yes, not all) data in memory.
4.) the complete data access need to be reworked in order to properly/synchronized read/write data memory and database/disk
5.) would impact performance on MANY levels. eg filter/search/download and simple things like scroll through the list
And most important. We did use SQL database in the beginning and it had many more disadvantages than
advantages that we moved away from it.
I still agree that storing everything in one large (zip) file has advantages and disadvantages.
And yes, I still do have plans to change to different way/method to store the information.
Advantages:
-easy to read/write AND rescue/restore
-you can easily create/update/modify with normal tools
-good enough for *normal* use cases
-easy to backup, just one file
-copy on write, all or nothing
Disadvantages:
-does perform (very) bad for large lists (*power* use case)
-large cpu/storage requirement for large lists
-large write output for large lists
The recommendation is not use the list as archive/history and only keep those links you want to download.
Database is a perfect example for history/archive/duplicate....stuff.
And in case you don't want to remove finished/archived entries from your lists, increase the
minimumsavedelay and maximumsavedelay settings.
eg set
DownloadController.minimumsavedelay to 300000 ( 5 mins)
DownloadController.maximumsavedelay to 900000 ( 15 mins)
that will cause JDownloader to only write once every 15 mins during downloads and wait
minimum 5 mins after normal change
@TomArrow: Just out of interest, how many links do you have in list? and how large is your .zip file of the list?