ThumbsPlus

All forums => ThumbsPlus v7-v9 Questions => Topic started by: Gary on 2014-09-20 17:20:30

Title: Performance: tpdb8s database with build 3942
Post by: Gary on 2014-09-20 17:20:30
Thumbnail creation is now painfully slow.  It is taking hours to create thumbnails that are created in minutes using TP7.  I have both image files and database files on SSD drives - image files on one SATA3 port and database files on another SATA3 port.  Can anyone suggest a way to improve the performance?  This is the database entry from the Thumbs9.ini file:

InitialDatabase=Database=D:\IMDBTP9\Thumbs9.tpdb8s;Driver={ThumbsPlus SQLite3 ODBC Driver};Timeout=5000;NoCreat=Yes;SyncPragma=OFF
Title: Performance: tpdb8s database with build 3942
Post by: IlseKasten on 2014-09-20 20:43:03
Add  PRAGMA journal_mode = OFF   to the lineend.TP9 must not run.
Title: Performance: tpdb8s database with build 3942
Post by: Gary on 2014-09-20 22:11:40
thanks!  that seems to help a bit.  but watching the folder where the database file is located, i can see a -journal file appear and disappear irregularly.  does that mean TP is overriding the OFF and forcing the creation of the journal?
Title: Performance: tpdb8s database with build 3942
Post by: IlseKasten on 2014-09-20 23:10:42
I dont know. What you observe, is not the normal behavior. Maybe a new error.
TP9 SP1 does not generate a journal
Title: Performance: tpdb8s database with build 3942
Post by: Gary on 2014-09-20 23:48:54
UGH!  this is frustrating.  now the performance is really good.  but i noticed something ... the activity indicators are not working.  when thumbnails were being created very slowly, the activity indicators were working.  hmmmm.
Title: Performance: tpdb8s database with build 3942
Post by: Gary on 2014-09-21 10:44:13
forget comment about activity indicators.  i'm not sure they figure into the performance issue.

this line yields vastly improved performance ...

InitialDatabase=Database=D:\IMDBTP9\Thumbs9.tpdb8s;Driver={ThumbsPlus SQLite3 ODBC Driver};Timeout=5000;NoCreat=Yes;PRAGMA synchronous = NORMAL;PRAGMA journal_mode = OFF

this line seems to make no difference.  what exactly is "NoCreat=Yes"?  i am unable to find an explanation ...

InitialDatabase=Database=D:\IMDBTP9\Thumbs9.tpdb8s;Driver={ThumbsPlus SQLite3 ODBC Driver};Timeout=5000;PRAGMA synchronous = NORMAL;PRAGMA journal_mode = OFF

this line yields the best performance (my system is on battery backup).  it screams through thumbnail creation.  this makes me very happy.

InitialDatabase=Database=D:\IMDBTP9\Thumbs9.tpdb8s;Driver={ThumbsPlus SQLite3 ODBC Driver};Timeout=5000;PRAGMA synchronous = OFF;PRAGMA journal_mode = OFF

also, it appears a byproduct of setting synchronous to NORMAL or OFF yields vastly improved performance stepping through images.  i need to test this further.

also, overall program performance seems significantly improved.  i need to test this further.

this is good.  very good.
Title: Performance: tpdb8s database with build 3942
Post by: Gary on 2014-09-21 12:57:47
UGH!  this program is so frustrating.  now it is back to being slow to create thumbnails.  WTF?  it seems the program behaves differently each time it is started.
Title: Performance: tpdb8s database with build 3942
Post by: IlseKasten on 2014-09-21 18:09:20
Google >SQLite2009 Pro Enterprise Manager<.
In this program you will find many useful information about sqlite.
Title: Performance: tpdb8s database with build 3942
Post by: IlseKasten on 2014-09-21 20:02:01
The Initial Database line is changed by TP9, when the program starts.
Are the manual entries yet effective or not? I don't believe.
I have found no way to check this.
This problem was reported by Cerious as solved long ago.
Title: Performance: tpdb8s database with build 3942
Post by: Gary on 2014-09-21 20:35:08
it appears TP9 is inconsistent in how it processes the configuration files.  who knows what it is actually doing.  very frustrating.
Title: Performance: tpdb8s database with build 3942
Post by: IlseKasten on 2014-09-24 04:02:51
Tested with Build 3938:

Thumbs+ changes the InitialDatabase entry after the end of the program. So when restarting the entry is incorrect.
Only if you end the program without any changes e.g. Path, the entry stays correct.
Monitoring of Thumbs9.ini is necessary, if correct starting conditions should be present.
The easiest way to realize this is to use a text editor.
A selfcoded starter can automate this.

If different databases are used, it is probably more complicated, since only one INI is present.
Title: Performance: tpdb8s database with build 3942
Post by: Gary on 2014-09-24 07:07:40
thank you for this information.  i will definitely monitor Thumbs9.ini.  this would explain why TP9 behaves differently at start up.