forked from rojo-rbx/rojo
Sourcemap performance improvements (#668)
This PR brings two performance improvements to the `rojo sourcemap` command: - Use `rayon` with a small threadpool to parallelize sourcemap generation while still keeping startup cost very low - Remove conversions to owned strings and use lifetimes tied to the dom instead, which mostly improves performance with the `--include-non-scripts` flag enabled From my personal testing on an M1 mac this decreases the sourcemap generation time of our games by 2x or more, from ~20ms to ~8ms on one project and ~30ms to ~15ms on another. Generation is pretty fast to begin with but since sourcemaps are heavily used in interactive tools (like luau-lsp) a difference of a couple frames can be great for ux.
This commit is contained in:
2
Cargo.lock
generated
2
Cargo.lock
generated
@@ -1900,10 +1900,12 @@ dependencies = [
|
||||
"maplit",
|
||||
"memofs",
|
||||
"notify",
|
||||
"num_cpus",
|
||||
"opener",
|
||||
"paste",
|
||||
"pretty_assertions",
|
||||
"profiling",
|
||||
"rayon",
|
||||
"rbx_binary",
|
||||
"rbx_dom_weak",
|
||||
"rbx_reflection",
|
||||
|
||||
Reference in New Issue
Block a user