I have a single crate, which has around 10k lines of just struct and enums.
It takes between 10 and 60 seconds to run on my MacBook Pro 2.8Ghz dual core.
I used another Linux VM with 16 cores at 3.5Ghz, but compile time is roughly the same - it seems to only be using a single core.
Are there certain flags or workspace configurations I should be using?
Splitting the code into many crates can be done, but the dependency cycles between the types would mean I would need to just include all other workspace-crates types as use workspace::crate-x::* - would this still improve compile times?
What is it about workspaces that enables caching, but within a single crate no caching occurs?
I'd prefer not to split my code into arbitrary chunks just to enable cargo build caching.
Also, according to https://pingcap.com/blog/rust-huge-compilation-units, you can only have cyclic types inside a single crate as crate-crate imports must form a DAG. So this would mean I cannot split my single crate into many without breaking the cyclic deps?
