Bug 284494

Summary: [webkitpy] SimulatedDeviceManager.initialize_devices should rebuild the dyld shared cache before booting simulators with none already booted.
Product: WebKit Reporter: Ben Schwartz <ben_schwartz>
Component: Tools / TestsAssignee: Ben Schwartz <ben_schwartz>
Status: REOPENED    
Severity: Normal CC: webkit-bot-watchers-bugzilla, webkit-bug-importer
Priority: P1 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
Bug Depends on: 284642    
Bug Blocks:    

Ben Schwartz
Reported 2024-12-11 14:58:28 PST
If booted before the dyld shared cache has a chance to populate, simulator processes under SimulatorTrampoline appear to load all of the relevant frameworks into memory for each process. This is causing severe simulator performance regressions, which slows down testing and eats into host device swap memory (especially when using multiple simulators in parallel). Anecdotal API test stats (running 1 simulator): - No dyld shared cache: 3:00:51 - With dyld shared cache: 1:44:57 For this reason, if no simulators are booted, we should rebuild the dyld shared cache before booting new ones.
Attachments
Radar WebKit Bug Importer
Comment 1 2024-12-11 14:58:42 PST
Ben Schwartz
Comment 2 2024-12-11 14:59:51 PST
The anecdotal stats were collected using Xcode 16.2 RC (16C5031c) and iOS 18.2 RC 1 (22C150) sim runtime.
Ben Schwartz
Comment 3 2024-12-11 15:06:28 PST
EWS
Comment 4 2024-12-11 18:50:46 PST
Committed 287716@main (501409200944): <https://commits.webkit.org/287716@main> Reviewed commits have been landed. Closing PR #37800 and removing active labels.
Ben Schwartz
Comment 5 2024-12-13 10:39:24 PST
Reopened Bugzilla. [webkitpy] Remove dyld shared cache rebuild in SimulatedDeviceManager.initialize_devices., tracking revert in https://bugs.webkit.org/show_bug.cgi?id=284642.
Note You need to log in before you can comment on or make changes to this bug.