For similar instances of the same story, see: compilers, java, haskell, cuda, etc...
News at 10: you always pay a performance price when you use high level abstractions, aka you can't have your lunch and eat it too.
For similar instances of the same story, see: compilers, java, haskell, cuda, etc...
News at 10: you always pay a performance price when you use high level abstractions, aka you can't have your lunch and eat it too.
In most cases, "working code, fast" is more important than "fast working code".
That depends on who you ask. If you ask the people who are managing the schedules, whose job reviews and bonuses are tied to meeting a specific date? Yes, absolutely, performance is a "nice to have" as long as the dates don't "slip". Now ask the users, and the number one complaint I hear most often is "why is this thing so damned slow?"
Good point. My viewpoint is rather focused on numerical linear algebra, since I worked there and the article is about it. If you skim through the paper mentioned, in the article you can e.g. compare numpy and armadillo. You will see that the speedups from using a (arguably) much more complex C++ framework instead of numpy are marginal and will not be visible for the user. The increased production/maintenance costs due to a more complex code, will be visible for the user.