Alexander Graf wrote: > Jamie Lokier wrote: > > Alexander Graf wrote: > >> I believe the 5% performance hit > >> that goes with them is no real problem, as most people should be using > >> x86_64 nowadays anyway. > > > > *Boggle*! x86_64 is only a few years old, and cheap low-power x86_64 > > laptops are relatively recent. > > > So you really want to do dynamic retranslation on ancient hardware?
I think you are using 'ancient' to mean what I call 'relatively recent'. I bought my current main machine just 1.5 years ago, and there were _no_ fast 64-bit low power laptop CPUs available at the time. I hardly call 1.5 years ancient. Now there are chips available, but the overall improvement isn't enough to justify paying to replace a good 1.5 year old machine yet. > To me emulated systems already feel slow on really recent machines, > I don't want to go back to something even slower. No problem with your experience, and you're right about the speed of course. I only object to generalising that, to say that nearly everyone _should_ be using x86_64 now, and (by implication) that x86_32 is no longer relevant and should get second class support. It seems to imply that only people who buy a new computer every 2 years (at most) use Qemu. But Qemu is used for lots of different things, and on lots of machines. It'll be a few more years before 32-bit Qemu users are a rarity, imho. > If you use kqemu there even is near no performance hit at all, which I > believe is the main use of qemu on i386 anyway. It's also the main use of Qemu on x86_64, so irrelevant point :-) > Furthermore x86_64 is _way_ faster, as it provides a lot more > registers. For some loads, x86_64 is slower because it uses more memory for pointers. But really, the actual relative speed of 32/64 x86 is quite offtopic. It's the idea that people "should" use x86_64 with Qemu and therefore 32-bit x86 should be a second class platform that I object to. I don't think it's time for that yet. > I think the benefit you get from cutting the gcc3 dependency is way more > important than a major performance hit that people will usually only see > on the next release of qemu, by which time things have shifted towards > x86_64 even more. This I agree with. Cutting the gcc3 dependency is good, even if it costs a little in performance. Clearly, the best performance would come from a different kind of code generation backend which understood the host CPU directly, not depending on GCC code fragments at all. -- Jamie