You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I use salsa-2022 to create my own programming language https://github.com/xiyuzhai-husky-lang/husky, and I construct a salsa db struct for almost every crate. Now that there are too many crates now, the cargo test time has increased dramatically. My last github push takes 40min to pass the checks.
For example, this is the db for testing in some late stage crate. The macro expands to a thousand lines of code.
I suggest that there is a dedicated salsa db for testing with no generics so that it needs only to be compiled once instead of being compiled for each individual crate. The Jars type could be something like
type Jars = HashMap<TypeId, Option<Box<dyn ...>>>
so that it's the same for different crates.
It can implement HasJar<SomeJar> by looking up the hashmap using the type id of SomeJar. In theory, this DB is the final object, it implements HasJar<Jar> for any Jar. It would be inefficient in release, but would save tons of compilation time for testing.
The text was updated successfully, but these errors were encountered:
I use salsa-2022 to create my own programming language https://github.com/xiyuzhai-husky-lang/husky, and I construct a salsa db struct for almost every crate. Now that there are too many crates now, the cargo test time has increased dramatically. My last github push takes 40min to pass the checks.
For example, this is the db for testing in some late stage crate. The macro expands to a thousand lines of code.
I suggest that there is a dedicated salsa db for testing with no generics so that it needs only to be compiled once instead of being compiled for each individual crate. The
Jars
type could be something likeso that it's the same for different crates.
It can implement
HasJar<SomeJar>
by looking up the hashmap using the type id ofSomeJar
. In theory, this DB is the final object, it implementsHasJar<Jar>
for any Jar. It would be inefficient in release, but would save tons of compilation time for testing.The text was updated successfully, but these errors were encountered: