Originally Posted by Motomaggot
I've read countless posts on this forum and around the web on performance and so far, nothing has really worked. I have an i7 4770 processor with 16Gb of RAM with an SSD boot and RAID 1 4Tb drives for data.
Its seems that adding books to a library is painfully slow, and the copy and delete is just as bad.
Any suggestions on what I can adjust to make Calibre run faster no matter how much resources it eats up on the machine.
- could you to quantify "painfully slow"
I did some tests on a 6GB I5 system, running windows 7-sp1, it has two 2TB SATA2, NTFS internal drives C: & E:, both WD Caviar Blacks drive E: is compressed. At the time I did the tests MSE was running (no exclusions), and I was rebuilding the search indexes (including calibre libraries) with the Indexer Backoff feature OFF - that means the indexer is running at normal priority. I used a large file (1.3GB AVI) because book files are small and file operations on a small files are difficult to time with a stop watch.
Using standard Windows I copied the avi from E: to C: in 15.5 seconds. I renamed the avi (author - title) on Drive C and added it to Library A on E: in 17.5 seconds. A 2 second overhead to create the author and book folders, and add the necessary rows to the database tables etc, seems reasonable to me.
I then moved the 'book' from Library A to Library B, also on drive E in 41.4 secs; libraries A and B are clones, so same columns etc. A similar operation (ie move a folder from one parent to another) using the same data on the same drive in Windows its too fast to time. The difference is that Windows makes use of hardlinks to effect the move, whereas Calibre does a copy+delete. When I copied the same data from folder A to folder B on drive E with Windows it took 44.2 secs - 2.8 seconds slower, probably because of head movement and cache differences.
If I change the Title on that book, it's also too fast to time. I think that's because calibre does the move from folder "Wrong Title (20)" to folder "Right Title (20)" using hardlinks rather than copy/delete. Its a bit tricky to do that on a library move, because the two libraries may be on different drives and hardlinks don't work across drives. Kovid would have to implement two types of move books - one that works between different drives and one that works on the same drive - then there's the problem that not all file systems support hardlinking.