3 ms·
Also worth noting that the "expensive platform feature" you refer to in this specific case means "writing to a file". Something as basic as this should be assum
by jupp0r 4y ago
Also worth noting that the "expensive platform feature" you refer to in this specific case means "writing to a file". Something as basic as this should be assumed to be fast on modern operating systems.
- jeffbee 4y agoIt is not a bug that there are overlooked optimizations in some platform features. Windows has a ton of slow features. Starting a process, for example, takes forever. It is the responsibility of application authors to write their performance-sensitive critical path in such a way as to avoid bogus platform behaviors. This goes for Linux, which has more than its fair share of brain damage, as well as Windows.
- jupp0r 4y agoI generally agree with you. Having worked on lots of cross platform software, a big part of that job is to work around quirks of the underlying platforms, which can be significant. However in this case, it's not that Firefox was introducing the usage of these APIs and was then starting to have performance problems. They used the APIs without problems when suddenly Defender came along and slowed them down by orders of magnitude when they had been working fine for years.
- vntok 4y agoYeah, your program definitely should not do as many useless writes on the system it runs on, it's just bad behaviour. If every program did the same the disk would grind to a halt, SSD or not.
- pavon 4y agoNo it had nothing to do with Firefox writing files. Firefox was making a bunch of calls to VirtualProtect. Windows Defender (MsMpEng.exe) was then writing to file (an sqlite database) every time one of these calls was made, which was slowing down the system. This comment is a good summary of what the issue was once they understood the problem: https://bugzilla.mozilla.org/show_bug.cgi?id=1441918#c82 https://bugzilla.mozilla.org/show_bug.cgi?id=1441918#c82
- Randor 4y agoWhere did you get that idea? Sqlite? Windows Defender isn't using sqlite at all.
- sroussey 4y agoIt detects the use of SQLite, then copies it, etc etc. Read the bug for more details.
- Randor 4y agoI can assure you that I perfectly understand the bug and corresponding patch/fix. The patch fixes Event Tracing for Windows (ETW) and how it allocates temp buffers. The speculation about SQLite at the top of that Mozilla bug report is mostly irrelevant.