https://deploy-preview-1687--perf-html.netlify.com/public/292795b9db6b53f5e7f6e2c22256bb54d851f2a7/marker-chart/?globalTrackOrder=0&hiddenLocalTracksByPid=10440-1-2-3&markerSearch=DiskIO&range=0.0000_30.1833~0.0000_1.7513~0.4598_0.5200&thread=0&v=3 shows that we do (expensive in that case) main thread I/O during early startup on installs.ini immediately followed by main thread I/O on profiles.ini These 2 files are in the same folder, it seems a single file should be enough. From #fx-team: Mossop: If you run an older version of Firefox that doesn't know about the installs data it will throw away all that data when it writes profiles.ini florian: could we write all data to the new file, so that we don't have to open both in new versions of Firefox? Mossop: florian: Then we'd need some mechanism to sync changes from the old file if older versions of Firefox change the data. florian: how long do we need to support these old versions? Mossop: Not really sure. At the very least until 68 has ridden to ESR, probably a little longer. florian: why does it matter if old versions of Firefox write more data to the old file? Mossop: If they create new profiles or delete old ones the new versions won't know about that florian: how about: 1. always write the new data in both files for now. 2. At startup read only profiles.ini and open installs.ini only if the new data was missing in profiles.ini 3. In a distant future, get rid of installs.ini ? Mossop: Hmm, yeah that could work
Bug 1527704 Comment 0 Edit History
Note: The actual edited comment in the bug view page will always show the original commenter’s name and original timestamp.
https://perfht.ml/2DT02Uv shows that we do (expensive in that case) main thread I/O during early startup on installs.ini immediately followed by main thread I/O on profiles.ini These 2 files are in the same folder, it seems a single file should be enough. From #fx-team: Mossop: If you run an older version of Firefox that doesn't know about the installs data it will throw away all that data when it writes profiles.ini florian: could we write all data to the new file, so that we don't have to open both in new versions of Firefox? Mossop: florian: Then we'd need some mechanism to sync changes from the old file if older versions of Firefox change the data. florian: how long do we need to support these old versions? Mossop: Not really sure. At the very least until 68 has ridden to ESR, probably a little longer. florian: why does it matter if old versions of Firefox write more data to the old file? Mossop: If they create new profiles or delete old ones the new versions won't know about that florian: how about: 1. always write the new data in both files for now. 2. At startup read only profiles.ini and open installs.ini only if the new data was missing in profiles.ini 3. In a distant future, get rid of installs.ini ? Mossop: Hmm, yeah that could work