Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Ok, but that’s sw engineering issue.

I still insist that a production grade compiler can’t leave performance on table. Which is where the current battlefield is.



I think a production grade compiler not only can, but must, leave performance on the table when the cost is correctness (unless the performance gain is incredibly high and the correctness loss is minimal). Correctness is not all important, but it is the most important thing. Unfortunately, compiler writers do not agree and they do silly things like "let's assume UB cannot ever happen and optimize based on that".


Correctness is already a must, how did you arrive to this?


if only the gcc and llvm maintainers, and c standard authors, agreed with you


I mean these compilers build all these SW stacks, even this very browser I’m using, where are these correctness issues you are talking about?


there are new items in this category every day, but https://blog.cr.yp.to/20240803-clang.html is noteworthy


This is about optimizations affecting timing of cryptographic code, not correctness of computation, the argument for calling this a correctness bug in the compiler is quite weak I think.



yes, that


I do not agree in the general case. There are very useful DSL compilers which do not consider performance at all, but just compile to a target which does the optimization for them (JVM, LLVM IR or even just C)


Yes but those are called transpilers, right?


There is no fundamental difference between a compiler, transpiler and interpreter.

The techniques employed are very similar




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

Search: