View Single Post
Old 10-15-2022, 01:25 PM   #1012
kiwidude
Calibre Plugins Developer
kiwidude ought to be getting tired of karma fortunes by now.kiwidude ought to be getting tired of karma fortunes by now.kiwidude ought to be getting tired of karma fortunes by now.kiwidude ought to be getting tired of karma fortunes by now.kiwidude ought to be getting tired of karma fortunes by now.kiwidude ought to be getting tired of karma fortunes by now.kiwidude ought to be getting tired of karma fortunes by now.kiwidude ought to be getting tired of karma fortunes by now.kiwidude ought to be getting tired of karma fortunes by now.kiwidude ought to be getting tired of karma fortunes by now.kiwidude ought to be getting tired of karma fortunes by now.
 
Posts: 4,721
Karma: 2197770
Join Date: Oct 2010
Location: Australia
Device: Kindle Oasis
Quote:
Originally Posted by chaley View Post
This might be an instance of the performance problem I worried about in this post in the development thread. The original code I wrote used the underlying API, but in a way that required the reversal of the {id:authors} dict for every author query. Say there are 5000 authors. That would be 5000 reversals of a 5000 item dictionary every time the id/name pairs are fetched.

I suggest you try it with the changed code, which does the reversal once then uses the reversed dict. This should be no slower than the old method that ignored VLs.
You were bang on with this chaley, the feedback I had from alumoi was that a new version with your change fixed that issue. It was running for > 10 minutes with no results before the change, now it completes in 3 seconds.

The downside now is that it then takes an additional 15 seconds for set_marked_ids() as per my comments above to complete for them to see the results. If there isn't a quick win on that one I may just make this a new configuration option on the Find Library Duplicates dialog as to whether to display the results or not.
kiwidude is offline   Reply With Quote