Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 93a78bc98d017d5b14d3fe642d9380347090c75b
      
https://github.com/WebKit/WebKit/commit/93a78bc98d017d5b14d3fe642d9380347090c75b
  Author: Sihui Liu <[email protected]>
  Date:   2023-10-20 (Fri, 20 Oct 2023)

  Changed paths:
    M Source/WebKit/NetworkProcess/storage/NetworkStorageManager.cpp
    M Source/WebKit/NetworkProcess/storage/NetworkStorageManager.h
    M Tools/TestWebKitAPI/Tests/WebKitCocoa/WKWebsiteDatastore.mm

  Log Message:
  -----------
  Stop updating modification time of origin file for every granted space request
https://bugs.webkit.org/show_bug.cgi?id=263416
rdar://problem/117228957

Reviewed by Youenn Fablet.

We use last modification time of origin file to help decide data eviction 
ordering of origins, and we currently update
the time when a space request is granted for the origin. In real-world 
scenario, an origin might perform many storage
operations in a short period of time, leading to many last modification time 
updates. This is not ideal because the
timestamp may not change (or the change may not be big enough to affect 
eviction ordering), and updating modification
time is not free -- it could be slow when disk operation is involved, slowing 
down subsequent storage operations
on the same queue. To fix this, we now only update last modification time when 
at least 30 seconds have passed since
last update.

This change makes our existing IndexedDB tests run faster (`run-perf-tests 
IndexedDB/`).

* Source/WebKit/NetworkProcess/storage/NetworkStorageManager.cpp:
(WebKit::NetworkStorageManager::updateLastModificationTimeForOrigin):
* Source/WebKit/NetworkProcess/storage/NetworkStorageManager.h:
* Tools/TestWebKitAPI/Tests/WebKitCocoa/WKWebsiteDatastore.mm:
(TestWebKitAPI::TEST):

Canonical link: https://commits.webkit.org/269598@main


_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to