REOPENED 284494
[webkitpy] SimulatedDeviceManager.initialize_devices should rebuild the dyld shared cache before booting simulators with none already booted.
https://bugs.webkit.org/show_bug.cgi?id=284494
Summary [webkitpy] SimulatedDeviceManager.initialize_devices should rebuild the dyld ...
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.