"Welp, back to C because AMD's performance is overtaking ours."
"Welp, back to C because AMD's performance is overtaking ours."
https://www.reddit.com/r/Amd/comments/xvtn2u/amd_your_driver...
Truth is to have good drivers you need a lot of people and $$$, Nvidia has the upper hand on that.
In daily usage, I think I've found one issue with the AMD card, and a couple with the Nvidia card. What's worrying is that when filing bugs while using an Nvidia card, devs both times gave the pseudo-automated answer "we can't solve that, Nvidia drivers are closed source", which was wrong in one case.
In Windows, I've used all the cards for gaming only, and never had any issues.
None of you are mistaken.
https://www.slideshare.net/AdaCore/securing-the-future-of-sa...
Just look at the performance costs of bounds-checking array access in C++ code.
Or more macro, the performance impacs of AV tools or Windows Defender on your system
By that logic C/C++ doing no bounds checking speeds your code up?
It depends. The C programmer can choose to do the bounds checking in a for loop by just checking once before the loop begins, or once per iteration even if an array is accessed multiple times in the loop, or the safe language might have more overhead than a simple if statement in the C code. This can, of course, go the opposite direction (the safe language has verified the loop bounds, but the C programmer is checking before every array access). It's a battle between the C programmer and the designer and/or implementer of the safe language.
One of the reasons I like C is it gives you more control. This can be a good or a bad thing. This can lead to some really performant code you couldn't do in most languages or it can lead to some gnarly security problems. Maybe both in the same spot of code.
I use C to write mostly pet projects at home. I use it at work without having a choice in the matter.
If your compiler can prove you dont need bounds-checking it will remove the check and the performance would be the same. Hence, if your program has been proven to have no runtime errors you dont need them.
and in practice that is a very big "if"
Not necessarily. The linked blog talks about SPARK which is about running your code through theorem provers to mathematically formally verify that your code does the correct thing _in all instances_.
Once you have passed this level of verification - you can disable assertions and checks in the release version of the application (whilst of course - having the option of keeping them enabled in development releases).
The fundamental problem is that the voting and karma system actively incentivizes this kind of behavior. No amount of "did you read the article?" comments can counteract that force. All they do is increase the noise level even further.
As is making assumptious comment without reading the article, especially when the comment may be wrong. I think it's not only unhelpful, but actually harmful, because other people, who also jump straight to comment section, may form an opinion based on misinformation. Also, timbit42 did provide us with what they read in the linked content; unless they added it with an edit.
And if they need help accessing it, help can be arranged.