[fs] use mmap() to read files using VM/pagefaults for higher throughput #3151

Open
Lizzie wants to merge 11 commits from mmap-fixews into master
Member

Signed-off-by: lizzie lizzie@eden-emu.dev

Signed-off-by: lizzie <lizzie@eden-emu.dev>
@ -342,0 +343,4 @@
#ifdef _WIN32
const auto flush_result = std::fflush(file) == 0;
#else
const auto flush_result = std::fflush(file) == 0;
Member

This is the same on both lol

This is the same on both lol
DraVee marked this conversation as resolved
Lizzie changed title from [fs] use mmap() to read files off the mmap system for higher throughput to [fs] use mmap() to read files using VM/pagefaults for higher throughput 2025-12-07 07:01:46 +01:00
Lizzie force-pushed mmap-fixews from 869edfcb29
All checks were successful
eden-license / license-header (pull_request) Successful in 19s
GitHub Actions [CI] Build succeeded
GitHub Releases [CD] Build succeeded – Release published
to 3adf26aba9
All checks were successful
eden-license / license-header (pull_request) Successful in 19s
GitHub Actions [CI] Build succeeded
GitHub Releases [CD] Build succeeded – Release published
2025-12-08 01:37:44 +01:00
Compare
Lizzie force-pushed mmap-fixews from 3adf26aba9
All checks were successful
eden-license / license-header (pull_request) Successful in 19s
GitHub Actions [CI] Build succeeded
GitHub Releases [CD] Build succeeded – Release published
to f2312580e7
Some checks failed
eden-license / license-header (pull_request) Successful in 21s
GitHub Actions [CI] Build failed
2025-12-13 05:21:25 +01:00
Compare
DraVee force-pushed mmap-fixews from f2312580e7
Some checks failed
eden-license / license-header (pull_request) Successful in 21s
GitHub Actions [CI] Build failed
to 90f1702da6
All checks were successful
eden-license / license-header (pull_request) Successful in 23s
GitHub Actions [CI] Build succeeded
GitHub Releases [CD] Build succeeded – Release published
2025-12-14 06:32:19 +01:00
Compare
DraVee force-pushed mmap-fixews from 90f1702da6
All checks were successful
eden-license / license-header (pull_request) Successful in 23s
GitHub Actions [CI] Build succeeded
GitHub Releases [CD] Build succeeded – Release published
to 4e08aaab82
All checks were successful
eden-license / license-header (pull_request) Successful in 23s
GitHub Actions [CI] Build succeeded
GitHub Releases [CD] Build succeeded – Release published
2025-12-18 22:53:04 +01:00
Compare
Maufeat force-pushed mmap-fixews from 4e08aaab82
All checks were successful
eden-license / license-header (pull_request) Successful in 23s
GitHub Actions [CI] Build succeeded
GitHub Releases [CD] Build succeeded – Release published
to 01c411ad79
All checks were successful
eden-license / license-header (pull_request) Successful in 23s
GitHub Actions [CI] Build succeeded
GitHub Releases [CD] Build succeeded – Release published
2025-12-20 03:02:44 +01:00
Compare
Lizzie force-pushed mmap-fixews from 01c411ad79
All checks were successful
eden-license / license-header (pull_request) Successful in 23s
GitHub Actions [CI] Build succeeded
GitHub Releases [CD] Build succeeded – Release published
to 240eb324e9
All checks were successful
eden-license / license-header (pull_request) Successful in 25s
GitHub Actions [CI] Build succeeded
GitHub Releases [CD] Build succeeded – Release published
2025-12-23 05:56:42 +01:00
Compare
Lizzie force-pushed mmap-fixews from 240eb324e9
All checks were successful
eden-license / license-header (pull_request) Successful in 25s
GitHub Actions [CI] Build succeeded
GitHub Releases [CD] Build succeeded – Release published
to 1b845faca8
All checks were successful
eden-license / license-header (pull_request) Successful in 31s
GitHub Actions [CI] Build succeeded
GitHub Releases [CD] Build succeeded – Release published
2025-12-26 11:59:17 +01:00
Compare
Lizzie force-pushed mmap-fixews from ce6eb18cec
Some checks failed
eden-license / license-header (pull_request) Successful in 26s
GitHub Actions [CI] Build failed
to 3859ee1f82
Some checks failed
eden-license / license-header (pull_request) Successful in 33s
GitHub Actions [CI] Build failed
2025-12-30 21:10:55 +01:00
Compare
Lizzie force-pushed mmap-fixews from 3859ee1f82
Some checks failed
eden-license / license-header (pull_request) Successful in 33s
GitHub Actions [CI] Build failed
to aa8d84c0e7
Some checks reported errors
eden-license / license-header (pull_request) Successful in 29s
GitHub Actions [CI] Build cancelled
2025-12-31 04:33:31 +01:00
Compare
DraVee force-pushed mmap-fixews from 74ea890c70
Some checks failed
eden-license / license-header (pull_request) Successful in 28s
GitHub Actions [CI] Build failed
to f275d4e580
Some checks reported errors
eden-license / license-header (pull_request) Successful in 31s
GitHub Actions [CI] Build cancelled
2026-01-07 07:52:24 +01:00
Compare
DraVee force-pushed mmap-fixews from d0cb3568f7
Some checks failed
eden-license / license-header (pull_request) Successful in 33s
GitHub Actions [CI] Build failed
to 4a637df536
All checks were successful
eden-license / license-header (pull_request) Successful in 31s
GitHub Actions [CI] Build succeeded
GitHub Releases [CD] Build succeeded – Release published
2026-01-07 23:37:19 +01:00
Compare
@ -339,0 +323,4 @@
if (IsMappedFile()) {
std::memcpy(&object, mmap_base + mmap_offset, sizeof(T));
#ifdef _WIN32
return sizeof(T) != 0;
Member

This fix is totally dumb, probably the reason it's crashing

This fix is totally dumb, probably the reason it's crashing
DraVee marked this conversation as resolved
Lizzie force-pushed mmap-fixews from ef5a2b0a6c
All checks were successful
eden-license / license-header (pull_request) Successful in 35s
GitHub Actions [CI] Build succeeded
GitHub Releases [CD] Build succeeded – Release published
to e8029c9493
All checks were successful
eden-license / license-header (pull_request) Successful in 35s
GitHub Actions [CI] Build succeeded
GitHub Releases [CD] Build succeeded – Release published
2026-01-13 06:34:50 +01:00
Compare
Lizzie force-pushed mmap-fixews from e8029c9493
All checks were successful
eden-license / license-header (pull_request) Successful in 35s
GitHub Actions [CI] Build succeeded
GitHub Releases [CD] Build succeeded – Release published
to 8eb5b22b16
All checks were successful
eden-license / license-header (pull_request) Successful in 8m4s
GitHub Actions [CI] Build succeeded
GitHub Releases [CD] Build succeeded – Release published
2026-01-22 18:50:03 +01:00
Compare
Member

Changing to WIP

Changing to WIP
DraVee changed title from [fs] use mmap() to read files using VM/pagefaults for higher throughput to WIP: [fs] use mmap() to read files using VM/pagefaults for higher throughput 2026-02-02 19:16:15 +01:00
Owner

FEX reported significant gains in a similar PR that changed to mmap. Would be good to revisit this or improve it.

FEX reported significant gains in a similar PR that changed to mmap. Would be good to revisit this or improve it.
Lizzie changed title from WIP: [fs] use mmap() to read files using VM/pagefaults for higher throughput to [fs] use mmap() to read files using VM/pagefaults for higher throughput 2026-02-05 22:49:32 +01:00
Lizzie force-pushed mmap-fixews from 57bd06bdf0
Some checks failed
eden-license / license-header (pull_request) Successful in 23s
GitHub Actions [CI] Build failed
to 90c3e25afd
All checks were successful
eden-license / license-header (pull_request) Successful in 24s
GitHub Actions [CI] Build succeeded
GitHub Releases [CD] Release published
2026-02-06 03:00:20 +01:00
Compare
DraVee force-pushed mmap-fixews from 90c3e25afd
All checks were successful
eden-license / license-header (pull_request) Successful in 24s
GitHub Actions [CI] Build succeeded
GitHub Releases [CD] Release published
to 8ebdf84ec4
All checks were successful
eden-license / license-header (pull_request) Successful in 19s
GitHub Actions [CI] Build succeeded
GitHub Releases [CD] Release published
2026-02-21 02:26:22 +01:00
Compare
DraVee requested review from DraVee 2026-02-21 02:26:36 +01:00
Lizzie force-pushed mmap-fixews from 8ebdf84ec4
All checks were successful
eden-license / license-header (pull_request) Successful in 19s
GitHub Actions [CI] Build succeeded
GitHub Releases [CD] Release published
to 42f1bef96d
All checks were successful
eden-license / license-header (pull_request) Successful in 28s
GitHub Actions [CI] Build succeeded
GitHub Releases [CD] Release published
2026-03-31 06:50:30 +02:00
Compare
All checks were successful
eden-license / license-header (pull_request) Successful in 28s
Required
Details
GitHub Actions [CI] Build succeeded
GitHub Releases [CD] Release published
This pull request doesn't have enough approvals yet. 0 of 2 approvals granted.
This branch is out-of-date with the base branch
You are not authorized to merge this pull request.
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin mmap-fixews:mmap-fixews
git switch mmap-fixews
Sign in to join this conversation.
No description provided.