Hacker News new | past | comments | ask | show | jobs | submit login

Is there any particular reason for LLVM being slow? Does it do a lot of complicated optimizations when generating code, or is it designed in a way that makes it slow?



I’ve heard it used to be lean and fast. Then new developers came in, new features were implemented, and it bloated over time. Thus it wasn’t designed in a way that makes it slow. It grew in a way that makes it slow.

Source: hearsay.


> I’ve heard it used to be lean and fast. Then new developers came in, new features were implemented, and it bloated over time.

That's basically the story of every single software project ever made.


Not only that, at the end of ISO C++ Standards Committee Panel Discussion,

https://www.youtube.com/watch?v=sf_3Vfh6yRA

Someone from the panel clearly mentions that clang and GCC have become slower as some big names have removed their support from the projects (most likely meaning Apple and Google).


A possible reason is the use of Static Single Assignment (SSA). While it makes many optimizations easier, it has to translate its IR out-of-SSA to generate code. This is very expensive as it needs computation of dominance on the Control Flow Graph, insert copies and much more. But it's just a guess.




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: