Closed Bug 1271068 Opened 6 years ago Closed 6 years ago

Use asynchronous, buffered I/O when writing reftest.log

Categories

(Testing :: Reftest, defect)

Version 3
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED WONTFIX

People

(Reporter: gps, Assigned: gps)

References

Details

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?
Blocks: fastci
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.