5 ms·
Mozilla’s automated builds of Firefox for Windows, macOS, Linux, and Android are all cross-compiled on Linux VMs. Cross-compiling is faster and cheaper, especia
by cpeterso 4y ago
Mozilla’s automated builds of Firefox for Windows, macOS, Linux, and Android are all cross-compiled on Linux VMs. Cross-compiling is faster and cheaper, especially because Windows’ file I/O and process launching is so slow.
- behnamoh 4y ago> Windows’ file I/O and process launching is so slow. It's not Windows' fault, rather it's NTFS.
- pxc 4y agoThere's some documentation on this in some WSL issues on GitHub, but it's not just NTFS. It's stuff like the broader filesystem architecture's inclusion of pluggable 'filters' (kinda neat, but each layer of them incurs a performance cost) or the way commands on other operating systems depend on caches for certain syscalls that Windows doesn't keep, or keep anything equivalent to. Too tired to go find them atm
- espenwa 4y agoThis one? I remember it as an earnest description of the difficulties the WSL team had with the speed of NTFS - and I think it was one of the reasons for the switch to virtualisation in WSL2. <https://github.com/Microsoft/WSL/issues/873#issuecomment-425272829 https://github.com/Microsoft/WSL/issues/873#issuecomment-425...>
- pxc 4y agoYeah, that's the GitHub comment, thank you! My takeaway from that comment is that there are some important performances issues that apply generally to all filesystems on Windows. Maybe we can partially test whether that's the case by playing with WSL1 on ReFS, ExFAT (if that's even supported, with its limited permissions support, or ZFS, once OpenZFS on Windows stabilizes a bit.
- rurban 4y agoRather it's their baroque ACL permission system, which is not able to cache inherited perms.
- forgotpwd16 4y agoThe ACL permission system is in NTFS. For example FAT32 doesn't have it.
- rurban 4y agoYes, but if you turn off inheritance perf goes up 10x. It's a policy, not the NTFS driver itself.
- forgotpwd16 4y agoCan you provide links providing more info for those statements?
- rurban 4y agono, just try it out. all my cygwin build rules contained turning off inherited perms to be able to compile bigger systems under an hour. e g. https://github.com/rurban/cygwin-rurban/blob/master/release/perl/build_common#L110 https://github.com/rurban/cygwin-rurban/blob/master/release/...
- fritigern 4y agoNTFS is Windows' fault.
- dblohm7 4y agohttps://m.youtube.com/watch?v=qbKGw8MQ0i8 https://m.youtube.com/watch?v=qbKGw8MQ0i8