-
-
Notifications
You must be signed in to change notification settings - Fork 87
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Move to a unified file system, and many related optimisations #338
Conversation
FYI, running with
The good news is that 0.20.0-beta.7 does not seem to require that option in order to successfully reach the main menu with the BlanketCon 23 pack on 700MB, unlike earlier releases. So removing it from my JVM arguments is a good enough workaround. :) |
Woops - I'll fix that soon! Thanks for testing it though - I'm glad to hear that the optimizations worked :) |
Api changes:
ExtendedFileSystem
/ExtendedFiles
.mount
(COPY_ON_WRITE
orREAD_ONLY
)` (Currently there's no way to create filesystems with this - so mods can only read file mounts. Also, this only works for files)ExtendedFileSystem
/ExtendedFiles
.isMountedFile
,isCopyOnWrite
FasterFiles
/FasterFileSystem
.copy
General changes:
QuiltUnifiedFileSystem
This optimises:
QuiltBasePath.toStringHashCode()
, which is faster thenQuiltBasePath.toString().hashCode()
QuiltClassPath
fromMap<String, Path>
toMap<Path.toString().hashCode(), Path>
, which saves a lot of memory at runtime.Path
.QuiltZipCustomCompressedWriter
no longer holds the output in memory before writing it to a file, instead writing entries directly to the file as they are compressed.loader.zipfs.use_temp_file
, since the transform cache now uses a much smaller amount of memory.copy-on-write
files when building, which saves memory.