I am very curious to see how it plays out. I've been waiting for a cloud ARM offering from a major provider for a while now (there have been some smaller but notable players like Scaleway, but demand seemed to always outrun supply, and I couldn't get VMs running near me in America.)
> If your application is written in a scripting language,
> odds are that you can simply move it over to an A1 instance
> and run it as-is. If your application compiles down to
> native code, you will need to rebuild it on an A1 instance.They're clearly putting a hundred-mile moat between them and cross-compilation from the start :D
I wonder what their support stance will be when confronted with customer cross-compile scenarios.
I doubt it's that hard if you're using a language with a reasonable cross-compile toolchain. That will probably influence choice of technology for new things aimed at this kind of performance envelope.
No doubt a lot of existing software will be left out by cross-compilation being too much of a pain.
I’ve spent a lot of time making cross-compile work for complicated builds. It can be tedious and frustrating fighting compilers and build systems to get it right.
Sometimes it is necessary because the target didn’t have a complete native toolchain, but other times because the target was just so incredibly slow for large builds.
I haven’t built anything with them, but these Arm servers appear to be neither of those two cases.
Put another way, there isn't anything in the base C spec which can provide a guaranteed memory ordering barrier, which is why you absolutely have to depend on 3rd party specifications to get those guarantees. For example, if a program is using pthreads or openMP, their synchronization primitives must be used as well to assure portability.
That isn't to say that given a particular piece of code and compiler/switches/version the resulting program is wrong, just that its quite possible changing compilers/flags may result in "incorrect" code generation.