Today I made a really trivial Web server using the new Actix web framework.
extern crate actix_web;
use actix_web::{server, App, HttpRequest, Responder, Result};
use actix_web::http::Method;
use actix_web::fs::NamedFile;
use std::path::PathBuf;
use std::fs::{metadata, create_dir};
fn public_dir(req: HttpRequest) -> impl Responder {
let r: Result<NamedFile> = (move || {
let mut p = PathBuf::new();
p.push("public");
let p1:PathBuf = req.match_info().query("tail")?;
p.push(p1);
Ok(NamedFile::open(p)?)
})();
r
}
fn main() -> Result<()> {
metadata("public")
.or_else(|_| {
create_dir("public")?;
metadata("public")
})?;
server::new(|| {
App::new()
.resource("/", |r| r.method(Method::GET).f(public_dir))
})
.bind("0.0.0.0:3010")
.expect("Cannot bind to port 3010")
.run();
Ok(())
}
Surprisingly this small program takes more than 2 minutes to compile in Raspberry Pi 2.
I wanted to know what makes it so slow so I run the following command:
cargo rustc -- -Ztime-passes -Ztime-llvm-passes -Zhir-stats
Here is what I get:
time: 0.004; rss: 37MB parsing
PRE EXPANSION AST STATS
Name Accumulated Size Count Item Size
----------------------------------------------------------------
Mod 16 1 16
TyParamBound 40 1 40
Local 72 3 24
Block 120 5 24
FnDecl 144 6 24
Stmt 208 13 16
Pat 288 6 48
Ty 396 9 44
PathSegment 708 59 12
Item 1_216 8 152
Expr 2_880 60 48
----------------------------------------------------------------
Total 6_088
time: 0.001; rss: 40MB garbage collect incremental cache directory
time: 0.000; rss: 40MB recursion limit
time: 0.000; rss: 40MB crate injection
time: 0.000; rss: 40MB plugin loading
time: 0.000; rss: 40MB background load prev dep-graph
time: 0.000; rss: 40MB plugin registration
time: 1.744; rss: 130MB expand crate
time: 0.000; rss: 130MB check unused macros
time: 1.745; rss: 130MB expansion
time: 0.000; rss: 130MB maybe building test harness
time: 0.000; rss: 130MB maybe creating a macro crate
time: 0.000; rss: 130MB creating allocators
POST EXPANSION AST STATS
Name Accumulated Size Count Item Size
----------------------------------------------------------------
Mod 16 1 16
TyParamBound 40 1 40
Local 72 3 24
Attribute 120 2 60
Block 120 5 24
FnDecl 144 6 24
Stmt 208 13 16
Pat 288 6 48
Ty 396 9 44
PathSegment 744 62 12
Item 1_520 10 152
Expr 2_880 60 48
----------------------------------------------------------------
Total 6_548
time: 0.000; rss: 130MB AST validation
time: 0.157; rss: 137MB name resolution
time: 0.000; rss: 137MB complete gated feature checking
time: 0.000; rss: 137MB blocked while dep-graph loading finishes
HIR STATS
Name Accumulated Size Count Item Size
----------------------------------------------------------------
Mod 12 1 12
Decl 36 3 12
TyParamBound 60 1 60
Local 108 3 36
FnDecl 120 6 20
Stmt 128 8 16
Block 160 5 32
Arm 192 8 24
Attribute 360 6 60
QPath 660 55 12
Ty 780 13 60
Pat 1_056 22 48
Item 2_108 17 124
PathSegment 2_148 179 12
Path 2_600 65 40
Expr 4_656 97 48
----------------------------------------------------------------
Total 15_184
time: 0.006; rss: 138MB lowering ast -> hir
time: 0.000; rss: 138MB early lint checks
time: 0.005; rss: 138MB indexing hir
time: 0.000; rss: 138MB load query result cache
time: 0.000; rss: 138MB looking for entry point
time: 0.000; rss: 138MB looking for plugin registrar
time: 0.000; rss: 138MB loop checking
time: 0.001; rss: 148MB attribute checking
time: 0.003; rss: 148MB stability checking
time: 0.011; rss: 152MB type collecting
time: 0.000; rss: 152MB outlives testing
time: 0.000; rss: 152MB impl wf inference
time: 0.000; rss: 152MB coherence checking
time: 0.000; rss: 152MB variance testing
time: 0.005; rss: 152MB wf checking
time: 0.000; rss: 152MB item-types checking
time: 1.453; rss: 195MB item-bodies checking
time: 0.089; rss: 196MB rvalue promotion
time: 0.005; rss: 196MB privacy checking
time: 0.000; rss: 196MB intrinsic checking
time: 0.002; rss: 196MB match checking
time: 0.000; rss: 196MB liveness checking
time: 0.077; rss: 196MB borrow checking
time: 0.000; rss: 196MB MIR borrow checking
time: 0.000; rss: 196MB dumping chalk-like clauses
time: 0.000; rss: 196MB MIR effect checking
time: 0.000; rss: 196MB death checking
time: 0.000; rss: 196MB unused lib feature checking
time: 0.005; rss: 197MB lint checking
time: 0.022; rss: 197MB resolving dependency formats
time: 0.001; rss: 197MB write metadata
time: 10.837; rss: 250MB monomorphization collection
time: 0.673; rss: 267MB codegen unit partitioning
time: 0.000; rss: 267MB write allocator module
time: 0.108; rss: 273MB llvm function passes [3ayaeypdcro9d6yk]
time: 0.043; rss: 273MB llvm module passes [3ayaeypdcro9d6yk]
time: 0.108; rss: 279MB llvm function passes [1im38lueib99jsk0]
time: 0.054; rss: 279MB llvm module passes [1im38lueib99jsk0]
time: 0.169; rss: 284MB llvm function passes [9elsx31vb4it187]
time: 0.042; rss: 285MB llvm module passes [9elsx31vb4it187]
time: 3.594; rss: 286MB codegen passes [3ayaeypdcro9d6yk]
time: 0.055; rss: 285MB llvm function passes [1e7rzgou8tyd0y10]
time: 0.023; rss: 285MB llvm module passes [1e7rzgou8tyd0y10]
time: 3.455; rss: 289MB codegen passes [1im38lueib99jsk0]
time: 0.074; rss: 288MB llvm function passes [2z2zpz0san1zs1ms]
time: 0.023; rss: 288MB llvm module passes [2z2zpz0san1zs1ms]
time: 2.517; rss: 290MB codegen passes [1e7rzgou8tyd0y10]
time: 0.057; rss: 288MB llvm function passes [4avfh8a54f1c8k6m]
time: 0.021; rss: 288MB llvm module passes [4avfh8a54f1c8k6m]
time: 4.112; rss: 290MB codegen passes [9elsx31vb4it187]
time: 0.146; rss: 287MB llvm function passes [16u6js6g0l3k1ic6]
time: 0.029; rss: 288MB llvm module passes [16u6js6g0l3k1ic6]
time: 2.696; rss: 288MB codegen passes [2z2zpz0san1zs1ms]
time: 0.071; rss: 287MB llvm function passes [4do4hw5xda3frguk]
time: 0.033; rss: 287MB llvm module passes [4do4hw5xda3frguk]
time: 1.907; rss: 288MB codegen passes [4avfh8a54f1c8k6m]
time: 0.043; rss: 287MB llvm function passes [3qeiqh1t9h813iml]
time: 0.017; rss: 287MB llvm module passes [3qeiqh1t9h813iml]
time: 1.714; rss: 291MB codegen passes [3qeiqh1t9h813iml]
time: 0.069; rss: 289MB llvm function passes [54zsfc7sp7jyb1vn]
time: 0.016; rss: 289MB llvm module passes [54zsfc7sp7jyb1vn]
time: 2.558; rss: 290MB codegen passes [4do4hw5xda3frguk]
time: 0.047; rss: 288MB llvm function passes [1wpg2ruh59v7sg9j]
time: 0.027; rss: 288MB llvm module passes [1wpg2ruh59v7sg9j]
time: 4.547; rss: 292MB codegen passes [16u6js6g0l3k1ic6]
time: 0.063; rss: 290MB llvm function passes [2epeb27wvrjbfq36]
time: 0.023; rss: 290MB llvm module passes [2epeb27wvrjbfq36]
time: 1.645; rss: 290MB codegen passes [1wpg2ruh59v7sg9j]
time: 0.051; rss: 290MB llvm function passes [pfj81dp1ipe0hwf]
time: 0.030; rss: 290MB llvm module passes [pfj81dp1ipe0hwf]
time: 2.199; rss: 291MB codegen passes [54zsfc7sp7jyb1vn]
time: 0.058; rss: 291MB llvm function passes [vpbpnff9uk7ha66]
time: 0.023; rss: 291MB llvm module passes [vpbpnff9uk7ha66]
time: 1.970; rss: 292MB codegen passes [2epeb27wvrjbfq36]
time: 1.845; rss: 291MB codegen passes [pfj81dp1ipe0hwf]
time: 0.113; rss: 290MB llvm function passes [4ypvbwho0bu5tnww]
time: 0.022; rss: 290MB llvm module passes [4ypvbwho0bu5tnww]
time: 1.534; rss: 291MB codegen passes [vpbpnff9uk7ha66]
time: 0.039; rss: 291MB llvm function passes [3wta9ctgdrpkmlpr]
time: 0.008; rss: 291MB llvm module passes [3wta9ctgdrpkmlpr]
time: 0.047; rss: 292MB llvm function passes [m547aoa8mvf7y83]
time: 0.012; rss: 292MB llvm module passes [m547aoa8mvf7y83]
time: 0.944; rss: 293MB codegen passes [3wta9ctgdrpkmlpr]
time: 0.029; rss: 292MB llvm function passes [t4hfrtkfqt17y2z]
time: 0.012; rss: 292MB llvm module passes [t4hfrtkfqt17y2z]
time: 1.637; rss: 293MB codegen passes [m547aoa8mvf7y83]
time: 1.125; rss: 292MB codegen passes [t4hfrtkfqt17y2z]
time: 0.043; rss: 292MB llvm function passes [3ah7z1jggairdm79]
time: 0.015; rss: 292MB llvm module passes [3ah7z1jggairdm79]
time: 0.045; rss: 292MB llvm function passes [1u6mxbnlimtx2dbg]
time: 0.016; rss: 292MB llvm module passes [1u6mxbnlimtx2dbg]
time: 3.886; rss: 294MB codegen passes [4ypvbwho0bu5tnww]
time: 0.041; rss: 293MB llvm function passes [3l7ef6u6r09mzrs3]
time: 1.225; rss: 292MB codegen passes [3ah7z1jggairdm79]
time: 0.089; rss: 292MB llvm module passes [3l7ef6u6r09mzrs3]
time: 0.033; rss: 292MB llvm function passes [4wwcxtjjr60lahsa]
time: 0.011; rss: 292MB llvm module passes [4wwcxtjjr60lahsa]
time: 1.462; rss: 293MB codegen passes [1u6mxbnlimtx2dbg]
time: 0.749; rss: 293MB codegen passes [4wwcxtjjr60lahsa]
time: 0.105; rss: 291MB llvm function passes [4yh8x2b62dcih00t]
time: 0.027; rss: 291MB llvm module passes [4yh8x2b62dcih00t]
time: 0.024; rss: 291MB llvm function passes [1rnt618l5epcaf5a]
time: 0.007; rss: 291MB llvm module passes [1rnt618l5epcaf5a]
time: 1.576; rss: 292MB codegen passes [3l7ef6u6r09mzrs3]
time: 0.040; rss: 289MB llvm function passes [1zmw044vi5ql5ynv]
time: 0.089; rss: 289MB llvm module passes [1zmw044vi5ql5ynv]
time: 0.903; rss: 291MB codegen passes [1rnt618l5epcaf5a]
time: 0.051; rss: 291MB llvm function passes [49a7n47po4ttqjl7]
time: 0.038; rss: 291MB llvm module passes [49a7n47po4ttqjl7]
time: 1.002; rss: 294MB codegen passes [49a7n47po4ttqjl7]
time: 1.614; rss: 293MB codegen passes [1zmw044vi5ql5ynv]
time: 0.042; rss: 292MB llvm function passes [3iac7qosq7cdj7ze]
time: 0.021; rss: 292MB llvm function passes [5i9q6t42804mh8w]
time: 0.005; rss: 292MB llvm module passes [5i9q6t42804mh8w]
time: 0.025; rss: 292MB llvm module passes [3iac7qosq7cdj7ze]
time: 2.997; rss: 293MB codegen passes [4yh8x2b62dcih00t]
time: 0.031; rss: 291MB llvm function passes [4i8p38gfz91qqzof]
time: 0.011; rss: 291MB llvm module passes [4i8p38gfz91qqzof]
time: 0.697; rss: 292MB codegen passes [5i9q6t42804mh8w]
time: 0.037; rss: 291MB llvm function passes [pqmjx25qpxkduz7]
time: 0.012; rss: 291MB llvm module passes [pqmjx25qpxkduz7]
time: 1.323; rss: 292MB codegen passes [3iac7qosq7cdj7ze]
time: 0.028; rss: 292MB llvm function passes [ik2rilm329dy28u]
time: 0.015; rss: 292MB llvm module passes [ik2rilm329dy28u]
time: 1.006; rss: 293MB codegen passes [4i8p38gfz91qqzof]
time: 0.020; rss: 292MB llvm function passes [n847vnkjamrby94]
time: 0.005; rss: 292MB llvm module passes [n847vnkjamrby94]
time: 1.057; rss: 292MB codegen passes [pqmjx25qpxkduz7]
time: 0.042; rss: 292MB llvm function passes [63mmpc50mjcb0lb]
time: 0.038; rss: 292MB llvm module passes [63mmpc50mjcb0lb]
time: 0.880; rss: 293MB codegen passes [ik2rilm329dy28u]
time: 0.698; rss: 292MB codegen passes [n847vnkjamrby94]
time: 0.026; rss: 291MB llvm function passes [1aj47m1b0rduvv7b]
time: 0.007; rss: 291MB llvm module passes [1aj47m1b0rduvv7b]
time: 0.029; rss: 292MB llvm function passes [2w6xsa2hbi53xhak]
time: 0.008; rss: 292MB llvm module passes [2w6xsa2hbi53xhak]
time: 1.068; rss: 292MB codegen passes [63mmpc50mjcb0lb]
time: 0.028; rss: 292MB llvm function passes [og01rbiopm1cu8i]
time: 0.012; rss: 292MB llvm module passes [og01rbiopm1cu8i]
time: 0.897; rss: 292MB codegen passes [1aj47m1b0rduvv7b]
time: 0.938; rss: 292MB codegen passes [2w6xsa2hbi53xhak]
time: 0.717; rss: 292MB codegen passes [og01rbiopm1cu8i]
time: 0.069; rss: 293MB llvm function passes [e19kx9t7xhzajfl]
time: 0.010; rss: 293MB llvm module passes [e19kx9t7xhzajfl]
time: 0.368; rss: 293MB llvm function passes [1y16o1qfye96o7m0]
time: 0.116; rss: 293MB llvm module passes [1y16o1qfye96o7m0]
time: 0.021; rss: 293MB llvm function passes [33sllueens23fmze]
time: 0.014; rss: 293MB llvm module passes [33sllueens23fmze]
time: 0.898; rss: 293MB codegen passes [e19kx9t7xhzajfl]
time: 0.029; rss: 294MB llvm function passes [44jzh8v98s38kfp1]
time: 0.009; rss: 294MB llvm module passes [44jzh8v98s38kfp1]
time: 0.662; rss: 294MB codegen passes [33sllueens23fmze]
time: 0.035; rss: 293MB llvm function passes [z9ox7biyn1otfln]
time: 0.010; rss: 293MB llvm module passes [z9ox7biyn1otfln]
time: 0.782; rss: 294MB codegen passes [44jzh8v98s38kfp1]
time: 0.025; rss: 294MB llvm function passes [3vh9336q333cfjhr]
time: 0.011; rss: 294MB llvm module passes [3vh9336q333cfjhr]
time: 0.938; rss: 295MB codegen passes [z9ox7biyn1otfln]
time: 0.620; rss: 295MB codegen passes [3vh9336q333cfjhr]
time: 0.032; rss: 294MB llvm function passes [1a9wsvye4qeh5apm]
time: 0.011; rss: 294MB llvm module passes [1a9wsvye4qeh5apm]
time: 0.035; rss: 296MB llvm function passes [45pc7c65foh9i35f]
time: 0.007; rss: 296MB llvm module passes [45pc7c65foh9i35f]
time: 0.891; rss: 297MB codegen passes [1a9wsvye4qeh5apm]
time: 0.020; rss: 296MB llvm function passes [3ysg602ly0el3m63]
time: 0.007; rss: 296MB llvm module passes [3ysg602ly0el3m63]
time: 0.927; rss: 297MB codegen passes [45pc7c65foh9i35f]
time: 0.029; rss: 296MB llvm function passes [3u743tclnbsnk7zp]
time: 0.020; rss: 296MB llvm module passes [3u743tclnbsnk7zp]
time: 0.692; rss: 297MB codegen passes [3ysg602ly0el3m63]
time: 0.016; rss: 296MB llvm function passes [47dqcamjlp23ma80]
time: 0.005; rss: 296MB llvm module passes [47dqcamjlp23ma80]
time: 0.471; rss: 297MB codegen passes [47dqcamjlp23ma80]
time: 0.018; rss: 297MB llvm function passes [r5omkko2zyx5xap]
time: 0.005; rss: 297MB llvm module passes [r5omkko2zyx5xap]
time: 0.789; rss: 297MB codegen passes [3u743tclnbsnk7zp]
time: 0.016; rss: 296MB llvm function passes [5205e1onhko1v9bb]
time: 0.005; rss: 296MB llvm module passes [5205e1onhko1v9bb]
time: 0.674; rss: 296MB codegen passes [r5omkko2zyx5xap]
time: 0.052; rss: 297MB llvm function passes [3oqznv5oym7l3m4e]
time: 0.013; rss: 297MB llvm module passes [3oqznv5oym7l3m4e]
time: 0.627; rss: 297MB codegen passes [5205e1onhko1v9bb]
time: 0.018; rss: 297MB llvm function passes [1e698527iprj2v8f]
time: 0.006; rss: 297MB llvm module passes [1e698527iprj2v8f]
time: 0.624; rss: 298MB codegen passes [1e698527iprj2v8f]
time: 0.024; rss: 298MB llvm function passes [4j9vzo6uszl0ad8r]
time: 0.006; rss: 298MB llvm module passes [4j9vzo6uszl0ad8r]
time: 0.929; rss: 299MB codegen passes [3oqznv5oym7l3m4e]
time: 0.016; rss: 298MB llvm function passes [2b24hho08cq4aukg]
time: 0.010; rss: 298MB llvm module passes [2b24hho08cq4aukg]
time: 0.446; rss: 298MB codegen passes [2b24hho08cq4aukg]
time: 0.022; rss: 298MB llvm function passes [2jqywn86b2gsqohu]
time: 0.005; rss: 298MB llvm module passes [2jqywn86b2gsqohu]
time: 0.798; rss: 298MB codegen passes [4j9vzo6uszl0ad8r]
time: 0.015; rss: 298MB llvm function passes [4us7tkktbggereb2]
time: 0.005; rss: 298MB llvm module passes [4us7tkktbggereb2]
time: 0.012; rss: 298MB llvm function passes [4b0rseqhn6u1s2ea]
time: 0.004; rss: 298MB llvm module passes [4b0rseqhn6u1s2ea]
time: 0.505; rss: 300MB codegen passes [2jqywn86b2gsqohu]
time: 0.568; rss: 299MB codegen passes [4us7tkktbggereb2]
time: 0.012; rss: 297MB llvm function passes [2v7n9pbfhhkz7toe]
time: 0.004; rss: 297MB llvm module passes [2v7n9pbfhhkz7toe]
time: 0.363; rss: 298MB codegen passes [4b0rseqhn6u1s2ea]
time: 0.012; rss: 298MB llvm function passes [4p9o0qx09p8j383i]
time: 0.002; rss: 298MB llvm module passes [4p9o0qx09p8j383i]
time: 0.241; rss: 299MB codegen passes [2v7n9pbfhhkz7toe]
time: 0.019; rss: 298MB llvm function passes [5f5jc0oo6c9dh2oo]
time: 0.006; rss: 298MB llvm module passes [5f5jc0oo6c9dh2oo]
time: 0.430; rss: 299MB codegen passes [4p9o0qx09p8j383i]
time: 0.022; rss: 299MB llvm function passes [6uqu2rdchdi02t1]
time: 0.006; rss: 299MB llvm module passes [6uqu2rdchdi02t1]
time: 0.434; rss: 299MB codegen passes [5f5jc0oo6c9dh2oo]
time: 0.009; rss: 299MB llvm function passes [v2k8nd5hir4pd8n]
time: 0.004; rss: 299MB llvm module passes [v2k8nd5hir4pd8n]
time: 0.279; rss: 299MB codegen passes [v2k8nd5hir4pd8n]
time: 0.016; rss: 299MB llvm function passes [4j8ah6ajvhc7l0d6]
time: 0.003; rss: 299MB llvm module passes [4j8ah6ajvhc7l0d6]
time: 0.644; rss: 301MB codegen passes [6uqu2rdchdi02t1]
time: 0.010; rss: 300MB llvm function passes [2qttctn0wcix5x2]
time: 0.007; rss: 300MB llvm module passes [2qttctn0wcix5x2]
time: 0.281; rss: 300MB codegen passes [2qttctn0wcix5x2]
time: 0.479; rss: 300MB codegen passes [4j8ah6ajvhc7l0d6]
time: 0.023; rss: 300MB llvm function passes [35a0x8f7rhy3adti]
time: 0.016; rss: 300MB llvm module passes [35a0x8f7rhy3adti]
time: 0.021; rss: 301MB llvm function passes [4vw2nfr4flvkrd36]
time: 0.005; rss: 301MB llvm module passes [4vw2nfr4flvkrd36]
time: 0.698; rss: 302MB codegen passes [35a0x8f7rhy3adti]
time: 0.012; rss: 300MB llvm function passes [1o80id2q0u32107p]
time: 0.004; rss: 300MB llvm module passes [1o80id2q0u32107p]
time: 0.536; rss: 302MB codegen passes [4vw2nfr4flvkrd36]
time: 0.012; rss: 301MB llvm function passes [2monnrckozedkjr1]
time: 0.004; rss: 301MB llvm module passes [2monnrckozedkjr1]
time: 0.310; rss: 301MB codegen passes [1o80id2q0u32107p]
time: 0.011; rss: 301MB llvm function passes [2alhsodu732zefx5]
time: 0.004; rss: 301MB llvm module passes [2alhsodu732zefx5]
time: 0.323; rss: 301MB codegen passes [2monnrckozedkjr1]
time: 0.015; rss: 301MB llvm function passes [4f1paai8aokjf4ti]
time: 0.011; rss: 301MB llvm module passes [4f1paai8aokjf4ti]
time: 0.350; rss: 302MB codegen passes [2alhsodu732zefx5]
time: 0.012; rss: 301MB llvm function passes [kszai26leddh1lg]
time: 0.004; rss: 301MB llvm module passes [kszai26leddh1lg]
time: 0.346; rss: 301MB codegen passes [4f1paai8aokjf4ti]
time: 0.011; rss: 301MB llvm function passes [31e9u5rfx4qypy0b]
time: 0.010; rss: 301MB llvm module passes [31e9u5rfx4qypy0b]
time: 0.380; rss: 301MB codegen passes [kszai26leddh1lg]
time: 0.029; rss: 301MB llvm function passes [4qmekq0j2coeneu7]
time: 0.008; rss: 301MB llvm module passes [4qmekq0j2coeneu7]
time: 0.402; rss: 301MB codegen passes [31e9u5rfx4qypy0b]
time: 0.008; rss: 301MB llvm function passes [5fvsz8m06l59jdgq]
time: 0.005; rss: 301MB llvm module passes [5fvsz8m06l59jdgq]
time: 0.232; rss: 302MB codegen passes [5fvsz8m06l59jdgq]
time: 0.019; rss: 303MB llvm function passes [1fxq14vrn4hmbyv6]
time: 0.006; rss: 303MB llvm module passes [1fxq14vrn4hmbyv6]
time: 0.639; rss: 306MB codegen passes [4qmekq0j2coeneu7]
time: 0.018; rss: 306MB llvm function passes [8xzrsc1ux72v29j]
time: 0.003; rss: 306MB llvm module passes [8xzrsc1ux72v29j]
time: 0.507; rss: 309MB codegen passes [1fxq14vrn4hmbyv6]
time: 0.017; rss: 309MB llvm function passes [4rvqg4qxotbg9oin]
time: 0.003; rss: 309MB llvm module passes [4rvqg4qxotbg9oin]
time: 0.415; rss: 309MB codegen passes [8xzrsc1ux72v29j]
time: 0.009; rss: 309MB llvm function passes [4f5ymw06a6pp6ky8]
time: 0.003; rss: 309MB llvm module passes [4f5ymw06a6pp6ky8]
time: 12.364; rss: 299MB codegen passes [1y16o1qfye96o7m0]
time: 0.227; rss: 298MB codegen passes [4f5ymw06a6pp6ky8]
time: 0.015; rss: 298MB llvm function passes [1xv9cup0b7gi43fd]
time: 0.003; rss: 298MB llvm module passes [1xv9cup0b7gi43fd]
time: 0.440; rss: 298MB codegen passes [4rvqg4qxotbg9oin]
time: 0.009; rss: 297MB llvm function passes [572s75j4mn6jrd9p]
time: 0.009; rss: 298MB llvm module passes [572s75j4mn6jrd9p]
time: 0.007; rss: 298MB llvm function passes [267350d7deu1hz85]
time: 0.002; rss: 298MB llvm module passes [267350d7deu1hz85]
time: 0.357; rss: 298MB codegen passes [1xv9cup0b7gi43fd]
time: 0.008; rss: 296MB llvm function passes [2lyh15q6cjwzy18c]
time: 0.002; rss: 296MB llvm module passes [2lyh15q6cjwzy18c]
time: 0.213; rss: 296MB codegen passes [267350d7deu1hz85]
time: 0.010; rss: 296MB llvm function passes [3ik0x0hz6l66cx38]
time: 0.003; rss: 296MB llvm module passes [3ik0x0hz6l66cx38]
time: 0.383; rss: 296MB codegen passes [572s75j4mn6jrd9p]
time: 0.241; rss: 296MB codegen passes [2lyh15q6cjwzy18c]
time: 0.014; rss: 296MB llvm function passes [4j44pcbpewgm1elw]
time: 0.219; rss: 296MB codegen passes [3ik0x0hz6l66cx38]
time: 0.019; rss: 296MB llvm module passes [4j44pcbpewgm1elw]
time: 0.015; rss: 296MB llvm function passes [43v6g0y2xsxoggnt]
time: 0.003; rss: 296MB llvm module passes [43v6g0y2xsxoggnt]
time: 0.269; rss: 297MB codegen passes [4j44pcbpewgm1elw]
time: 0.009; rss: 297MB llvm function passes [57k06xfugllsc526]
time: 0.003; rss: 296MB llvm module passes [57k06xfugllsc526]
time: 0.008; rss: 296MB llvm function passes [1ryjcgqbxvflkf53]
time: 0.004; rss: 296MB llvm module passes [1ryjcgqbxvflkf53]
time: 0.233; rss: 296MB codegen passes [57k06xfugllsc526]
time: 0.390; rss: 297MB codegen passes [43v6g0y2xsxoggnt]
time: 0.245; rss: 297MB codegen passes [1ryjcgqbxvflkf53]
time: 0.013; rss: 297MB llvm function passes [3rf6apwr5rc5zixx]
time: 0.002; rss: 297MB llvm module passes [3rf6apwr5rc5zixx]
time: 0.014; rss: 298MB llvm function passes [yip03rcxnrfbwoq]
time: 0.002; rss: 298MB llvm module passes [yip03rcxnrfbwoq]
time: 0.310; rss: 298MB codegen passes [3rf6apwr5rc5zixx]
time: 0.009; rss: 297MB llvm function passes [3171x0bwu82dptu7]
time: 0.001; rss: 297MB llvm module passes [3171x0bwu82dptu7]
time: 0.007; rss: 298MB llvm function passes [3i1lvh2a7ywnogc]
time: 0.003; rss: 298MB llvm module passes [3i1lvh2a7ywnogc]
time: 0.303; rss: 298MB codegen passes [yip03rcxnrfbwoq]
time: 0.180; rss: 298MB codegen passes [3171x0bwu82dptu7]
time: 0.184; rss: 297MB codegen passes [3i1lvh2a7ywnogc]
time: 0.010; rss: 297MB llvm function passes [kprgsqsx7ftbhmo]
time: 0.001; rss: 297MB llvm module passes [kprgsqsx7ftbhmo]
time: 0.011; rss: 297MB llvm function passes [48ht9xid9pqidlrb]
time: 0.005; rss: 297MB llvm module passes [48ht9xid9pqidlrb]
time: 0.005; rss: 298MB llvm function passes [19e0lo1q53gb9pi2]
time: 0.003; rss: 298MB llvm module passes [19e0lo1q53gb9pi2]
time: 0.255; rss: 298MB codegen passes [kprgsqsx7ftbhmo]
time: 0.102; rss: 297MB codegen passes [19e0lo1q53gb9pi2]
time: 0.243; rss: 297MB codegen passes [48ht9xid9pqidlrb]
time: 0.012; rss: 297MB llvm function passes [289xy36ov65dlp20]
time: 0.002; rss: 297MB llvm module passes [289xy36ov65dlp20]
time: 0.013; rss: 297MB llvm function passes [3x1tbjhs11z8cd0u]
time: 0.004; rss: 298MB llvm module passes [3x1tbjhs11z8cd0u]
time: 0.301; rss: 298MB codegen passes [289xy36ov65dlp20]
time: 0.006; rss: 297MB llvm function passes [1s3socv0drccut20]
time: 0.002; rss: 297MB llvm module passes [1s3socv0drccut20]
time: 0.004; rss: 297MB llvm function passes [3u0ivuk8dvjdh8cj]
time: 0.002; rss: 297MB llvm module passes [3u0ivuk8dvjdh8cj]
time: 0.172; rss: 297MB codegen passes [1s3socv0drccut20]
time: 0.008; rss: 295MB llvm function passes [2ceiqq9qy0zs723u]
time: 0.010; rss: 296MB llvm module passes [2ceiqq9qy0zs723u]
time: 0.169; rss: 296MB codegen passes [3u0ivuk8dvjdh8cj]
time: 0.004; rss: 296MB llvm function passes [y08g5q2x813c4wx]
time: 0.002; rss: 296MB llvm module passes [y08g5q2x813c4wx]
time: 0.335; rss: 297MB codegen passes [3x1tbjhs11z8cd0u]
time: 0.007; rss: 296MB llvm function passes [2oiwwqohid6mabhc]
time: 0.002; rss: 296MB llvm module passes [2oiwwqohid6mabhc]
time: 0.123; rss: 296MB codegen passes [y08g5q2x813c4wx]
time: 0.005; rss: 296MB llvm function passes [2ukjh4ph10y7sc82]
time: 0.003; rss: 296MB llvm module passes [2ukjh4ph10y7sc82]
time: 0.222; rss: 296MB codegen passes [2ceiqq9qy0zs723u]
time: 0.004; rss: 296MB llvm function passes [28sq7p7uykf2zhlc]
time: 0.001; rss: 296MB llvm module passes [28sq7p7uykf2zhlc]
time: 0.170; rss: 296MB codegen passes [2oiwwqohid6mabhc]
time: 0.004; rss: 296MB llvm function passes [1o6b1la7g4jnv39b]
time: 0.001; rss: 296MB llvm module passes [1o6b1la7g4jnv39b]
time: 0.119; rss: 296MB codegen passes [2ukjh4ph10y7sc82]
time: 0.101; rss: 296MB codegen passes [28sq7p7uykf2zhlc]
time: 0.117; rss: 296MB codegen passes [1o6b1la7g4jnv39b]
time: 0.015; rss: 296MB llvm function passes [1wkh8r5el29kjnma]
time: 0.004; rss: 296MB llvm module passes [1wkh8r5el29kjnma]
time: 0.006; rss: 296MB llvm function passes [34gja0vt8q8p9eh6]
time: 0.002; rss: 296MB llvm module passes [34gja0vt8q8p9eh6]
time: 0.005; rss: 296MB llvm function passes [12ywmngkctbmushu]
time: 0.008; rss: 296MB llvm module passes [12ywmngkctbmushu]
time: 0.189; rss: 296MB codegen passes [34gja0vt8q8p9eh6]
time: 0.128; rss: 296MB codegen passes [12ywmngkctbmushu]
time: 0.003; rss: 297MB llvm function passes [1yxxal7dd9sxauzd]
time: 0.004; rss: 297MB llvm function passes [1bcqsa22wu6fdxi6]
time: 0.001; rss: 297MB llvm module passes [1yxxal7dd9sxauzd]
time: 0.003; rss: 297MB llvm module passes [1bcqsa22wu6fdxi6]
time: 0.360; rss: 297MB codegen passes [1wkh8r5el29kjnma]
time: 0.090; rss: 297MB codegen passes [1yxxal7dd9sxauzd]
time: 0.092; rss: 298MB codegen passes [1bcqsa22wu6fdxi6]
time: 0.010; rss: 297MB llvm function passes [20bfk39k58yisku1]
time: 0.002; rss: 297MB llvm module passes [20bfk39k58yisku1]
time: 0.004; rss: 297MB llvm function passes [5e84sgrgxzlsvt5t]
time: 0.001; rss: 297MB llvm module passes [5e84sgrgxzlsvt5t]
time: 0.002; rss: 297MB llvm function passes [436dotimmrgzkwfa]
time: 0.001; rss: 297MB llvm module passes [436dotimmrgzkwfa]
time: 0.049; rss: 297MB codegen passes [436dotimmrgzkwfa]
time: 0.100; rss: 297MB codegen passes [20bfk39k58yisku1]
time: 0.112; rss: 297MB codegen passes [5e84sgrgxzlsvt5t]
time: 0.007; rss: 297MB llvm function passes [20hjq3d7blas6wvx]
time: 0.003; rss: 297MB llvm module passes [20hjq3d7blas6wvx]
time: 0.006; rss: 297MB llvm function passes [1zlxkqmuhdjcaqn9]
time: 0.002; rss: 297MB llvm module passes [1zlxkqmuhdjcaqn9]
time: 0.155; rss: 297MB codegen passes [20hjq3d7blas6wvx]
time: 0.006; rss: 297MB llvm function passes [4iwxvmwbimr9bl6u]
time: 0.002; rss: 297MB llvm module passes [4iwxvmwbimr9bl6u]
time: 0.165; rss: 297MB codegen passes [1zlxkqmuhdjcaqn9]
time: 0.148; rss: 297MB codegen passes [4iwxvmwbimr9bl6u]
time: 0.010; rss: 297MB llvm function passes [3cel4qymbplfewfp]
time: 0.002; rss: 297MB llvm module passes [3cel4qymbplfewfp]
time: 0.009; rss: 297MB llvm function passes [572bgozz9kcwe4zq]
time: 0.003; rss: 297MB llvm module passes [572bgozz9kcwe4zq]
time: 0.003; rss: 297MB llvm function passes [98g0d9x8aw3akpe]
time: 0.003; rss: 297MB llvm module passes [98g0d9x8aw3akpe]
time: 0.259; rss: 297MB codegen passes [3cel4qymbplfewfp]
time: 0.097; rss: 297MB codegen passes [98g0d9x8aw3akpe]
time: 0.004; rss: 297MB llvm function passes [181cuta0v63atwcm]
time: 0.002; rss: 297MB llvm module passes [181cuta0v63atwcm]
time: 0.005; rss: 297MB llvm function passes [27xbs82n02ulns8n]
time: 0.001; rss: 297MB llvm module passes [27xbs82n02ulns8n]
time: 0.105; rss: 297MB codegen passes [181cuta0v63atwcm]
time: 0.245; rss: 297MB codegen passes [572bgozz9kcwe4zq]
time: 0.108; rss: 297MB codegen passes [27xbs82n02ulns8n]
time: 0.009; rss: 297MB llvm function passes [3ie3saambav68y3n]
time: 0.002; rss: 297MB llvm module passes [3ie3saambav68y3n]
time: 0.005; rss: 297MB llvm function passes [9o8voqb7wlciui8]
time: 0.001; rss: 297MB llvm module passes [9o8voqb7wlciui8]
time: 0.111; rss: 297MB codegen passes [9o8voqb7wlciui8]
time: 0.008; rss: 297MB llvm function passes [xxt6r8bujknjejo]
time: 0.002; rss: 297MB llvm module passes [xxt6r8bujknjejo]
time: 0.239; rss: 298MB codegen passes [3ie3saambav68y3n]
time: 0.182; rss: 297MB codegen passes [xxt6r8bujknjejo]
time: 0.008; rss: 298MB llvm function passes [55bitd67cfmwsmcr]
time: 0.001; rss: 298MB llvm module passes [55bitd67cfmwsmcr]
time: 0.005; rss: 298MB llvm function passes [5a7agjq4x6w85db7]
time: 0.003; rss: 298MB llvm module passes [5a7agjq4x6w85db7]
time: 0.020; rss: 298MB llvm function passes [3hfnnvlph5ozv32c]
time: 0.001; rss: 298MB llvm module passes [3hfnnvlph5ozv32c]
time: 0.126; rss: 298MB codegen passes [5a7agjq4x6w85db7]
time: 0.003; rss: 298MB llvm function passes [1cbkk1ulraumk09l]
time: 0.001; rss: 298MB llvm module passes [1cbkk1ulraumk09l]
time: 0.111; rss: 298MB codegen passes [3hfnnvlph5ozv32c]
time: 0.202; rss: 298MB codegen passes [55bitd67cfmwsmcr]
time: 0.007; rss: 298MB llvm function passes [4eq62wcb8nn7c66a]
time: 0.002; rss: 298MB llvm module passes [4eq62wcb8nn7c66a]
time: 0.003; rss: 298MB llvm function passes [3q34xpb5kw6a1q3u]
time: 0.004; rss: 298MB llvm module passes [3q34xpb5kw6a1q3u]
time: 0.100; rss: 298MB codegen passes [1cbkk1ulraumk09l]
time: 0.004; rss: 298MB llvm function passes [3guvv8qofnub2kgz]
time: 0.001; rss: 298MB llvm module passes [3guvv8qofnub2kgz]
time: 0.079; rss: 298MB codegen passes [3q34xpb5kw6a1q3u]
time: 0.003; rss: 297MB llvm function passes [fep3y2ztm7a7e6t]
time: 0.001; rss: 297MB llvm module passes [fep3y2ztm7a7e6t]
time: 0.162; rss: 297MB codegen passes [4eq62wcb8nn7c66a]
time: 0.005; rss: 297MB llvm function passes [4sw9hz7i7fiueihz]
time: 0.113; rss: 297MB codegen passes [3guvv8qofnub2kgz]
time: 0.001; rss: 297MB llvm module passes [4sw9hz7i7fiueihz]
time: 0.102; rss: 297MB codegen passes [fep3y2ztm7a7e6t]
time: 0.004; rss: 297MB llvm function passes [2unz9jvcwexn6tgu]
time: 0.001; rss: 297MB llvm module passes [2unz9jvcwexn6tgu]
time: 0.002; rss: 297MB llvm function passes [4f95cjyhxcjrjbkp]
time: 0.001; rss: 297MB llvm module passes [4f95cjyhxcjrjbkp]
time: 0.151; rss: 297MB codegen passes [4sw9hz7i7fiueihz]
time: 0.054; rss: 297MB codegen passes [4f95cjyhxcjrjbkp]
time: 0.104; rss: 297MB codegen passes [2unz9jvcwexn6tgu]
time: 0.006; rss: 297MB llvm function passes [1fc09ypj0i2nuif5]
time: 0.002; rss: 297MB llvm module passes [1fc09ypj0i2nuif5]
time: 0.002; rss: 297MB llvm function passes [4a6dgwgsyclvnmy1]
time: 0.001; rss: 297MB llvm module passes [4a6dgwgsyclvnmy1]
time: 0.004; rss: 297MB llvm function passes [4xuhwz5yy6q4gvgg]
time: 0.045; rss: 297MB codegen passes [4a6dgwgsyclvnmy1]
time: 0.002; rss: 297MB llvm module passes [4xuhwz5yy6q4gvgg]
time: 0.155; rss: 297MB codegen passes [1fc09ypj0i2nuif5]
time: 0.109; rss: 297MB codegen passes [4xuhwz5yy6q4gvgg]
time: 0.010; rss: 297MB llvm function passes [3wi52k84jaobqvok]
time: 0.001; rss: 297MB llvm module passes [3wi52k84jaobqvok]
time: 0.003; rss: 297MB llvm function passes [28bq1dj995ggw8bg]
time: 0.001; rss: 297MB llvm module passes [28bq1dj995ggw8bg]
time: 0.083; rss: 297MB codegen passes [28bq1dj995ggw8bg]
time: 0.007; rss: 298MB llvm function passes [39ncfjxmuxsnvefn]
time: 0.001; rss: 298MB llvm module passes [39ncfjxmuxsnvefn]
time: 0.218; rss: 298MB codegen passes [3wi52k84jaobqvok]
time: 0.007; rss: 298MB llvm function passes [ukufkol9vvsetmp]
time: 0.002; rss: 298MB llvm module passes [ukufkol9vvsetmp]
time: 0.152; rss: 298MB codegen passes [39ncfjxmuxsnvefn]
time: 0.003; rss: 298MB llvm function passes [3v2ylmkburu2dlnw]
time: 0.001; rss: 298MB llvm module passes [3v2ylmkburu2dlnw]
time: 0.004; rss: 298MB llvm function passes [c6lbtaiefvx3wya]
time: 0.002; rss: 298MB llvm module passes [c6lbtaiefvx3wya]
time: 0.069; rss: 298MB codegen passes [3v2ylmkburu2dlnw]
time: 0.001; rss: 298MB llvm function passes [1y9pk6a2vlv6am7n]
time: 0.001; rss: 298MB llvm module passes [1y9pk6a2vlv6am7n]
time: 0.158; rss: 298MB codegen passes [ukufkol9vvsetmp]
time: 0.069; rss: 297MB codegen passes [1y9pk6a2vlv6am7n]
time: 0.137; rss: 297MB codegen passes [c6lbtaiefvx3wya]
time: 0.008; rss: 297MB llvm function passes [10c11n9bbq0xxbke]
time: 0.001; rss: 297MB llvm module passes [10c11n9bbq0xxbke]
time: 0.003; rss: 297MB llvm function passes [d6p2df93qm1h3gm]
time: 0.001; rss: 297MB llvm module passes [d6p2df93qm1h3gm]
time: 0.054; rss: 298MB codegen passes [d6p2df93qm1h3gm]
time: 0.003; rss: 298MB llvm function passes [5c7at1lpj4vdl9ay]
time: 0.001; rss: 298MB llvm module passes [5c7at1lpj4vdl9ay]
time: 0.003; rss: 298MB llvm function passes [21fp79fdakrpxgtz]
time: 0.001; rss: 298MB llvm module passes [21fp79fdakrpxgtz]
time: 0.187; rss: 298MB codegen passes [10c11n9bbq0xxbke]
time: 0.087; rss: 298MB codegen passes [5c7at1lpj4vdl9ay]
time: 0.077; rss: 298MB codegen passes [21fp79fdakrpxgtz]
time: 0.006; rss: 298MB llvm function passes [3krdx1uunvj0cqf0]
time: 0.001; rss: 298MB llvm module passes [3krdx1uunvj0cqf0]
time: 0.003; rss: 298MB llvm function passes [2b80ew7dd0x1f55k]
time: 0.001; rss: 298MB llvm module passes [2b80ew7dd0x1f55k]
time: 0.002; rss: 298MB llvm function passes [281z0bsdmcy5ob88]
time: 0.001; rss: 298MB llvm module passes [281z0bsdmcy5ob88]
time: 0.079; rss: 298MB codegen passes [2b80ew7dd0x1f55k]
time: 0.002; rss: 298MB llvm function passes [j88x78foflefssm]
time: 0.001; rss: 298MB llvm module passes [j88x78foflefssm]
time: 0.057; rss: 298MB codegen passes [281z0bsdmcy5ob88]
time: 0.003; rss: 298MB llvm function passes [4kn420pr0tn0z18x]
time: 0.001; rss: 298MB llvm module passes [4kn420pr0tn0z18x]
time: 0.125; rss: 298MB codegen passes [3krdx1uunvj0cqf0]
time: 0.003; rss: 298MB llvm function passes [2k5e5e3lnqi2lghs]
time: 0.001; rss: 298MB llvm module passes [2k5e5e3lnqi2lghs]
time: 0.071; rss: 298MB codegen passes [j88x78foflefssm]
time: 0.003; rss: 298MB llvm function passes [4sel3pbs0q0za62o]
time: 0.002; rss: 298MB llvm module passes [4sel3pbs0q0za62o]
time: 0.073; rss: 298MB codegen passes [4kn420pr0tn0z18x]
time: 0.003; rss: 298MB llvm function passes [2lch9qtnw21euqm6]
time: 0.001; rss: 298MB llvm module passes [2lch9qtnw21euqm6]
time: 0.082; rss: 298MB codegen passes [2k5e5e3lnqi2lghs]
time: 0.002; rss: 298MB llvm function passes [3g94tobrpgum5dk6]
time: 0.001; rss: 298MB llvm module passes [3g94tobrpgum5dk6]
time: 0.083; rss: 298MB codegen passes [4sel3pbs0q0za62o]
time: 0.002; rss: 298MB llvm function passes [4c92ilerwslsd6a]
time: 0.001; rss: 298MB llvm module passes [4c92ilerwslsd6a]
time: 0.056; rss: 298MB codegen passes [3g94tobrpgum5dk6]
time: 0.089; rss: 298MB codegen passes [2lch9qtnw21euqm6]
time: 0.054; rss: 298MB codegen passes [4c92ilerwslsd6a]
time: 0.007; rss: 298MB llvm function passes [58obdilhk3rtglcy]
time: 0.001; rss: 298MB llvm module passes [58obdilhk3rtglcy]
time: 0.001; rss: 298MB llvm function passes [254v2mmh2l0pl4a]
time: 0.001; rss: 298MB llvm module passes [254v2mmh2l0pl4a]
time: 0.034; rss: 298MB codegen passes [254v2mmh2l0pl4a]
time: 0.003; rss: 298MB llvm function passes [2rxh8qma2qd26e60]
time: 0.001; rss: 298MB llvm module passes [2rxh8qma2qd26e60]
time: 0.002; rss: 298MB llvm function passes [3iwq3wvme2u0mr3y]
time: 0.001; rss: 298MB llvm module passes [3iwq3wvme2u0mr3y]
time: 0.048; rss: 298MB codegen passes [3iwq3wvme2u0mr3y]
time: 0.002; rss: 298MB llvm function passes [4rzh6npf1tuwcxx9]
time: 0.001; rss: 298MB llvm module passes [4rzh6npf1tuwcxx9]
time: 0.094; rss: 298MB codegen passes [2rxh8qma2qd26e60]
time: 0.051; rss: 298MB codegen passes [4rzh6npf1tuwcxx9]
time: 0.205; rss: 298MB codegen passes [58obdilhk3rtglcy]
time: 0.007; rss: 298MB llvm function passes [2gkuzypc3u1itz1n]
time: 0.001; rss: 298MB llvm module passes [2gkuzypc3u1itz1n]
time: 0.002; rss: 298MB llvm function passes [48721dc4k5qxei0u]
time: 0.001; rss: 298MB llvm module passes [48721dc4k5qxei0u]
time: 0.001; rss: 298MB llvm function passes [48e1hrx7a3wsxlv1]
time: 0.001; rss: 298MB llvm module passes [48e1hrx7a3wsxlv1]
time: 0.048; rss: 298MB codegen passes [48721dc4k5qxei0u]
time: 0.040; rss: 298MB codegen passes [48e1hrx7a3wsxlv1]
time: 0.002; rss: 298MB llvm function passes [51s1w397y42gpez1]
time: 0.001; rss: 298MB llvm module passes [51s1w397y42gpez1]
time: 0.002; rss: 298MB llvm function passes [2qhkzqx5zqexj20y]
time: 0.001; rss: 298MB llvm module passes [2qhkzqx5zqexj20y]
time: 0.038; rss: 298MB codegen passes [2qhkzqx5zqexj20y]
time: 0.042; rss: 298MB codegen passes [51s1w397y42gpez1]
time: 0.157; rss: 298MB codegen passes [2gkuzypc3u1itz1n]
time: 0.008; rss: 298MB llvm function passes [4zzb98ievhs5qgf9]
time: 0.001; rss: 298MB llvm module passes [4zzb98ievhs5qgf9]
time: 0.003; rss: 298MB llvm function passes [52ddc7y99ux3gcvb]
time: 0.003; rss: 298MB llvm module passes [52ddc7y99ux3gcvb]
time: 0.002; rss: 298MB llvm function passes [1jnlhyxj59jycbjv]
time: 0.002; rss: 298MB llvm module passes [1jnlhyxj59jycbjv]
time: 0.049; rss: 298MB codegen passes [1jnlhyxj59jycbjv]
time: 0.002; rss: 298MB llvm function passes [4d5b7slbdk5lqa6o]
time: 0.001; rss: 298MB llvm module passes [4d5b7slbdk5lqa6o]
time: 0.085; rss: 298MB codegen passes [52ddc7y99ux3gcvb]
time: 0.002; rss: 298MB llvm function passes [mc6hgequk6elf30]
time: 0.001; rss: 298MB llvm module passes [mc6hgequk6elf30]
time: 0.160; rss: 298MB codegen passes [4zzb98ievhs5qgf9]
time: 0.058; rss: 298MB codegen passes [4d5b7slbdk5lqa6o]
time: 0.049; rss: 298MB codegen passes [mc6hgequk6elf30]
time: 0.008; rss: 298MB llvm function passes [38ps4pa181wsnsy9]
time: 0.001; rss: 298MB llvm function passes [452sz8czbye6005z]
time: 0.001; rss: 298MB llvm module passes [38ps4pa181wsnsy9]
time: 0.001; rss: 298MB llvm module passes [452sz8czbye6005z]
time: 0.002; rss: 298MB llvm function passes [40slw9fy48obg631]
time: 0.001; rss: 298MB llvm module passes [40slw9fy48obg631]
time: 0.038; rss: 298MB codegen passes [452sz8czbye6005z]
time: 0.037; rss: 298MB codegen passes [40slw9fy48obg631]
time: 0.004; rss: 298MB llvm function passes [mb501chi8fnqgmm]
time: 0.001; rss: 298MB llvm module passes [mb501chi8fnqgmm]
time: 0.001; rss: 298MB llvm function passes [1um484vjuu3ha50h]
time: 0.000; rss: 298MB llvm module passes [1um484vjuu3ha50h]
time: 0.002; rss: 298MB llvm function passes [2v8w73vzu6yvld98]
time: 0.002; rss: 298MB llvm module passes [2v8w73vzu6yvld98]
time: 0.041; rss: 298MB codegen passes [1um484vjuu3ha50h]
time: 0.069; rss: 298MB codegen passes [mb501chi8fnqgmm]
time: 0.001; rss: 298MB llvm function passes [2zkily7g6ekg7qb6]
time: 0.001; rss: 298MB llvm module passes [2zkily7g6ekg7qb6]
time: 0.052; rss: 298MB codegen passes [2v8w73vzu6yvld98]
time: 0.001; rss: 298MB llvm function passes [2xnvmuhjbhd7vxcm]
time: 0.001; rss: 298MB llvm module passes [2xnvmuhjbhd7vxcm]
time: 0.033; rss: 298MB codegen passes [2zkily7g6ekg7qb6]
time: 0.003; rss: 298MB llvm function passes [1kduva7sc7em934m]
time: 0.161; rss: 298MB codegen passes [38ps4pa181wsnsy9]
time: 0.002; rss: 298MB llvm module passes [1kduva7sc7em934m]
time: 0.032; rss: 298MB codegen passes [2xnvmuhjbhd7vxcm]
time: 0.080; rss: 298MB codegen passes [1kduva7sc7em934m]
time: 0.011; rss: 298MB llvm function passes [8n5lnckn5hfrxm0]
time: 0.001; rss: 298MB llvm module passes [8n5lnckn5hfrxm0]
time: 0.002; rss: 298MB llvm function passes [4xq48u46a1pwiqn7]
time: 0.001; rss: 298MB llvm module passes [4xq48u46a1pwiqn7]
time: 0.001; rss: 298MB llvm function passes [4duuwqmycme546tx]
time: 0.001; rss: 298MB llvm module passes [4duuwqmycme546tx]
time: 0.036; rss: 298MB codegen passes [4duuwqmycme546tx]
time: 0.058; rss: 298MB codegen passes [4xq48u46a1pwiqn7]
time: 0.001; rss: 298MB llvm function passes [3n00wdv0cc9xhmhc]
time: 0.001; rss: 298MB llvm module passes [3n00wdv0cc9xhmhc]
time: 0.004; rss: 298MB llvm function passes [55ezy8i7h0n87k30]
time: 0.001; rss: 298MB llvm module passes [55ezy8i7h0n87k30]
time: 0.040; rss: 298MB codegen passes [3n00wdv0cc9xhmhc]
time: 0.082; rss: 298MB codegen passes [55ezy8i7h0n87k30]
time: 0.229; rss: 299MB codegen passes [8n5lnckn5hfrxm0]
time: 0.007; rss: 298MB llvm function passes [4evzkpljbt9iq1pm]
time: 0.001; rss: 298MB llvm module passes [4evzkpljbt9iq1pm]
time: 0.004; rss: 298MB llvm function passes [10ljsns07zxfhirc]
time: 0.003; rss: 298MB llvm module passes [10ljsns07zxfhirc]
time: 0.001; rss: 298MB llvm function passes [243kyvh9tdawdzh4]
time: 0.000; rss: 298MB llvm module passes [243kyvh9tdawdzh4]
time: 0.023; rss: 298MB codegen passes [243kyvh9tdawdzh4]
time: 0.133; rss: 298MB codegen passes [4evzkpljbt9iq1pm]
time: 0.003; rss: 298MB llvm function passes [56dly8q07ws8ucdq]
time: 0.001; rss: 298MB llvm module passes [56dly8q07ws8ucdq]
time: 0.087; rss: 298MB codegen passes [10ljsns07zxfhirc]
time: 0.003; rss: 298MB llvm function passes [33hbbtmmc0jr14rx]
time: 0.059; rss: 298MB codegen passes [56dly8q07ws8ucdq]
time: 0.001; rss: 298MB llvm module passes [33hbbtmmc0jr14rx]
time: 0.002; rss: 298MB llvm function passes [50aolrukvb727mli]
time: 0.001; rss: 298MB llvm module passes [50aolrukvb727mli]
time: 0.001; rss: 298MB llvm function passes [nnkp0md22vsaj3o]
time: 0.001; rss: 298MB llvm module passes [nnkp0md22vsaj3o]
time: 0.069; rss: 298MB codegen passes [33hbbtmmc0jr14rx]
time: 0.047; rss: 298MB codegen passes [50aolrukvb727mli]
time: 0.001; rss: 298MB llvm function passes [23tqyymcb18u96mb]
time: 0.001; rss: 298MB llvm module passes [23tqyymcb18u96mb]
time: 0.053; rss: 298MB codegen passes [nnkp0md22vsaj3o]
time: 0.024; rss: 298MB codegen passes [23tqyymcb18u96mb]
time: 0.005; rss: 298MB llvm function passes [24oq00rw7yn5nukv]
time: 0.001; rss: 298MB llvm module passes [24oq00rw7yn5nukv]
time: 0.001; rss: 298MB llvm function passes [3rngp6bm2u2q5z0y]
time: 0.001; rss: 298MB llvm module passes [3rngp6bm2u2q5z0y]
time: 0.001; rss: 298MB llvm function passes [3upnvjl30cozukpz]
time: 0.001; rss: 298MB llvm module passes [3upnvjl30cozukpz]
time: 0.027; rss: 298MB codegen passes [3upnvjl30cozukpz]
time: 0.039; rss: 298MB codegen passes [3rngp6bm2u2q5z0y]
time: 0.001; rss: 298MB llvm function passes [5f84i8pq0tllacpi]
time: 0.002; rss: 298MB llvm function passes [1vut2eft6nlujjxr]
time: 0.001; rss: 298MB llvm module passes [5f84i8pq0tllacpi]
time: 0.001; rss: 298MB llvm module passes [1vut2eft6nlujjxr]
time: 0.030; rss: 298MB codegen passes [5f84i8pq0tllacpi]
time: 0.002; rss: 298MB llvm function passes [g4vv0270pdgumyv]
time: 0.001; rss: 298MB llvm module passes [g4vv0270pdgumyv]
time: 0.046; rss: 298MB codegen passes [1vut2eft6nlujjxr]
time: 0.001; rss: 298MB llvm function passes [1q4fuxrivb5plqy2]
time: 0.001; rss: 298MB llvm module passes [1q4fuxrivb5plqy2]
time: 0.147; rss: 298MB codegen passes [24oq00rw7yn5nukv]
time: 0.048; rss: 298MB codegen passes [g4vv0270pdgumyv]
time: 0.002; rss: 298MB llvm function passes [2lmd7lkv2gkwgchh]
time: 0.001; rss: 298MB llvm module passes [2lmd7lkv2gkwgchh]
time: 0.044; rss: 298MB codegen passes [1q4fuxrivb5plqy2]
time: 0.050; rss: 298MB codegen passes [2lmd7lkv2gkwgchh]
time: 0.005; rss: 298MB llvm function passes [38tak1by0gyw3xru]
time: 0.001; rss: 298MB llvm module passes [38tak1by0gyw3xru]
time: 0.002; rss: 298MB llvm function passes [5beqqbexwb143v6a]
time: 0.001; rss: 298MB llvm module passes [5beqqbexwb143v6a]
time: 0.042; rss: 298MB codegen passes [5beqqbexwb143v6a]
time: 0.003; rss: 298MB llvm function passes [3m9jlb8iw20nkgi3]
time: 0.001; rss: 298MB llvm module passes [3m9jlb8iw20nkgi3]
time: 0.001; rss: 298MB llvm function passes [3o3fsnotfg98ognz]
time: 0.001; rss: 298MB llvm module passes [3o3fsnotfg98ognz]
time: 0.093; rss: 298MB codegen passes [38tak1by0gyw3xru]
time: 0.001; rss: 298MB llvm function passes [4bh7qn98hnyxv8ix]
time: 0.001; rss: 298MB llvm module passes [4bh7qn98hnyxv8ix]
time: 0.028; rss: 298MB codegen passes [3o3fsnotfg98ognz]
time: 0.028; rss: 298MB codegen passes [4bh7qn98hnyxv8ix]
time: 0.061; rss: 298MB codegen passes [3m9jlb8iw20nkgi3]
time: 0.007; rss: 298MB llvm function passes [4bwka44cn8t3u4h3]
time: 0.001; rss: 298MB llvm module passes [4bwka44cn8t3u4h3]
time: 0.003; rss: 298MB llvm function passes [4wvz8rvm44h2209w]
time: 0.001; rss: 298MB llvm module passes [4wvz8rvm44h2209w]
time: 0.001; rss: 298MB llvm function passes [mz7vgmcf23rofcc]
time: 0.001; rss: 298MB llvm module passes [mz7vgmcf23rofcc]
time: 0.034; rss: 298MB codegen passes [mz7vgmcf23rofcc]
time: 0.064; rss: 298MB codegen passes [4wvz8rvm44h2209w]
time: 0.145; rss: 298MB codegen passes [4bwka44cn8t3u4h3]
time: 0.001; rss: 298MB llvm function passes [1k0skm6dn0tige6a]
time: 0.000; rss: 298MB llvm module passes [1k0skm6dn0tige6a]
time: 0.007; rss: 298MB llvm function passes [wlsuvuni7urb6of]
time: 0.001; rss: 298MB llvm module passes [wlsuvuni7urb6of]
time: 0.020; rss: 298MB codegen passes [1k0skm6dn0tige6a]
time: 0.002; rss: 298MB llvm function passes [3ldk0i2zxftngav8]
time: 0.001; rss: 298MB llvm module passes [3ldk0i2zxftngav8]
time: 0.002; rss: 298MB llvm function passes [49qmpuk8w1opmi5q]
time: 0.001; rss: 298MB llvm module passes [49qmpuk8w1opmi5q]
time: 0.042; rss: 298MB codegen passes [3ldk0i2zxftngav8]
time: 0.002; rss: 298MB llvm function passes [5fb90dmb0en1xs9h]
time: 0.001; rss: 298MB llvm module passes [5fb90dmb0en1xs9h]
time: 0.050; rss: 298MB codegen passes [49qmpuk8w1opmi5q]
time: 0.003; rss: 298MB llvm function passes [5omsdfxl4lpypz2]
time: 0.001; rss: 298MB llvm module passes [5omsdfxl4lpypz2]
time: 0.055; rss: 298MB codegen passes [5fb90dmb0en1xs9h]
time: 0.146; rss: 298MB codegen passes [wlsuvuni7urb6of]
time: 0.001; rss: 298MB llvm function passes [4p7rndqhoioh88q2]
time: 0.001; rss: 298MB llvm module passes [4p7rndqhoioh88q2]
time: 0.035; rss: 298MB codegen passes [4p7rndqhoioh88q2]
time: 0.096; rss: 298MB codegen passes [5omsdfxl4lpypz2]
time: 0.004; rss: 298MB llvm function passes [4r50uh0pzylr3pak]
time: 0.001; rss: 298MB llvm module passes [4r50uh0pzylr3pak]
time: 0.088; rss: 298MB codegen passes [4r50uh0pzylr3pak]
time: 0.004; rss: 298MB llvm function passes [4umw6mrogxnyzdcs]
time: 0.001; rss: 298MB llvm module passes [4umw6mrogxnyzdcs]
time: 0.001; rss: 298MB llvm function passes [17erb31xn70viq4b]
time: 0.001; rss: 298MB llvm module passes [17erb31xn70viq4b]
time: 0.001; rss: 298MB llvm function passes [184d329tddhoqyjv]
time: 0.001; rss: 298MB llvm module passes [184d329tddhoqyjv]
time: 0.031; rss: 298MB codegen passes [17erb31xn70viq4b]
time: 0.001; rss: 298MB llvm function passes [1e4bmjbiko963ark]
time: 0.001; rss: 298MB llvm module passes [1e4bmjbiko963ark]
time: 0.028; rss: 298MB codegen passes [184d329tddhoqyjv]
time: 0.029; rss: 298MB codegen passes [1e4bmjbiko963ark]
time: 0.093; rss: 298MB codegen passes [4umw6mrogxnyzdcs]
time: 0.002; rss: 298MB llvm function passes [1ygj72qs8o1veaeq]
time: 0.001; rss: 298MB llvm module passes [1ygj72qs8o1veaeq]
time: 0.001; rss: 298MB llvm function passes [2yf0izvq9wmxs9a5]
time: 0.001; rss: 298MB llvm module passes [2yf0izvq9wmxs9a5]
time: 0.001; rss: 298MB llvm function passes [3l7raohhiozlwsbz]
time: 0.001; rss: 298MB llvm module passes [3l7raohhiozlwsbz]
time: 0.025; rss: 298MB codegen passes [2yf0izvq9wmxs9a5]
time: 0.042; rss: 298MB codegen passes [1ygj72qs8o1veaeq]
time: 0.027; rss: 298MB codegen passes [3l7raohhiozlwsbz]
time: 0.001; rss: 298MB llvm function passes [jbcqvwaq3mnqbg3]
time: 0.000; rss: 298MB llvm module passes [jbcqvwaq3mnqbg3]
time: 0.001; rss: 298MB llvm function passes [xpmnhrswrwqect6]
time: 0.001; rss: 298MB llvm module passes [xpmnhrswrwqect6]
time: 0.001; rss: 298MB llvm function passes [15kq92zzbmxot4k9]
time: 0.001; rss: 298MB llvm module passes [15kq92zzbmxot4k9]
time: 0.036; rss: 298MB codegen passes [jbcqvwaq3mnqbg3]
time: 0.030; rss: 298MB codegen passes [xpmnhrswrwqect6]
time: 0.030; rss: 298MB codegen passes [15kq92zzbmxot4k9]
time: 0.007; rss: 298MB llvm function passes [5b1vh7iwaxrgdt9b]
time: 0.001; rss: 298MB llvm module passes [5b1vh7iwaxrgdt9b]
time: 0.001; rss: 298MB llvm function passes [180g2xq91idx094l]
time: 0.001; rss: 298MB llvm module passes [180g2xq91idx094l]
time: 0.001; rss: 298MB llvm function passes [19rokj29ksdl0eq2]
time: 0.001; rss: 298MB llvm module passes [19rokj29ksdl0eq2]
time: 0.021; rss: 298MB codegen passes [19rokj29ksdl0eq2]
time: 0.036; rss: 298MB codegen passes [180g2xq91idx094l]
time: 0.001; rss: 298MB llvm function passes [42f6vhrycid75ydu]
time: 0.001; rss: 298MB llvm function passes [46wi7y51giegmklo]
time: 0.001; rss: 298MB llvm module passes [42f6vhrycid75ydu]
time: 0.001; rss: 298MB llvm module passes [46wi7y51giegmklo]
time: 0.001; rss: 298MB llvm function passes [sd3ak9f4uaqbrdw]
time: 0.001; rss: 298MB llvm module passes [sd3ak9f4uaqbrdw]
time: 0.027; rss: 298MB codegen passes [42f6vhrycid75ydu]
time: 0.001; rss: 298MB llvm function passes [25hsgddnxdtr7jwt]
time: 0.001; rss: 298MB llvm module passes [25hsgddnxdtr7jwt]
time: 0.039; rss: 298MB codegen passes [46wi7y51giegmklo]
time: 0.129; rss: 298MB codegen passes [5b1vh7iwaxrgdt9b]
time: 0.021; rss: 298MB codegen passes [25hsgddnxdtr7jwt]
time: 0.045; rss: 298MB codegen passes [sd3ak9f4uaqbrdw]
time: 0.001; rss: 298MB llvm function passes [3hqog9w8xm9yaq16]
time: 0.001; rss: 298MB llvm function passes [1dqvxks6k2bzkxe]
time: 0.001; rss: 298MB llvm module passes [1dqvxks6k2bzkxe]
time: 0.019; rss: 298MB llvm module passes [3hqog9w8xm9yaq16]
time: 0.001; rss: 298MB llvm function passes [2q5257pdh5222n7q]
time: 0.001; rss: 298MB llvm module passes [2q5257pdh5222n7q]
time: 0.031; rss: 298MB codegen passes [1dqvxks6k2bzkxe]
time: 0.025; rss: 298MB codegen passes [2q5257pdh5222n7q]
time: 0.002; rss: 298MB llvm function passes [4gyy6jzsnyd1wkpq]
time: 0.029; rss: 298MB codegen passes [3hqog9w8xm9yaq16]
time: 0.001; rss: 298MB llvm module passes [4gyy6jzsnyd1wkpq]
time: 0.001; rss: 298MB llvm function passes [4z25l7yhw8jwymns]
time: 0.000; rss: 298MB llvm module passes [4z25l7yhw8jwymns]
time: 0.002; rss: 298MB llvm function passes [3m12ownkyh5rbrgo]
time: 0.001; rss: 298MB llvm module passes [3m12ownkyh5rbrgo]
time: 0.018; rss: 298MB codegen passes [4z25l7yhw8jwymns]
time: 0.001; rss: 298MB llvm function passes [49lx1q7cxvpykyv0]
time: 0.001; rss: 298MB llvm module passes [49lx1q7cxvpykyv0]
time: 0.052; rss: 298MB codegen passes [4gyy6jzsnyd1wkpq]
time: 0.030; rss: 298MB codegen passes [49lx1q7cxvpykyv0]
time: 0.041; rss: 298MB codegen passes [3m12ownkyh5rbrgo]
time: 0.002; rss: 298MB llvm function passes [4wk7l3tq8336z8oq]
time: 0.001; rss: 298MB llvm module passes [4wk7l3tq8336z8oq]
time: 0.001; rss: 298MB llvm function passes [1eldthk14htjpe8q]
time: 0.000; rss: 298MB llvm module passes [1eldthk14htjpe8q]
time: 0.001; rss: 298MB llvm function passes [oa3rad818d8sgn4]
time: 0.001; rss: 298MB llvm module passes [oa3rad818d8sgn4]
time: 0.019; rss: 298MB codegen passes [1eldthk14htjpe8q]
time: 0.020; rss: 298MB codegen passes [oa3rad818d8sgn4]
time: 0.000; rss: 298MB llvm function passes [1zeawhkbeobww1zn]
time: 0.000; rss: 298MB llvm module passes [1zeawhkbeobww1zn]
time: 0.001; rss: 298MB llvm function passes [2wy6gihek33unzzq]
time: 0.001; rss: 298MB llvm module passes [2wy6gihek33unzzq]
time: 0.048; rss: 298MB codegen passes [4wk7l3tq8336z8oq]
time: 0.001; rss: 298MB llvm function passes [3i5rga4vs82n6cyj]
time: 0.001; rss: 298MB llvm module passes [3i5rga4vs82n6cyj]
time: 0.025; rss: 298MB codegen passes [1zeawhkbeobww1zn]
time: 0.001; rss: 298MB llvm function passes [4oc10dk278mpk1vy]
time: 0.001; rss: 298MB llvm module passes [4oc10dk278mpk1vy]
time: 0.035; rss: 298MB codegen passes [2wy6gihek33unzzq]
time: 0.001; rss: 298MB llvm function passes [3lv604npd6fa7bb9]
time: 0.001; rss: 298MB llvm module passes [3lv604npd6fa7bb9]
time: 0.028; rss: 298MB codegen passes [4oc10dk278mpk1vy]
time: 0.038; rss: 298MB codegen passes [3i5rga4vs82n6cyj]
time: 0.019; rss: 298MB codegen passes [3lv604npd6fa7bb9]
time: 0.005; rss: 298MB llvm function passes [gamgf6n10b0b0d]
time: 0.001; rss: 298MB llvm module passes [gamgf6n10b0b0d]
time: 0.001; rss: 298MB llvm function passes [1lp1gf5ss8hjzpo7]
time: 0.000; rss: 298MB llvm module passes [1lp1gf5ss8hjzpo7]
time: 0.001; rss: 298MB llvm function passes [27m0uwtwfmnqpen1]
time: 0.001; rss: 298MB llvm module passes [27m0uwtwfmnqpen1]
time: 0.033; rss: 298MB codegen passes [1lp1gf5ss8hjzpo7]
time: 0.001; rss: 298MB llvm function passes [4bro8i2eu9dn8hoh]
time: 0.000; rss: 298MB llvm module passes [4bro8i2eu9dn8hoh]
time: 0.034; rss: 298MB codegen passes [27m0uwtwfmnqpen1]
time: 0.001; rss: 298MB llvm function passes [229xyyh7ct8bv2d0]
time: 0.000; rss: 298MB llvm module passes [229xyyh7ct8bv2d0]
time: 0.001; rss: 298MB llvm function passes [wiopcl4mxq9dzh]
time: 0.001; rss: 298MB llvm module passes [wiopcl4mxq9dzh]
time: 0.035; rss: 298MB codegen passes [4bro8i2eu9dn8hoh]
time: 0.001; rss: 298MB llvm function passes [3u6nccrq67gq4elp]
time: 0.000; rss: 298MB llvm module passes [3u6nccrq67gq4elp]
time: 0.030; rss: 298MB codegen passes [229xyyh7ct8bv2d0]
time: 0.028; rss: 298MB codegen passes [wiopcl4mxq9dzh]
time: 0.001; rss: 298MB llvm function passes [4nsssliqxrwywdh7]
time: 0.000; rss: 298MB llvm module passes [4nsssliqxrwywdh7]
time: 0.114; rss: 298MB codegen passes [gamgf6n10b0b0d]
time: 0.022; rss: 298MB codegen passes [4nsssliqxrwywdh7]
time: 0.035; rss: 298MB codegen passes [3u6nccrq67gq4elp]
time: 0.001; rss: 298MB llvm function passes [4xofagoc7mlaflgw]
time: 0.000; rss: 298MB llvm module passes [4xofagoc7mlaflgw]
time: 0.000; rss: 298MB llvm function passes [26secoe6hyf0by4w]
time: 0.000; rss: 298MB llvm module passes [26secoe6hyf0by4w]
time: 0.001; rss: 298MB llvm function passes [4enfahcapc0v7efs]
time: 0.000; rss: 298MB llvm module passes [4enfahcapc0v7efs]
time: 0.001; rss: 298MB llvm function passes [u3fpqyaix172plm]
time: 0.000; rss: 298MB llvm module passes [u3fpqyaix172plm]
time: 0.018; rss: 298MB codegen passes [26secoe6hyf0by4w]
time: 54.650; rss: 298MB codegen to LLVM IR
time: 0.000; rss: 298MB assert dep graph
time: 0.026; rss: 298MB codegen passes [4xofagoc7mlaflgw]
time: 0.023; rss: 298MB codegen passes [4enfahcapc0v7efs]
time: 0.001; rss: 298MB llvm function passes [spyjbt69vcsrx9q]
time: 0.000; rss: 298MB llvm module passes [spyjbt69vcsrx9q]
time: 0.000; rss: 298MB llvm function passes [4ams3bbhvdexg6a0]
time: 0.000; rss: 298MB llvm module passes [4ams3bbhvdexg6a0]
time: 0.019; rss: 298MB codegen passes [spyjbt69vcsrx9q]
time: 0.029; rss: 298MB codegen passes [u3fpqyaix172plm]
time: 0.016; rss: 298MB codegen passes [4ams3bbhvdexg6a0]
time: 53.608; rss: 298MB LLVM passes
time: 0.004; rss: 298MB encode_query_results for rustc::ty::queries::type_of
time: 0.000; rss: 298MB encode_query_results for rustc::ty::queries::generics_of
time: 0.000; rss: 298MB encode_query_results for rustc::ty::queries::predicates_of
time: 0.000; rss: 298MB encode_query_results for rustc::ty::queries::used_trait_imports
time: 0.002; rss: 298MB encode_query_results for rustc::ty::queries::typeck_tables_of
time: 0.006; rss: 298MB encode_query_results for rustc::ty::queries::codegen_fulfill_obligation
time: 0.001; rss: 298MB encode_query_results for rustc::ty::queries::optimized_mir
time: 0.000; rss: 298MB encode_query_results for rustc::ty::queries::unsafety_check_result
time: 0.000; rss: 298MB encode_query_results for rustc::ty::queries::borrowck
time: 0.000; rss: 298MB encode_query_results for rustc::ty::queries::mir_borrowck
time: 0.000; rss: 298MB encode_query_results for rustc::ty::queries::mir_const_qualif
time: 0.004; rss: 298MB encode_query_results for rustc::ty::queries::def_symbol_name
time: 0.000; rss: 298MB encode_query_results for rustc::ty::queries::const_is_rvalue_promotable_to_static
time: 0.012; rss: 299MB encode_query_results for rustc::ty::queries::symbol_name
time: 0.000; rss: 299MB encode_query_results for rustc::ty::queries::check_match
time: 0.002; rss: 299MB encode_query_results for rustc::ty::queries::codegen_fn_attrs
time: 0.039; rss: 301MB encode_query_results for rustc::ty::queries::specialization_graph_of
time: 0.414; rss: 301MB encode query results
time: 0.563; rss: 307MB serialize query result cache
time: 0.588; rss: 305MB persist query result cache
time: 0.041; rss: 307MB getting serialized graph
time: 0.289; rss: 326MB encoding serialized graph
time: 0.336; rss: 316MB encode dep-graph
time: 0.398; rss: 295MB persist dep-graph
time: 0.986; rss: 295MB serialize dep graph
time: 68.615; rss: 295MB codegen
time: 0.004; rss: 258MB serialize work products
time: 68.317; rss: 253MB running linker
time: 68.346; rss: 252MB linking
My impress is that the time was spent on generating code for the crates. I understand this is needed because we have generic versions of functions provided by the crates so the compiler will need to generate code for each of them.
But as it seems like every single line change requires the compiler to generate all codes from all crates, I feel there are a lot of space to enhance. Why can’t those generated code being cached and have some signature to identify themselves, so if the change of code does not affecting them just reuse them?
Also, the code generation seems took only 1 minute so it is only half of the story. The other half is “linking”, which is not divided into smaller parts. Is this just the time that gcc
runs? If so, I think it is worth to move the linking part to pure rust so we can apply the same cache for this step.
(for those who wanted to try the code - the code above is not actually working and is still in development, but the following is a working version - but still missing MIME type headers)
extern crate actix_web;
use actix_web::{server, App, HttpRequest, Responder, Result};
use actix_web::http::Method;
use actix_web::fs::NamedFile;
use std::path::PathBuf;
use std::fs::{metadata, create_dir};
fn public_dir(req: HttpRequest) -> impl Responder {
let r: Result<NamedFile> = (move || {
let mut p = PathBuf::new();
p.push("public");
let p1:PathBuf = req.match_info().query("tail")?;
p.push(p1);
println!("serving {:?}", p);
Ok(NamedFile::open(p)?)
})();
r
}
fn main() -> Result<()> {
metadata("public")
.or_else(|_| {
create_dir("public")?;
metadata("public")
})?;
server::new(|| {
App::new()
.resource("/{tail:.*}", |r| r.method(Method::GET).f(public_dir))
})
.bind("0.0.0.0:3010")
.expect("Cannot bind to port 3010")
.run();
Ok(())
}