Hi, for Intel processors, the renamer can detect instructions that will always result in a zero (zero-idioms or dependency breaking idioms). As a result, the renamer will not send the instruction to the execution engine.
Basically, just think of this as repointing your registers to a register that's always zero. Note this only appears for the value zero.
This is one of the reasons you're supposed to wipe out sensitive data with random numbers, not zeros.
Also note that your compiler may copy data to the stack whenever it wants to. So even wiping out data with random numbers may not wipe out the copied data that lives (momentarily) on the stack.
I'm speaking completely outside of my subject area, so take this with a large grain of salt but hear me out -- I think the video is great and success from the Kickstarter is proof of that.
But, I think a business needs to have solid distinguishing characteristics. An ad that basically says, "It's more durable and just a little more expensive, so if you do the math, it will work out in your favor after a long enough period of time" doesn't sound like you're playing your strongest cards in your hand.
If you can make a product that no one else can, such as 3-6 denier, or super-strong athletic compression tights, then you create name-brand distinction. Even if it means that the bulk of sales end up being what you just advertised in Kickstarter, the tail-ends of the market is what defines the brand. "Super-sheer, super-strong."
Regarding native cross-platform UI frameworks, isn't this what Xwt is supposed to be (https://github.com/mono/xwt)? There's no XAML non-sense and it's an object-oriented approach to building your UI, similar to Windows.Forms.
The primary benefit to it over something browser-based is start-up time. Since it's ultimately using native assemblies and there's no web server that needs to be spun up causing start-time lag.
Is anyone using Xwt? The NuGet packages for it are up-to-date (but don't have very many downloads), and the official forum for it seems very dead.
Basically, just think of this as repointing your registers to a register that's always zero. Note this only appears for the value zero.
This is one of the reasons you're supposed to wipe out sensitive data with random numbers, not zeros.
Also note that your compiler may copy data to the stack whenever it wants to. So even wiping out data with random numbers may not wipe out the copied data that lives (momentarily) on the stack.
https://webcourse.cs.technion.ac.il/234267/Winter2015-2016/h...