diff options
| author | Alex Crichton <alex@alexcrichton.com> | 2016-03-13 15:01:37 -0700 |
|---|---|---|
| committer | Alex Crichton <alex@alexcrichton.com> | 2016-03-15 17:32:34 -0700 |
| commit | 87ede2da549632de443859c8e08f0c977849d8b7 (patch) | |
| tree | 9d81fa91977735fda9457e1f6ff0d311413394e9 /src/rustllvm/ExecutionEngineWrapper.cpp | |
| parent | 74dfc1ddd9d6a9f541bc526c3401b92bcd16bd2b (diff) | |
| download | rust-87ede2da549632de443859c8e08f0c977849d8b7.tar.gz rust-87ede2da549632de443859c8e08f0c977849d8b7.zip | |
rustc: Improve compile time of platform intrinsics
This commit improves the compile time of `rustc_platform_intrinsics` from 23s to 3.6s if compiling with `-O` and from 77s to 17s if compiling with `-O -g`. The compiled rlib size also drops from 3.1M to 1.2M. The wins here were gained by removing the destructors associated with `Type` by removing the internal `Box` and `Vec` indirections. These destructors meant that a lot of landing pads and extra code were generated to manage the runtime representations. Instead everything can basically be statically computed and shoved into rodata, so all we need is a giant string compare to lookup what's what. Closes #28273
Diffstat (limited to 'src/rustllvm/ExecutionEngineWrapper.cpp')
0 files changed, 0 insertions, 0 deletions
