{"action":"created","issue":{"url":"https://api.github.com/repos/rust-lang/rust/issues/22068","labels_url":"https://api.github.com/repos/rust-lang/rust/issues/22068/labels{/name}","comments_url":"https://api.github.com/repos/rust-lang/rust/issues/22068/comments","events_url":"https://api.github.com/repos/rust-lang/rust/issues/22068/events","html_url":"https://github.com/rust-lang/rust/issues/22068","id":56931289,"number":22068,"title":"Compiling hello world on RPi spends 4 seconds in coherence checking","user":{"login":"kmcallister","id":444997,"avatar_url":"https://avatars.githubusercontent.com/u/444997?v=3","gravatar_id":"","url":"https://api.github.com/users/kmcallister","html_url":"https://github.com/kmcallister","followers_url":"https://api.github.com/users/kmcallister/followers","following_url":"https://api.github.com/users/kmcallister/following{/other_user}","gists_url":"https://api.github.com/users/kmcallister/gists{/gist_id}","starred_url":"https://api.github.com/users/kmcallister/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kmcallister/subscriptions","organizations_url":"https://api.github.com/users/kmcallister/orgs","repos_url":"https://api.github.com/users/kmcallister/repos","events_url":"https://api.github.com/users/kmcallister/events{/privacy}","received_events_url":"https://api.github.com/users/kmcallister/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/rust-lang/rust/labels/I-slow","name":"I-slow","color":"e10c02"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":4,"created_at":"2015-02-07T23:49:34Z","updated_at":"2015-02-22T20:32:26Z","closed_at":null,"body":"My `rustc` is from @japaric's [nightlies](http://www.reddit.com/r/rust/comments/2v3xin/unofficial_rust_and_cargo_nightlies_for_arm_again/).  It's pretty slow overall, but what stands out is that we spend nearly 4s on coherence checking.\r\n\r\n```\r\npi@inky /tmp $ rustc --version\r\nrustc 1.0.0-dev (d3732a12e 2015-02-06 23:30:17 +0000)\r\npi@inky /tmp $ cat hello-world.rs \r\nfn main() {\r\n    println!(\"Hello, world!\");\r\n}\r\npi@inky /tmp $ time rustc -Z time-passes hello-world.rs\r\ntime: 0.004     parsing\r\ntime: 0.000     recursion limit\r\ntime: 0.008     gated macro checking\r\ntime: 0.000     configuration 1\r\ntime: 0.001     crate injection\r\ntime: 0.127     plugin loading\r\ntime: 0.000     plugin registration\r\ntime: 0.069     expansion\r\ntime: 0.000     complete gated feature checking\r\ntime: 0.000     configuration 2\r\ntime: 0.000     maybe building test harness\r\ntime: 0.000     prelude injection\r\ntime: 0.000     checking that all macro invocations are gone\r\ntime: 0.000     assigning node ids and indexing ast\r\ntime: 0.000     external crate/lib resolution\r\ntime: 0.002     language item collection\r\ntime: 0.176     resolution\r\ntime: 0.000     lifetime resolution\r\ntime: 0.000     looking for entry point\r\ntime: 0.000     looking for plugin registrar\r\ntime: 0.000     region resolution\r\ntime: 0.000     loop checking\r\ntime: 0.000     static item recursion checking\r\ntime: 0.003     type collecting\r\ntime: 0.000     variance inference\r\ntime: 3.853     coherence checking\r\ntime: 0.025     type checking\r\ntime: 0.069     check static items\r\ntime: 0.000     const marking\r\ntime: 0.000     const checking\r\ntime: 0.001     privacy checking\r\ntime: 0.000     stability index\r\ntime: 0.000     intrinsic checking\r\ntime: 0.000     effect checking\r\ntime: 0.001     match checking\r\ntime: 0.000     liveness checking\r\ntime: 0.105     borrow checking\r\ntime: 0.008     rvalue checking\r\ntime: 0.000     reachability checking\r\ntime: 0.000     death checking\r\ntime: 0.000     stability checking\r\ntime: 0.000     unused lib feature checking\r\ntime: 0.002     lint checking\r\ntime: 0.000     resolving dependency formats\r\ntime: 0.201     translation\r\n  time: 0.003   llvm function passes\r\n  time: 0.003   llvm module passes\r\n  time: 0.122   codegen passes\r\n  time: 0.007   codegen passes\r\ntime: 0.243     LLVM passes\r\n  time: 6.600   running linker\r\ntime: 6.611     linking\r\n\r\nreal    0m12.263s\r\nuser    0m7.510s\r\nsys     0m0.720s\r\n```"},"comment":{"url":"https://api.github.com/repos/rust-lang/rust/issues/comments/75456081","html_url":"https://github.com/rust-lang/rust/issues/22068#issuecomment-75456081","issue_url":"https://api.github.com/repos/rust-lang/rust/issues/22068","id":75456081,"user":{"login":"dotdash","id":230962,"avatar_url":"https://avatars.githubusercontent.com/u/230962?v=3","gravatar_id":"","url":"https://api.github.com/users/dotdash","html_url":"https://github.com/dotdash","followers_url":"https://api.github.com/users/dotdash/followers","following_url":"https://api.github.com/users/dotdash/following{/other_user}","gists_url":"https://api.github.com/users/dotdash/gists{/gist_id}","starred_url":"https://api.github.com/users/dotdash/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dotdash/subscriptions","organizations_url":"https://api.github.com/users/dotdash/orgs","repos_url":"https://api.github.com/users/dotdash/repos","events_url":"https://api.github.com/users/dotdash/events{/privacy}","received_events_url":"https://api.github.com/users/dotdash/received_events","type":"User","site_admin":false},"created_at":"2015-02-22T20:32:26Z","updated_at":"2015-02-22T20:32:26Z","body":"This might be due to the RBML/EBML decoding code that looks like it would cause lots of unaligned loads. Older ARMs probably handle those worse than newer ones."}}