No announcement yet.

AMD Zen Scheduler Model Lands In LLVM, Makes It For LLVM 5.0

  • Filter
  • Time
  • Show
Clear All
new posts

  • #11
    Originally posted by schmidtbag View Post
    I actually wrote about Gentoo before submitting my post but that was kind of besides the point; it is too much of an exception.

    Thanks for the clarification. But it still gets me to wonder how much it is all worth it in the end. The reason for compiling for a single architecture is to make it run as efficiently as possible, to both reduce energy and save time when running the application. But if you are compiling something for just your hardware specifically, you are expending a lot of time and energy doing so. So to me, it is a diminishing return (unless the application in question is used frequently and doesn't update often). Meanwhile, you could always distribute the binaries, but then anyone who doesn't have your hardware probably won't see an improvement, or may even experience a regression.
    What you say is (mostly) true for most end-users, who typically use packages from their distribution, which are compiled for a common denominator so that it can run on most machines.

    I work for a company that writes performance-critical applications. We do not release these applications, and use them to compete against other companies doing the same thing. In our field, being a few nanoseconds faster or slower than our competitors can make the difference between making a lot of money or losing a lot of money. So we use all the tricks in the book to squeeze out as much performance as we can, including choosing very specific compiler flags .

    Another use-case would be HPC applications. They are typically written to run on clusters, and the programmer will most likely compile with custom flags for this cluster's CPUs