Did I say it was crime talking about Windows? I said there's a lot of defending of Windows and Mac bashing in that post.It’s not a crime to talk about Windows on these forums.
Last edited by a moderator:
Did I say it was crime talking about Windows? I said there's a lot of defending of Windows and Mac bashing in that post.It’s not a crime to talk about Windows on these forums.
You have no idea what you are talking about, Rosetta 2 and WoA are technically very similar and they both do translation. How long until you bring up more false trash like "M1 8GB = Intel 16GB"?That's true, but I was speaking more on Rosetta and translation, rather than emulation. It doesn't work on everything, but tranlation works really well when it does work. WOA doesn't do translation. (it does do some library based stuff, but it's a pale comparison to what Rosetta does. Not to mention that there's hardware there to support rosetta..
I see no evidence for WOA using translation, got any references for that?You have no idea what you are talking about, Rosetta 2 and WoA are technically very similar and they both do translation. How long until you bring up more false trash like "M1 8GB = Intel 16GB"?
And there is no evidence that there are any hardware optimizations for Rosetta on M1, the only thing I'm aware of is support for an alternate memory mode.
I see no evidence for WOA using translation, got any references for that?
As for the second, You say it yourself, the alternate memory mode. Rosetta wouldn't be as good without it.
From: https://www.infoq.com/news/2020/11/rosetta-2-translation/
"One major concern with Rosetta is performance. With the transition from PPC to x86, one factor slowing down Rosetta was the different byte ordering used by the two platforms, with PowerPC being a big-endian architecture, and x86 little-endian. While byte ordering is not a problem for the transition from x86 to ARM, another issue related to memory, namely the memory consistency model total store ordering (TSO), could hamper performance in this case. To prevent this from happening, Apple added support for x86 memory ordering to the M1 CPU, as Robert Graham noted on Twitter."
As for the 8G=16G, don't be daft.
I see no evidence for WOA using translation, got any references for that?
As for the second, You say it yourself, the alternate memory mode. Rosetta wouldn't be as good without it.
?I see no evidence for WOA using translation, got any references for that?
As for the second, You say it yourself, the alternate memory mode. Rosetta wouldn't be as good without it.
From: https://www.infoq.com/news/2020/11/rosetta-2-translation/
"One major concern with Rosetta is performance. With the transition from PPC to x86, one factor slowing down Rosetta was the different byte ordering used by the two platforms, with PowerPC being a big-endian architecture, and x86 little-endian. While byte ordering is not a problem for the transition from x86 to ARM, another issue related to memory, namely the memory consistency model total store ordering (TSO), could hamper performance in this case. To prevent this from happening, Apple added support for x86 memory ordering to the M1 CPU, as Robert Graham noted on Twitter."
As for the 8G=16G, don't be daft.
Interesting, thanks for the information.WOA seems to use translation. https://docs.microsoft.com/en-us/windows/uwp/porting/apps-on-arm-x86-emulation
“A service caches these translated blocks of code to reduce the overhead of instruction translation and allow for optimization when the code runs again. The caches are produced for each module so that other apps can make use of them on first launch.”
TSO is, in a sense, actually merely turning off a feature (memory access reordering), and while it certainly speeds up some apps in some situations, it‘s not a universal win (sometimes it speeds things up, and sometimes it could slow things down). It certainly makes emulation simpler, by preventing the need for memory blocks.
I stand corrected. That particular reference is a bit odd though. WOW64 is to run x86 apps on x64 systems seamlessly, and even my Windows machine has SYSWOW64. Perhaps it does both on an Arm machine.WOA uses x86 to ARM transpilation, same as Rosetta 2. This is a well known fact.
I agree WOA runs better than a pure emulator, I have no argument with that, but it doesn't seem to have some of the benefits of rosetta in my own usage. Live and learn.?
Hmm, what would you call a person trying to evaluate the performance of (pre-release) WoA x86(-64) emulation by running it in a limited virtual machine and then comparing it to Rosetta 2 running on bare metal? Daft?
?
That is correct. Windows has a lot of issues with memory ordering here. Their default strategy boils down to “let’s just hopes that it does not crash”. They have multiple transpilation modes, the most conservative of which seems to insert memory barriers everywhere.
One additional comment here, I've been running VM's for a VERY long time, esceciually Windows VM's, and WOA on my MBA is not as fast as even my lower end Windows PC's running VM's, even beta level OS's -- hence why I thought it was different than rosetta, as that runs really well on my MBA. So I really wouldn't call it daft as I was comparing VM performance to VM performance.?
Hmm, what would you call a person trying to evaluate the performance of (pre-release) WoA x86(-64) emulation by running it in a limited virtual machine and then comparing it to Rosetta 2 running on bare metal? Daft?
?
That is correct. Windows has a lot of issues with memory ordering here.
One additional comment here, I've been running VM's for a VERY long time, esceciually Windows VM's, and WOA on my MBA is not as fast as even my lower end Windows PC's running VM's, even beta level OS's -- hence why I thought it was different than rosetta, as that runs really well on my MBA. So I really wouldn't call it daft as I was comparing VM performance to VM performance.
Almost everything I run these days is x64..You also need to distinguish x64 and x86 emulation. Since x86 emulation being inherently harder than x64 emulation, the emulation performance of x64 hence is significantly faster. In addition x64 emulation does not go through a WoW64 layer. WoA only has 2 WoW instances one for x86 the other for ARM32.
Almost everything I run these days is x64..
It's not as compatible or as fast as I would expect, that's all.Then it is not clear to me, what your issue is.
It's not as compatible or as fast as I would expect, that's all.
Are you expecting native speed then? For x64 emulation we are looking around 60%-75% native or so - for x86 apparently less. And as i said earlier limitations and speed are very comparable to Rosetta 2 if we look at x64 emulation.
It’s obviously more performant, during translation, the more you rely on SDK calls, because those don’t need to be translated - the translator can just call the natively compiled routines.
But Rosetta 2 isn't actually an emulator is it? My understanding is the first time you launch the program Rosetta 2 does an analyze and recompile into native code and stores that code, then runs that native bundle thereafter.
No.Are you expecting native speed then?
That's really low balling it compared to my experience with Windows VM's on Windows, more like 80-90%. And maybe higher on some things. As long as you allocate enough RAM and have enough cores. I really don't see any difference on x86 vs x64 on Windows. Note that my experience is on x86/64 and Windows, so I agree my standards for VM's are high. They've been doing it a long time, and their Hypervisor is still the best one I've seen for PC level stuff.or x64 emulation we are looking around 60%-75% native or so - for x86 apparently less.
Very true. The "Force Multicore" does make it a bit more tolerable, but it really isn't a final solution at all.When we are looking at QEMU however, we are talking at orders of magnitude slower here.