Without being a domain expert, my intuition would be that PCIe is optimized for throughput over latency and there's probably a throughput compromise when you want low-latency access.
Yeah but DDR is starting to move to more complex modulations, CXL is bringing down PCIe latency, and PCIe is starting from a position of elevated competence when compared to other standards. For example, you might expect that PCIe obtains parallelism by sending different packets down different lanes but in fact it shreds packets across lanes specifically because of latency. When PCIe eats another standard, the average quality of the standards ecosystem generally goes up.
That said, memory latency is so important that even small sacrifices should be heavily scrutinized.
The best part about using nuclear for fuel generation is that you get to sidestep the biggest problem with nuclear - when you build a power plant you want to build it near people (who may object on safety grounds), but you can build a DAC fuel generator way out in the middle of nowhere.
Even better, you could build your nuclear DAC fuel generator in an old natural gas field, where there's ready-made transportation infrastructure for your product to where it's needed!
>The best part about using nuclear for fuel generation
The main point of this operation is to utilize free surplus energy from solar and wind to store fuel for days where solar and wind can't produce enough. Free-as-in-beer surplus, since the energy would otherwise be wasted or sold at negative prices, like what we have been seeing lately in certain markets.
Nuclear can always produce electricity, so converting to fuel has no benefits it's just a loss compared to using the electricity directly. Also, nuclear electricity is never free but always very expensive because you need a large amount of very highly educated people and expensive infrastructure to deal with it.
>you can build a DAC fuel generator way out in the middle of nowhere.
If things go very badly with a nuclear reactor, there's no such thing as a "middle of nowhere" that's far enough away. The fallout from Chernobyl made certain foods as far away as the arctic circle unsuitable for human consumption.
Nuclear can always produce electricity, but spinning plants up and down takes time. More importantly, a nuclear plant has a design lifetime, and most of the cost comes from building the plant in the first place, not from the fuel. It therefore costs a lot of money to let a nuclear plant sit idle. Furthermore, building a small nuclear plant is almost as expensive as building a large one, because of the regulatory hurdles and the effort needed to design it. So not building a nuclear plant as big as you possibly can has a cost as well. The difficulty is that you then need a consumer capable of using all that excess power, which necessitates putting it next to large population centers, who are likely to complain about the risk of nuclear. Being able to build a large reactor out in the middle of nowhere, and be able to rely on always having a consumer for its power even if at a very low price would make it much more viable.
>most of the cost comes from building the plant in the first place, not from the fuel.
I don't think that's correct. The costs of handling spent fuel is ongoing for an unknown amount of time. Eventually the running costs add up.
The main storage site in the UK (which admittedly does more than just store waste) costs around USD 3 billion per year, basically as much as building a new nuclear plant every 5 years.
Then you have unforeseen events that can drastically change the calculations. Like the Asse II mine in Germany where a storage site started leaking and has to be relocated at an estimated cost of at least 3.7 billion euro over the coming decades. After that is completed, the relocated waste will continue to cost money to handle as well.
Such cost are generally NOT included, or has a fraction of the true liability included, in the cost estimates of nuclear power.
When you take such things into account it quickly becomes clear that nuclear is not nearly as cheap as many have been lead to believe, but instead very expensive and very heavily subsidized.
Consider also that even if it were cheap, it is strategically (both in a military sense and for reliability) a bad idea to have few large power plants instead of many smaller ones. The most recent nuclear reactor in the EU has had several emergency stops already and causes severe stress on the grid since it provides such a large percentage of the total power.
Having a geographically diverse set of solar and wind plants combined with local batteries, gas generators and small peak-handling gas plants has to be a better solution than nuclear power. More resilient, cheaper and faster to build, easier to maintain, not to mention a much more predictable total cost.
Cheap blue LEDs will leak the dangerous parts of the UV spectrum. I've had projects hit import snags in the EU because they got spot checked - the overseas contract manufacturer used parts which were out of spec.
There's an area of memory into which variables with automatic storage duration are allocated at implementation-defined addrs, at any point exactly those variables have addresses.
> That doesn't sound like it lets me increment any stack address I want and store into the resulting pointer.
Why not?
> And are return values still on the same stack?
Other implementation-defined things might have addresses too, those things just aren't variables. I think you might be able to still allow inlining without UB if you make it implementation-defined per call-site what other things might get addresses.
The accepted proposal does address and preserve `auto`'s use as a storage class, so `auto x = foo(y);` means type deduction based on the return type of `foo`, and `auto int x = 10;` declares an integer with automatic storage duration.
Git does have tools that allow you to rewrite history to fix situations like this, but by far the easiest solution is to invalidate those credentials so they become worthless.
Interesting that your employer would be so zealous about it, my employer's written policy is "Always cooperate with security/customs. If they want your computer unlocked, unlock it. Your safety is more important than our secrets, just call corporate security when you're released."
Yeah, they kind of said that too, with the addition of "resist for a bit, don't immediately comply, only back off if there's no choice". But yeah, I get what you're saying. Don't think I'll ever sign such a contract again though.