|
|
|
|
|
by pcwalton
4365 days ago
|
|
> First of all: no more than 1/3 to 1/2 of the time is spent in LLVM in this particular example. "translation" is mostly LLVM (in particular, allocation of LLVM data structures). > I do not know enough to have a definitive opinion of why this difference exists, but judging from the difference between C and C++, I wouldn't be surprised if it were related to Rust's complexity, which includes generics. If you look at the amount of code in a typical large Rust program that is related to generic instantiations, then it's pretty miniscule (less than 10%). Typechecking is known to be slow because the way we do method lookups is not well optimized. I don't believe that this is a fundamental issue; it's more that nobody has gotten around to improving it yet. |
|