Akavache icon indicating copy to clipboard operation
Akavache copied to clipboard

BlobCache.LocalMachine.GetAllKeys() very slow with 400 3MB byte[] objects..

Open mms- opened this issue 8 years ago • 3 comments

Slow is about 30sec on every sequential call. It seems like it's loading all the object data vs just getting the keys?

This is on a Lumia 830, Win 10. It's only 1.2GB of data for all the objects, but perhaps Akavache is meant for simple string storage only? In that case why call it BlobCache if an image sized blob can't be handled in any significant number? I don't think sqlite is the cause?

mms- avatar May 16 '16 05:05 mms-

I've just looked through the GetAllKeys path, and it should correctly select only the keys in the SQLite table: https://github.com/akavache/Akavache/blob/5e94aed82c6caa9e006a0232ded74d3d00bfe9f2/Akavache.Sqlite3/Operations.cs#L454, so it seems like something else is going on here

flagbug avatar May 16 '16 09:05 flagbug

Yes very strange. It's not exactly a slow phone. I will do more tests on other devices.

mms- avatar May 16 '16 17:05 mms-

This may be because there is no index over the Expiration database field, see #285

flagbug avatar May 18 '16 07:05 flagbug