Skip to content

Conversation

@dreampiggy
Copy link
Contributor

New Pull Request Checklist

  • I have read and understood the CONTRIBUTING guide

  • I have read the Documentation

  • I have searched for a similar pull request in the project and found none

  • I have updated this branch with the latest master to avoid conflicts (via merge from master or rebase)

  • I have added the required tests to prove the fix/feature I am adding

  • I have updated the documentation (if necessary)

  • I have run the tests and they pass

  • I have run the lint and it passes (pod lib lint)

This merge request fixes / refers to the following issues: ...

Pull Request Description

This fix the regression because of #3523

At that time, user query 100 image with the same URL at the same time
Because NSURLSession only callback with 10 request completion once, we will query the disk cache in async concurrent and do 10x time more "real decoding and cache written operation" than user expected. This wastes CPU and RAM.

To optimize this case, we add a second memory cache check during the async disk cache query logic, but this logic should follows the same requirement as the first memory cache check

I copy the // First check the in-memory cache... comment 3 times to mention that these code should follows the same logic

…ame URL in prefetcher list) breaks the `queryCacheType` option sematic

We should only do optimization on `async` disk cache query case
@dreampiggy dreampiggy force-pushed the bugfix/cache_query_type_optimization branch from a755115 to 066163f Compare January 27, 2025 11:54
@dreampiggy dreampiggy added bug cache Anything related to Cache System labels Jan 27, 2025
@dreampiggy dreampiggy force-pushed the bugfix/cache_query_type_optimization branch from b9f7757 to 3797c8c Compare January 27, 2025 12:13
@dreampiggy dreampiggy force-pushed the bugfix/cache_query_type_optimization branch 6 times, most recently from b807885 to 5f5daf5 Compare February 14, 2025 08:58
Update the test case url, that wikipedia url seems strange on iOS unit test
@dreampiggy dreampiggy force-pushed the bugfix/cache_query_type_optimization branch 2 times, most recently from 15b178d to b1aa646 Compare February 14, 2025 09:20
@dreampiggy dreampiggy force-pushed the bugfix/cache_query_type_optimization branch from b1aa646 to 3257ea2 Compare February 14, 2025 09:26
@dreampiggy dreampiggy merged commit f3a1d91 into SDWebImage:master Feb 14, 2025
6 of 7 checks passed
@dreampiggy dreampiggy added this to the 5.20.1 milestone Feb 14, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug cache Anything related to Cache System

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant