(no title)
DreadY2K | 5 years ago
Also, even if you're running against a VM, your VM is running on an ISA, so performance differences between them are still relevant to your code's performance.
DreadY2K | 5 years ago
Also, even if you're running against a VM, your VM is running on an ISA, so performance differences between them are still relevant to your code's performance.
ncmncm|5 years ago
The x86 memory model makes it increasingly hard to scale performance to more cores. That has not held up AMD much, mainly because people don't scale things out that don't perform well when they do, and use a GPU when that does better. In principle it has to break at some point, but that has been said for a long time. It is indefinitely hard to port code developed on x86 to a more relaxed memory model, so the overwhelming majority of such codes will never be ported.
wmf|5 years ago
astrange|5 years ago
Most code should just work, maybe with some tsan testing. There's other ways to test for nondeterminism e.g. sleep the different threads randomly.
It helps if you have a real end to end testsuite; for some reason all the developers I've met lately think unit tests are the only kind of tests.
saagarjha|5 years ago
This isn't true at all: other ARM cores have gone all the way to implement full sequential consistency. Plus, the ARM ISA itself is "good enough" to do efficient x86 memory model emulation as part of an extension to Armv8.3-A.