|
It's a C++20 proposal, and I don't think it's a problem provided that the compiler does exactly as it's 🐘ing told. I've never used volatile and haven't read the proposal, but if some weenie involved with C++ standards submitted it, I must assume (perhaps mistakenly) that it's feasible.
|
|
|
|
|
volatile is deceptive. It has a very narrow legitimate use case and even then, there are better, safer, solutions.
|
|
|
|
|
Out of curiosity, what is the safer solution to keep the compiler from thinking it can optimize a memory read to a cached value in a register when the value at the address is being updated by something outside of the program the compiler knows about?
Did you ever see history portrayed as an old man with a wise brow and pulseless heart, weighing all things in the balance of reason?
Is not rather the genius of history like an eternal, imploring maiden, full of fire, with a burning heart and flaming soul, humanly warm and humanly beautiful?
--Zachris Topelius
Training a telescope on one’s own belly button will only reveal lint. You like that? You go right on staring at it. I prefer looking at galaxies.
-- Sarah Hoyt
|
|
|
|
|
You have identified the legitimate, narrow use case. However, even that is problematic, especially with modern CPUs (For instance, if the value in question is not memory aligned, especially true with structs. Also, the CPU itself may cache the value(s).)
The problem arises is devs thinking volatile guarantees atomicity and/or is a reliable way to do synchronization.
|
|
|
|
|
"Universal memory" is, in essence, a memory where the data is very robustly stored, but can also easily be changed; something that was widely considered to be unachievable—until now. I needed to post this before I forgot again.
I was going to go with some lyrics from Nina Hagen's "Universal Radio" (as that's what popped into my head first), but I realized that would probably be silly. But then I replaced it with a lame blurb, so ... meh.
Bonus points to them calling it ULTRARAM. I am sad that it doesn't seem to be an acronym though.
|
|
|
|
|
Kent Sharkey wrote: I realized that would probably be silly Are you losing the plot, or what?
An interesting enough article, which stupidly almost lost me with the headline ("new deadline"? WTF?) and the article-usage error in the first sentence of the second paragraph.Kent Sharkey wrote: Bonus points to them calling it ULTRARAM. I am sad that it doesn't seem to be an acronym though. It's wrong, then. No acronym, no capitals: "UltraRAM", "ultraRAM", "URAM", or "uRAM".
Of course, it doesn't matter, getting things like that right -- it's only communication, the enabler of every single advance and invention the human race has ever achieved, so we don't even need it, really; we can just go back to living in caves, and hitting hairy elephants with sticks.
I wanna be a eunuchs developer! Pass me a bread knife!
|
|
|
|
|
Beef is an open source performance-oriented compiled programming language which has been built hand-in-hand with its IDE environment. Oh. Here it is.
"Beef is a performance-oriented compiled programming language. The syntax and core library design derives from C#, but there are many semantic differences due to differing design goals. "
|
|
|
|
|
mmmm.... if beef is that... what is BACON?
M.D.V.
If something has a solution... Why do we have to worry about?. If it has no solution... For what reason do we have to worry about?
Help me to understand what I'm saying, and I'll explain it better to you
Rating helpful answers is nice, but saying thanks can be even nicer.
|
|
|
|
|
Nelek wrote: what is BACON? A thin subset of Beef. Can easily be incorporated into areas where a whole beef wouldn't fit.
"Five fruits and vegetables a day? What a joke!
Personally, after the third watermelon, I'm full."
|
|
|
|
|
Bacon is at the presentation level; Beef makes something edible, bacon makes it yummy
Director of Transmogrification Services
Shinobi of Query Language
Master of Yoda Conditional
|
|
|
|
|
[Lights pipe and settles back in the comfortable chair, in front of the fire]
I wonder if articles will still be written about it in 50 years' time, as they are with C.
[Coughs and splutters because he doesn't smoke]
I wanna be a eunuchs developer! Pass me a bread knife!
|
|
|
|
|
Wow.. this looks interesting...
|
|
|
|
|
show me the beef file
Caveat Emptor.
"Progress doesn't come from early risers – progress is made by lazy men looking for easier ways to do things." Lazarus Long
|
|
|
|
|
Sometimes, you have to convince people that you need to invest in refactoring in order to improve the quality of a piece of code in order to keep working with it. It keeps going faster and faster until you have no hope of finishing?
Or:
You always get the crooked pieces when you least need them?
|
|
|
|
|
Kent Sharkey wrote: It keeps going faster and faster until you have no hope of finishing?
Or:
You always get the crooked pieces when you least need them? Or:
Technical Debt Is like a game of Baldur's Gate
Or:
Technical Debt Is like The Masked Singer
Or:
Technical Debt Is like a thumb that's been sucked too much
The way he crushed, squeezed, and squashed the metaphor into the article demonstrates that the content of his articles probably depends on what the guy is into at the time.
[edit]
I just had to correct two inflection errors!
That's a bad, bad, bad day!
[/edit]
I wanna be a eunuchs developer! Pass me a bread knife!
modified 21-Jan-20 11:46am.
|
|
|
|
|
Technical debt is like articles by authors trying to sound intelligent and comment writers trying to be cleverly snarky who don't know how to end their comment....
|
|
|
|
|
These redesigned icons are based on Microsoft’s Fluent Design System and at present, they now appear only on the taskbar. "It's a beautiful mornin'"
|
|
|
|
|
Kent Sharkey wrote: "It's a beautiful mornin'" There's a bright golden haze on my eyeballs.
I wanna be a eunuchs developer! Pass me a bread knife!
|
|
|
|
|
The number of breaches reported each day continues to rise - and the number of significant fines is soon to follow. "Particle man, particle man Doing the things a particle can"
|
|
|
|
|
Is his formal name Sir Valence?
"the debugger doesn't tell me anything because this code compiles just fine" - random QA comment
"Facebook is where you tell lies to your friends. Twitter is where you tell the truth to strangers." - chriselst
"I don't drink any more... then again, I don't drink any less." - Mike Mullikins uncle
|
|
|
|
|
Bond. Covalent Bond.
TTFN - Kent
|
|
|
|
|
"the debugger doesn't tell me anything because this code compiles just fine" - random QA comment
"Facebook is where you tell lies to your friends. Twitter is where you tell the truth to strangers." - chriselst
"I don't drink any more... then again, I don't drink any less." - Mike Mullikins uncle
|
|
|
|
|
How ionic.
#SupportHeForShe
Government can give you nothing but what it takes from somebody else. A government big enough to give you everything you want is big enough to take everything you've got, including your freedom.-Ezra Taft Benson
You must accept 1 of 2 basic premises: Either we are alone in the universe or we are not alone. Either way, the implications are staggering!-Wernher von Braun
|
|
|
|
|
Kent Sharkey wrote: The number of breaches reported each day continues to rise - and the number of significant fines is soon to follow. Quite right!
Heavy fines should be imposed for breaching atomic covenants!
I wanna be a eunuchs developer! Pass me a bread knife!
|
|
|
|
|
Since the dawn of the aviation era, inventors have strived to build aircraft that fly as nimbly as birds, whose morphable wings allow for faster, tighter turns and more efficient gliding. Hopefully it doesn't do other things like a pigeon
|
|
|
|