near / near-sdk-rs

Rust library for writing NEAR smart contracts
https://near-sdk.io
Apache License 2.0
454 stars 243 forks source link

build.sh always takes the same amount of time to run, even after multiple runs on the same code #61

Closed janedegtiareva closed 4 years ago

janedegtiareva commented 4 years ago

If we start from a clean state in example (e.g. by removing res/*), do a build, and then build again with no code changes, the 2nd build takes the same time as the first. This is not a great dev experience since the devs do not enjoy waiting for builds (especially when it's redundant).

To repro: (observe that both builds take the same time)

(examples/status-message) rm res/* ./build.sh Compiling proc-macro2 v1.0.6 Compiling unicode-xid v0.2.0 Compiling syn v1.0.5 Compiling memchr v2.2.1 Compiling serde v1.0.101 Compiling lazy_static v1.4.0 Compiling regex-syntax v0.6.12 Compiling byteorder v1.3.2 Compiling ryu v1.0.2 Compiling wee_alloc v0.4.5 Compiling near-vm-errors v0.4.3 Compiling bs58 v0.3.0 Compiling cfg-if v0.1.10 Compiling memory_units v0.4.0 Compiling itoa v0.4.4 Compiling thread_local v0.3.6 Compiling aho-corasick v0.7.6 Compiling quote v1.0.2 Compiling regex v1.3.1 Compiling Inflector v0.11.4 Compiling borsh-derive-internal v0.2.10 Compiling near-bindgen-core v0.3.10 (/Users/evgueniadegtiareva/near/near-bindgen/near-bindgen-core) Compiling near-bindgen-promise v0.3.10 (/Users/evgueniadegtiareva/near/near-bindgen/near-bindgen-promise) Compiling serde_derive v1.0.101 Compiling borsh-derive v0.2.10 Compiling near-bindgen-macros v0.3.10 (/Users/evgueniadegtiareva/near/near-bindgen/near-bindgen-macros) Compiling borsh v0.2.10 Compiling near-runtime-fees v0.4.3 Compiling serde_json v1.0.40 (https://github.com/nearprotocol/json?rev=1f5779f3b0bd3d2a4b0b975abc46f3d3fe873331#1f5779f3) Compiling near-vm-logic v0.4.3 Compiling near-bindgen v0.3.10 (/Users/evgueniadegtiareva/near/near-bindgen/near-bindgen) Compiling status-message v0.1.0 (/Users/evgueniadegtiareva/near/near-bindgen/examples/status-message) Finished release [optimized] target(s) in 44.51s

./build.sh Compiling proc-macro2 v1.0.6 Compiling unicode-xid v0.2.0 Compiling syn v1.0.5 Compiling memchr v2.2.1 Compiling lazy_static v1.4.0 Compiling serde v1.0.101 Compiling regex-syntax v0.6.12 Compiling byteorder v1.3.2 Compiling ryu v1.0.2 Compiling near-vm-errors v0.4.3 Compiling wee_alloc v0.4.5 Compiling bs58 v0.3.0 Compiling cfg-if v0.1.10 Compiling itoa v0.4.4 Compiling memory_units v0.4.0 Compiling thread_local v0.3.6 Compiling aho-corasick v0.7.6 Compiling quote v1.0.2 Compiling regex v1.3.1 Compiling Inflector v0.11.4 Compiling borsh-derive-internal v0.2.10 Compiling near-bindgen-promise v0.3.10 (/Users/evgueniadegtiareva/near/near-bindgen/near-bindgen-promise) Compiling near-bindgen-core v0.3.10 (/Users/evgueniadegtiareva/near/near-bindgen/near-bindgen-core) Compiling serde_derive v1.0.101 Compiling borsh-derive v0.2.10 Compiling near-bindgen-macros v0.3.10 (/Users/evgueniadegtiareva/near/near-bindgen/near-bindgen-macros) Compiling borsh v0.2.10 Compiling near-runtime-fees v0.4.3 Compiling serde_json v1.0.40 (https://github.com/nearprotocol/json?rev=1f5779f3b0bd3d2a4b0b975abc46f3d3fe873331#1f5779f3) Compiling near-vm-logic v0.4.3 Compiling near-bindgen v0.3.10 (/Users/evgueniadegtiareva/near/near-bindgen/near-bindgen) Compiling status-message v0.1.0 (/Users/evgueniadegtiareva/near/near-bindgen/examples/status-message) Finished release [optimized] target(s) in 44.81s

janedegtiareva commented 4 years ago

https://github.com/nearprotocol/near-bindgen/pull/62