With this I'd still have longer compile times and bigger binaries compared to a non async solution.

Reply to this note

Please Login to reply.

Discussion

To reduce speed compilation you can disable all default features (I'll probably disable all feature by default in future) and, to reduce the binary size, change some `profile.release` config.

Tests for the example I shared yesterday:

Default features and default release profile:

* compilation time: 43 secs

* cdylib size: 479kb

* staticlib size: 58Mb

Without default features but with default release profile:

* compilation time: 31 secs

* cdylib size: 479kb

* staticlib size: 49Mb

Without default features and with LTO enabled, codegen-units set to 1 and abort on panic (but still optimized for performance instead of size):

* compilation time: 35 secs

* cdylib size: 437kb

* staticlib size: 12Mb

Same as above but optimized for size (not aggressive):

* compilation time: 30 secs

* cdylib size: 427kb

* staticlib size: 9.5Mb

I not plan to write a sync version of the SDK, also if very very basic. But I can try to reduce the above values as much as possible.