Closed Bug 1271068 Opened 6 years ago Closed 6 years ago
Use asynchronous, buffered I/O when writing reftest
Currently, reftest.jsm is opening and writing to reftest.log using nsIFileOutputStream (via FileUtils.jsm). After disabling Places in bug 1271035 my profiling reveals that writing to reftest.log is consuming nearly 1/3 of the remaining operations recorded by procmon. There are ~300,000 writes to this file, most of them in the 100-200 byte range. We should use buffered I/O. Furthermore, nsIFileOutputStream is synchronous and blocks the caller. We're writing to reftest.log to report test progress. Moving to asynchronous I/O should make reftests execute faster as well. Although I suspect the big win will be from using buffered I/O. Either way, OS.File gets us both for free.
Will this interfere with ability to debug reftests or ability to understand what the last operation before a crash was?
It turns out that reftest.log is only written locally, not in automation. And bug 1271448 stopped doing that. While using async I/O everything is a noble goal, there is little to no benefit to doing this anymore since neither automation nor `mach reftest` are writing reftest.log. So marking WONTFIX.
No longer blocks: fastci
Status: ASSIGNED → RESOLVED
Closed: 6 years ago
Resolution: --- → WONTFIX
You need to log in before you can comment on or make changes to this bug.