-
Notifications
You must be signed in to change notification settings - Fork 19
Description
Thanks to the new Cargo nightly -Z timings
I saw that our 3.5 min Windows release build was spending 65 seconds building just the old winapi 0.2
crate.
The wall time itself, while very high, is not a major problem as this was a larger from scratch build and lots of cores available, but what the timings clearly showed was that it pushed out a lot of build steps because there were tons of small and big crates that had dependencies on winapi 0.2
directly or indirectly and as such couldn't even start until that had been built.
So want to fully get rid of winapi 0.2
crate in our builds and migrate the crates that we are using to the faster and better winapi 0.3
or, in some cases, remove them.
Current crates that use (directly or indirectly) that uses winapi 0.2
:
-
iovec:
: This is the most important as huge ecosystem depend on this small crate. PR fix filed -
app_dirs:
Abandoned crate, switched toapp_dirs2
instead and PR fix was merged & published in 7 minutes (!) -
mio
: In-progress v0.7 is using latest winapi, v0.6 will stay onwinapi 0.2
. May just have to wait for v0.7? -
notify
: Unmaintained crate, leaf dependency so less important but should find alternative or get it updated. Related PR: Dependencies: Update winapi and remove kernel32-sys notify-rs/notify#217 -
wasmer-runtime-core
: From page_size. Is there a more modern/maintained equivalent that they can switch to? -
tokio
Update to mio 0.7 tokio: update to mio 0.7 tokio-rs/tokio#1190 - Ecosystem upgrade to new
tokio
0.3 -
winit
uses mio 0.6
Once we have those resolved:, we want to allow be able to disallow winapi 0.2
in our projects: