Skip to content

Commit

Permalink
test steven_blocks: reduce optimizations in release, closes #184 (#255)
Browse files Browse the repository at this point in the history
* Remove all blocks

rm -rf target/release/deps/steven_blocks-* ; time cargo build --release

0.188s

* Restore all blocks

* Enable macro expansion tracing

Requires nightly, `rustup default nightly`
The define_blocks! macro expands in about 9 seconds:

note: trace_macro
    --> blocks/src/lib.rs:486:1
     |
486  | / define_blocks! {
487  | |     Air {
488  | |         props {},
489  | |         material material::Material {
...    |
5601 | |     }
5602 | | }
     | |_^
     |
     = note: expanding `define_blocks! { Air
[............]
note: trace_macro
   --> blocks/src/lib.rs:930:17
    |
930 |         variant format!("extended={},facing={}", extended, facing.as_string()),
    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |
    = note: expanding `format! { "extended={},facing={}", extended, facing . as_string () }`
    = note: to `$crate :: fmt :: format
            ($crate :: __export :: format_args !
             ("extended={},facing={}", extended, facing . as_string ()))`

^C  Building [=====================================================> ] 317/320: steven_blocks

real	0m9.936s
user	0m5.460s
sys	0m0.444s

* Remove block dependencies

* Remove only all blocks

* Restore some blocks, finishes in about 2s

Removes 1000 lines from bottom

real	1m43.476s
user	4m14.319s
sys	0m8.194s

* steven_blocks: update lazy_static to 1.4.0

* cargo update steven_blocks

* Revert "Restore some blocks, finishes in about 2s"

This reverts commit 04aef6a.

* Revert "Remove only all blocks", -Z time-passes shows 85s

This reverts commit 5e951f5.

time cargo rustc -- -Z time-passes

  time: 13.535	item-bodies checking
  time: 26.370	metadata encoding and writing
  time: 28.031	MIR borrow checking
  time: 3.550	LLVM passes
time: 85.748		total

* Revert "Remove block dependencies", finishes in ~2m

real	1m52.989s
user	2m18.885s
sys	0m8.025s
blocks $ cargo clean ; time cargo rustc -- -Z time-passes

This reverts commit 32655a3.

* Restore all dependencies with git diff master src

* Revert "Enable macro expansion tracing", 1m49s

This reverts commit 7461615.

* Revert cargo update, but fails: cannot find function `pthread_atfork` in crate `libc`

error[E0425]: cannot find function `pthread_atfork` in crate `libc`
   --> .cargo/registry/src/github.com-1ecc6299db9ec823/rand-0.6.5/src/rngs/adapter/reseeding.rs:320:28
    |
320 |             unsafe { libc::pthread_atfork(None, None, Some(fork_handler)) };
    |                            ^^^^^^^^^^^^^^ not found in `libc`

   Compiling quote v0.6.10
   Compiling syn v0.15.23
error: aborting due to previous error

For more information about this error, try `rustc --explain E0425`.
error: could not compile `rand`.
warning: build failed, waiting for other jobs to finish...
error: build failed

real	0m7.047s
user	0m20.843s
sys	0m2.494s

steven_blocks v0.0.1 (steven/blocks)
├── cgmath v0.17.0
│   ├── approx v0.3.2
│   │   └── num-traits v0.2.6
│   ├── num-traits v0.2.6 (*)
│   ├── rand v0.6.5
│   │   ├── libc v0.2.9

* Revert "Revert cargo update, but fails: cannot find function `pthread_atfork` in crate `libc`"

This reverts commit 326dd2a.

* steven_blocks: reduce optimizations in release, closes #184

* Set top-level opt-level=1, compiles in ~5 min

* Revert "Set top-level opt-level=1, compiles in ~5 min"

This reverts commit 391041e.

* Add config profile for steven_blocks

* Use profile-overrides feature instead of config profile

* Update to nightly Rust until 1.41 (1/30/2020)

* Remove comment

* Update builds.sr.ht to use +nightly

* .build.yml: install nightly

* Update to rustc 1.42.0-nightly (760ce94c6 2020-01-04)

* Replace into_iter() -> iter() for arrays, fixes 1.42-nightly warning

warning: this method call currently resolves to `<&[T; N] as IntoIterator>::into_iter` (due to autoref coercions), but that might change in the future when `IntoIterator` impls for arrays are added.
   --> src/entity/player.rs:363:11
    |
363 |         ].into_iter().enumerate() {
    |           ^^^^^^^^^ help: use `.iter()` instead of `.into_iter()` to avoid ambiguity: `iter`
    |
    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
    = note: for more information, see issue #66145 <rust-lang/rust#66145>

* Remove deprecated Error description, replaced by Display

warning: use of deprecated item 'std::error::Error::description': use the Display impl or to_string()
   --> src/protocol/mod.rs:981:40
    |
981 |             Error::IOError(ref e) => e.description(),
    |                                        ^^^^^^^^^^^
    |
    = note: `#[warn(deprecated)]` on by default

* Remove cargo-feature because profile-overrides is stable in nightly

warning: the cargo feature `profile-overrides` is now stable and is no longer necessary to be listed in the manifest
  • Loading branch information
iceiix authored Jan 5, 2020
1 parent e04ee87 commit b6aac4c
Showing 0 changed files with 0 additions and 0 deletions.

0 comments on commit b6aac4c

Please sign in to comment.