Quote:
Originally Posted by BetterRed
If you display Formats as a column that will slow things down
|
To be a bit more precise: one of the following two things must be true for a formats column to have a visible performance impact.
- The library is sorted by a "built from other columns" column (a "composite column")
- A composite column has the "show in tag browser" box checked
If neither is true, then the formats column is evaluated when it is displayed, meaning that the time required is the number of lines being displayed multiplied by the time to do a "stat" operation on the format.
Rationale: calibre evaluates composite columns for a book on demand. If any composite column is evaluated then they all are. This is done to avoid building whatever is required to determine if the value of composite A is required for composite B, and to avoid keeping track of partially-evaluated books.
If you check the "show in tag browser" box for a composite column then calibre must evaluate that column for all books. Because of the above "rule", than means that all composite columns will be evaluated. The same is true if you sort on a composite column; the column must be evaluated for all books.
I have had it in my mind for some time to change the "rule", evaluating only the column being requested and letting the evaluation tree determine what other composite columns are required, if any. Some other things I am doing for virtual libraries make this a good time to look at the problem again.