On Wed, May 08, 2013 at 11:45:45AM +0200, Torbjorn Granlund wrote: > Paolo Bonzini <pbonz...@redhat.com> writes: > > I guess that's the register windows. There's only so much you can do to > optimize them, and heavily recursive workloads (like Perl, or the RTL > half of GCC) pay a hefty price. > > Two qemu targets stand out for slowness, sparc (32 and 64) and mips (64, > don't know about 32). > > x86 (32 and 64), arm, and ppc run with a slowdown of < 30 for my bogus > benchmark of GMP configure+make. > > With FreeBSD x86_64 I see a slowdown of just 13. (My reference system > runs FreeBSD, so running FreeBSD under qemu is only far.) > > My claimed slowdown factors are affected by kernel, libraries, and > unfortunately very much by gcc speed, which vary with target. > > If the sparc emulation speed is due to register windows, then why does > mips seem just as slow?
I guess it's related to your benchmark, as it is not something really observed (though not scientifically) on other loads. How much memory do you need for it, couldn't it be that building GMP needs more than 256MB of RAM at some point and that the system starts swapping? -- Aurelien Jarno GPG: 1024D/F1BCDB73 aurel...@aurel32.net http://www.aurel32.net