Closed Bug 1529558 Opened 3 years ago Closed 3 years ago

Use PrefetchVirtualMemory in nsZipArchive::BuildFileList when supported, instead of ReadAhead

Categories

(Core :: Networking: JAR, enhancement, P1)

enhancement

Tracking

()

RESOLVED FIXED
mozilla67
Tracking Status
firefox67 --- fixed

People

(Reporter: glandium, Assigned: glandium)

References

Details

(Whiteboard: [necko-triaged])

Attachments

(1 file)

I'd suggest gating this on the successful resolution of PrefetchVirtualMemory, instead of using IsWin8OrLater.

instead of ReadAhead, which does active reading on Windows.

The PrefetchVirtualMemory is a system call that is new to Windows 8.

Back when the readahead code for jar was added, in bug 810151, Windows 8
was still fresh out of the oven. 6 years later, we can do a runtime
check and use the PrefetchVirtualMemory function.

One downside is that the IOInterposer doesn't know about it (but it
doesn't know about madvise on other platforms anyways).

I verified this works as expected, but that required editing omni.ja manually, because it turns out for some reason, they don't have readahead information at the moment. Filed bug 1529894.

P1 given Mike is already working on this

Priority: -- → P1
Whiteboard: [necko-triaged]
Pushed by mh@glandium.org:
https://hg.mozilla.org/integration/autoland/rev/a716ff1b62ab
Use PrefetchVirtualMemory in nsZipArchive::BuildFileList when supported. r=aklotz
Status: NEW → RESOLVED
Closed: 3 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla67
Depends on: 1530818
Blocks: 1529894
You need to log in before you can comment on or make changes to this bug.