7 ms·
I use userChrome.css and userContent.css, and I get the nagging feeling that the silent end of that sentence is "...when we eventually replace the code that cur
by dictum 7y ago
I use userChrome.css and userContent.css, and I get the nagging feeling that the silent end of that sentence is "...when we eventually replace the code that currently enables user customization with faster, less flexible APIs."
(I'm paranoid and FUDing because I care: there's some UX low hanging fruit before they could get rid of userChrome.css. For instance, you need userChrome.css to autohide the toolbar in full screen mode on macOS — that's not even a customization, it's a missing feature.)
- StavrosK 7y agoI mean, how slow could an "if file_exists()" check have been? This smells like deprecation to me, if the user CSS doesn't exist, don't load anything. Boom, no slowdown.
- kbenson 7y agoGiven that the profile setting is under a subsection of "legacyUserProfileCustomizations", perhaps there's a whole legacy subsystem they spin up to handle it that's only needed for that now? I could see a whole subsystem causing significant enough delay and resource usage to be noticeable, if that's the case.
- rrix2 7y agoAFAICT it's Firefox's CSS+HTML engine running the user chrome. You can even open the firefox web inspector on it (open web inspector -> settings -> enable browser chrome and add-on debugging toolboxes) which lets you fiddle with the chrome DOM and modify CSS that way.
- bzbarsky 7y agoThe technical answer to the question you asked is "10-20ms, if you're not on an SSD". That's not great, actually, if you're trying to shave tens of milliseconds at a time off startup performance. For what it's worth, this change happened because people were seeing the stat() call involved in startup profiles, taking sufficient time that it seemed worthwhile to avoid it if possible, as far as I can tell.
- StavrosK 7y agoAre many users on HDDs these days? Weird that it would take this long, although I guess it's niche enough that you'd want to save those 20 ms for something used by a tiny fraction of users.
- dblohm7 7y ago> Are many users on HDDs these days? Yes, there are. They are not a niche cohort. EDIT: In fact, we have many more users with magnetic HDDs than who use userChrome.css. That tells you everything you need to know about this decision right there.
- jahlove 7y agoJust under half of desktops use magnetic drives, according to Western Digital. [1] [1] https://www.minitool.com/news/ssd-market-share.html https://www.minitool.com/news/ssd-market-share.html
- xxs 7y ago>The technical answer to the question you asked is "10-20ms, if you're not on an SSD C'mon the directory structure would be cached already, even if it was not - the seek times for HDD are 3-4ms.
- bzbarsky 7y agoThe directory structure may or may not be cached already: these files are in a separate directory from everything else Firefox needs at startup. If your HDD has a seek time of 3-4ms on average, that means it needs to rotate completely in at most 6-8ms, which gives you a rotation speed of 7500-10,000 rpm. HDDs in data centers do that, sure. Consumer HDDs just don't do that, last I checked; they're mostly in the 5400-7200 rpm range, with laptops firmly in the 5400 bucket. See https://www.dell.com/en-us/shop/dell-laptops/sc/laptops?appliedRefinements=13242 https://www.dell.com/en-us/shop/dell-laptops/sc/laptops?appl... for example (currently offered Dell laptops "for home" with an HDD: they're all 5400rpm). At 5400 rpm, your average latency from just the rotation is 5.5ms and your worst-case latency from the rotation is 11ms. That doesn't include other latency sources, but let's assume those are somehow scheduled away to happen during the rotation. Keep in mind that what typically sticks in users' minds is worst-case, not average-case, behavior, so you have to bring your worst-case time budget down to whatever your target is.
- deleted 7y ago[deleted]
- feanaro 7y agoUnfortunately, I think you're right. Mozilla has been fighting a slow war on all powerful UI customization. See: the recent killing of Tridactyl.
- bovine3dom 7y agoReports of our death have been greatly exaggerated :) You can still install Tridactyl in a normal installation of Firefox by following the instructions on our readme [1]. Admittedly, that may cease to be the case if Mozilla ever tire of us; people in locked-down corporate environments would then find it hard or impossible to install Tridactyl but we'd make it as easy as possible for everyone else. On topic, I'd argue that Mozilla are just desperately trying to cling on to ordinary users; the "war" against power users is a war of (totally understandable) neglect rather than spite. [1]: https://github.com/tridactyl/tridactyl/blob/master/readme.md https://github.com/tridactyl/tridactyl/blob/master/readme.md
- Amezarak 7y agoFirefox gained the marketshare it did because power users relentlessly evangelized it to non-power users. There was some of the same phenomenon with Google, but the real difference is that Google pushed Chrome very strongly on the biggest web properties in the world, had it packaged in some other software installers, and advertised it. That's why Chrome has the market-share it does today. Mozilla appears to now be courting the ordinary user market without having either the passion of power users driving it, or the world's biggest web properties shilling it. To this day, visiting google.com (#1 website) in my default browser pops up a large notification informing me I need to switch to Chrome to 'hide annoying ads and protect against malware on the web.' Visting YouTube.com (#2 website) pops up a slightly less annoying notification on the bottom that says "Google recommends using Chrome, a fast and secure browser." I haven't been able to figure out for years now how they think this is going to work. Ordinary users are going to do what their IT administrator/IT friend says, use the OS default, or use products recommended by massive marketing campaigns.
- bscphil 7y ago