Bug 209140

Summary: IndexedDB Performance slows down with number of objectStores on safari 13
Product: WebKit Reporter: Peter W <peter.b.wu>
Component: WebKit Misc.Assignee: Nobody <webkit-unassigned>
Status: NEW ---    
Severity: Normal CC: beidson, sihui_liu, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: Safari 13   
Hardware: All   
OS: Unspecified   
Attachments:
Description Flags
Performance of IDB per browser none

Description Peter W 2020-03-16 10:34:49 PDT
Created attachment 393659 [details]
Performance of IDB per browser

When creating multiple objectStores(25 - 150 stores) with 0 documents, Safari 13 consistently shows performance degradation with the number objectStores created. The trend appears to be a linear degradation of performance. 

The function used to test performance is the objectStore.get(key) function of IndexedDB.

This issue does not occur when running the same test case on the older iPhone 6 running iOS 12.4.5. Please see attached graph. The slowest is iOS13 with PouchDB.js followed by iOS13 with Pure IndexedDB. After those are the Safari 13 on Macbook Pro 2019 with PouchDB.js and Pure IndexedDB is the fourth linearly increasing line on the graph. Time for each test measure by wrapping IndexedDB function in a promise and resolving on dbRequest.onsuccess.
Comment 1 Radar WebKit Bug Importer 2020-03-18 18:08:15 PDT
<rdar://problem/60611949>