mirror of
https://github.com/rojo-rbx/rojo.git
synced 2026-10-23 14:01:37 +00:00
- Introduced a `PrefetchCache` structure to store pre-read file contents and canonical paths, enhancing the speed of initial reads during snapshot building. - Implemented parallel file reading using `rayon` and `walkdir` to populate the cache efficiently. - Updated the `VfsInner` struct to include the prefetch cache and modified read methods to utilize it, reducing I/O operations. - Added functions to set and clear the prefetch cache in the `Vfs` API, improving memory management during live operations. - Enhanced tests to validate the functionality of the prefetch cache, ensuring correct behavior during file reads and canonicalization. These changes aim to significantly improve the performance of the VFS by minimizing file access times during initial operations.
138 lines
3.3 KiB
TOML
138 lines
3.3 KiB
TOML
[package]
|
|
name = "atlas"
|
|
version = "8.3.0"
|
|
rust-version = "1.88"
|
|
authors = [
|
|
"Lucien Greathouse <me@lpghatguy.com>",
|
|
"Micah Reid <git@dekkonot.com>",
|
|
"Ken Loeffler <kenloef@gmail.com>",
|
|
]
|
|
description = "Enables professional-grade development tools for Roblox developers"
|
|
license = "MPL-2.0"
|
|
homepage = "https://rojo.space"
|
|
documentation = "https://rojo.space/docs"
|
|
repository = "https://github.com/UserGeneratedLLC/rojo"
|
|
readme = "README.md"
|
|
edition = "2021"
|
|
build = "build.rs"
|
|
|
|
exclude = ["/test-projects/**"]
|
|
|
|
[profile.dev]
|
|
panic = "abort"
|
|
|
|
[profile.release]
|
|
panic = "abort"
|
|
|
|
[features]
|
|
default = []
|
|
|
|
# Enable this feature to live-reload assets from the web UI.
|
|
dev_live_assets = []
|
|
|
|
# Run Rojo with this feature to open a Tracy session.
|
|
# Currently uses protocol v63, last supported in Tracy 0.9.1.
|
|
profile-with-tracy = ["profiling/profile-with-tracy"]
|
|
|
|
[workspace]
|
|
members = ["crates/*"]
|
|
|
|
[lib]
|
|
name = "librojo"
|
|
path = "src/lib.rs"
|
|
|
|
[[bench]]
|
|
name = "build"
|
|
harness = false
|
|
|
|
[dependencies]
|
|
memofs = { version = "0.3.1", path = "crates/memofs" }
|
|
|
|
# rbx-dom dependencies (local submodule)
|
|
rbx_binary = { path = "rbx-dom/rbx_binary", features = ["unstable_text_format"] }
|
|
rbx_dom_weak = { path = "rbx-dom/rbx_dom_weak" }
|
|
rbx_reflection = { path = "rbx-dom/rbx_reflection" }
|
|
rbx_reflection_database = { path = "rbx-dom/rbx_reflection_database" }
|
|
rbx_xml = { path = "rbx-dom/rbx_xml" }
|
|
|
|
anyhow = "1.0.101"
|
|
backtrace = "0.3.76"
|
|
bincode = { version = "2", features = ["serde"] }
|
|
crossbeam-channel = "0.5.15"
|
|
csv = "1.4.0"
|
|
env_logger = "0.11"
|
|
fs-err = "3"
|
|
futures = "0.3.32"
|
|
globset = "0.4.18"
|
|
humantime = "2.3.0"
|
|
hyper = { version = "1", features = ["server", "http1"] }
|
|
hyper-util = { version = "0.1", features = ["tokio"] }
|
|
http-body-util = "0.1"
|
|
bytes = "1"
|
|
hyper-tungstenite = "0.19"
|
|
jod-thread = "1.0.0"
|
|
log = "0.4.29"
|
|
num_cpus = "1.17.0"
|
|
opener = "0.8.4"
|
|
rayon = "1.11.0"
|
|
walkdir = "2.5.0"
|
|
rbx_cookie = "0.1.5"
|
|
reqwest = { version = "0.13", default-features = false, features = [
|
|
"blocking",
|
|
"json",
|
|
"multipart",
|
|
"rustls",
|
|
"gzip",
|
|
"brotli",
|
|
"deflate",
|
|
] }
|
|
tempfile = "3.25.0"
|
|
ritz = "0.1.0"
|
|
roblox_install = "1.0.0"
|
|
serde = { version = "1.0.228", features = ["derive", "rc"] }
|
|
serde_json = "1.0.149"
|
|
json5 = "1.3.1"
|
|
lexical-write-float = "1.0.6"
|
|
strum = { version = "0.27", features = ["derive"] }
|
|
toml = "0.9"
|
|
termcolor = "1.4.1"
|
|
thiserror = "2"
|
|
tokio = { version = "1.49.0", features = ["rt", "rt-multi-thread", "macros", "sync"] }
|
|
uuid = { version = "1.21.0", features = ["v4", "serde"] }
|
|
clap = { version = "4", features = ["derive"] }
|
|
profiling = "1.0.17"
|
|
yaml-rust2 = "0.11.0"
|
|
data-encoding = "2.10.0"
|
|
pathdiff = "0.2.3"
|
|
|
|
blake3 = "1.8.3"
|
|
sha1 = "0.10"
|
|
indexmap = { version = "2.13.0", features = ["serde"] }
|
|
rmp-serde = "1.3.1"
|
|
serde_bytes = "0.11.19"
|
|
|
|
[target.'cfg(windows)'.dependencies]
|
|
winreg = "0.55"
|
|
|
|
[build-dependencies]
|
|
memofs = { version = "0.3.0", path = "crates/memofs" }
|
|
|
|
embed-resource = "3.0.6"
|
|
anyhow = "1.0.101"
|
|
bincode = { version = "2", features = ["serde"] }
|
|
fs-err = "3"
|
|
maplit = "1.0.2"
|
|
semver = "1.0.27"
|
|
|
|
[dev-dependencies]
|
|
rojo-insta-ext = { path = "crates/rojo-insta-ext" }
|
|
|
|
criterion = "0.8"
|
|
insta = { version = "1.46.3", features = ["redactions", "yaml", "json"] }
|
|
paste = "1.0.15"
|
|
pretty_assertions = "1.4.1"
|
|
regex = "1"
|
|
serde_yaml = "0.9"
|
|
tempfile = "3"
|
|
walkdir = "2.5.0"
|
|
rand = "0.10.0"
|